【STM8教程】UART应用 STM8的C语言编程(8)-- UART应用 串口通讯也是单片机应用中经常要用到,今天的实验就是利用STM8的UART资源,来进行 串口通讯的实验。 实验程序的功能是以中断方式接收串口数据,然后将接收到的数据以查询方式发送到串 口。程序代码如下,首先要对STM8的UART进行初始化,初始化时要注意的是波特率寄存 器的设置,当求出一个波特率的分频系数(一个16位的数)后,要将高4位和低4位写到 BRR2中,而将中间的8位写到BRR1中,并且必须是先写BRR2,再写BRR1。 同样也是利用ST的开发工具,生成一个C语言的框架,然后修改其中的main.c,同时由于 需要用到中断服务,因此还要修改stm8_interrupt_vector.c。 修改后,编译连接,然后下载到开发板上,再做一根与PC机相连的线,把开发板的串口 与PC机的串口连接起来,注意,2、3脚要交叉。 在PC机上运行超级终端,设置波特率为9600,然后每按下一个按键,屏幕上就显示对应 的字符。 修改后的main.c和stm8_interrupt_vector.c如下: // 程序描述:初始化UART,以中断方式接收字符,以查询方式发送 // UART通讯参数:9600bps,8位数据,1位停止位,无校验 #include "STM8S207C_S.h" // 函数功能:初始化UART // 输入参数:无 // 输出参数:无 // 返 回 值:无 // 备 注:无 void UART3_Init(void) { LINUART_CR2 = 0; // 禁止UART发送和接收 LINUART_CR1 = 0; // b5 = 0,允许UART // b2 =……