串口调试的一些知识
1.来自 https://blog.csdn.net/weixin_36254931/article/details/117125632
*名 称: InitUart() 功 能: 串口初始化函数
* 名 称: UART0_ISR(void) 串口中断处理函数
* 描 述: 当串口0产生接收中断,将收到的数据保存在RxBuf中
****************************************************************************/
#pragma vector = URX0_VECTOR
__interrupt void UART0_ISR(void)
{
URX0IF = 0; // 清中断标志
RxBuf = U0DBUF;
}
****************************************************************************/
2.来自 https://blog.csdn.net/Fuyongtao123/article/details/8138363
在IAR编译器里用关键字来__interrupt来定义一个中断函数。用#pragma vector用来表示一个中断向量。具体用法如下所示:
#pragma vector = URX0_VECTOR
__interrupt void UART0_ISR(void)
{
URX0IF = 0; //清中断标志
char temp = U0DBUF;
}
中断向量是指中断服务程序的入口地址。在某些计算机中,中断向量的位置存放一条跳转到中断服务程序入口地址的跳转指令。
————————————————
3.来自 https://blog.csdn.net/weixin_36254931/article/details/117125632
* 名 称: DelayMS()
* 功 能: 以毫秒为单位延时
* 入口参数: msec 延时参数,值越大,延时越久
* 出口参数: 无
****************************************************************************/
void DelayMS(uint msec)
{
uint i,j;
for (i=0; i
for (j=0; j<1070; j++);
}
/****************************************************************************
4. 来自同1.3.位置
* 程序入口函数 void main(void)
5.来自 1.3.4.位置
* 名 称: UartSendString()
* 功 能: 串口发送函数
* 入口参数: Data:发送缓冲区 len:发送长度
* 出口参数: 无
****************************************************************************/
void UartSendString(char *Data, int len)
{
uint i;
for(i=0; i
{
U0DBUF = *Data++; //将数据读入缓存器中
while(UTX0IF == 0);
UTX0IF = 0; //UART0 TX中断标志初始置位0
}
}
4.8早
unsigned char *str是什么意思?答:是初始化一个 无符号 字符串;一个unsigned char (无符号字符型)的指针str。
column:列;line:排;行;const:恒量,常量。
显示屏的驱动API分为上层显示API和下层的SPI驱动API:驱动API还需要有图库和字库配合工作。
显示API的程序如下:
//2. 51单片机入门/6. 显示器实验/Workspace/code/HW_LCD/HAL_OLED/hal_oled12864.h
voidhalOLED12864Init(void); /////////初始化OLED12864显示器,在使用屏幕前必须先调用
voidhalOLED12864ClearScreen(void); ////////清除屏幕上显示内容
voidhalOLED12864ShowX16(unsigned char line,unsigned char column,const unsigned char*str);//////在屏幕上显示字符串;;注意:16×16汉字的字库需要先在此文件中定义FONT_TABLE_CHINESE_16×16
voidhalOLED12864ShowPicture(unsigned char x,unsigned char y,unsigned char picWidth,unsigned char picHeight,const unsigned char*pic);////////在屏幕上显示图片
4.8午
1.来自:https://blog.csdn.net/qq_63412763/article/details/124452822
https://www.jb51.net/article/237428.htm
https://wenku.baidu.com/view/031e5cf1de3383c4bb4cf7ec4afe04a1b071b08d.html?_wkts_=1680925233666&bdQuery=str%E5%9C%A8c%E8%AF%AD%E8%A8%80%E4%B8%AD%E7%9A%84%E7%94%A8%E6%B3%95
https://www.yzktw.com.cn/post/557383.html
这里面都写的非常详细,可以一看。
sprintf函数调用的主要用途就是把一个字符串放在一个已知的字符数组里去。其实这是一个很常用的库函数,在解决某些OJ题的时候会经常用到它来帮助实现字符串的转移和储存。
str是C语言中非常重要的字符处理函数之一,它可以将其他类型的数据转换为字符串类型,方便我们在程序中进行字符串的操作。
例子:有strlen,strcmp ,strcpy,等等等等都是str+缩写字符构成的函数,可以多了解
2.char截图来自:https://wenku.baidu.com/view/7b5da8ad87868762caaedd3383c4bb4cf7ecb71b.html?_wkts_=1680926519924&bdQuery=char%E5%9C%A8c%E8%AF%AD%E8%A8%80%E4%B8%AD%E7%9A%84%E7%94%A8%E6%B3%95