串口初始化第一步,配置波特率,波特率是和时钟相关的,因此首先要配置时钟,时钟的配置参见上一篇博客。stm8s主时钟设置
如果在串口初始化中,如果串口时钟没有打开,请在主时钟配置中打开串口时钟。
配置波特率,stm8s的波特率,时钟,波特率寄存器值的计算相比avr和51又是巨大的进步,stm8s算波特率寄存器值只要Fmaster/波特率就可以了,不需要加加减减。
但是在写入寄存器时需要注意。
一,先写BBR2,再写BBR1。
二,BBR2写的是高四位和低四位,BBR1是中间八位,例如,Fmaster = 8 mhz,波特率1200,求得BBR寄存器值为8000000/1200 = 0x1A0A,那么写入寄存器的值就是BBR2=1A,BBR1=A0,顺序和数字都不能错。
波特率搞定了,下面就是串口数据帧的配置,串口数据的具体协议,这里不再多加描述。
需要注

本文介绍了STM8S单片机如何进行串口初始化,包括波特率计算、时钟配置、数据帧设置。STM8S的波特率计算相对简单,但写入寄存器时需遵循特定顺序。在配置数据帧时,STM8S将校验位视为数据位,仅支持8位数据+1位校验位或9位数据无校验的格式。文中还提供了串口初始化的源码,并提到了中断处理的注意事项,如中断函数的位置和接收标志位的清除。
最低0.47元/天 解锁文章
718

被折叠的 条评论
为什么被折叠?



