stm8s 串口通讯源码程序(8位数据,奇校验,2个停止位)

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

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

串口初始化第一步,配置波特率,波特率是和时钟相关的,因此首先要配置时钟,时钟的配置参见上一篇博客。stm8s主时钟设置

如果在串口初始化中,如果串口时钟没有打开,请在主时钟配置中打开串口时钟。

配置波特率,stm8s的波特率,时钟,波特率寄存器值的计算相比avr和51又是巨大的进步,stm8s算波特率寄存器值只要Fmaster/波特率就可以了,不需要加加减减。


但是在写入寄存器时需要注意。

一,先写BBR2,再写BBR1。

二,BBR2写的是高四位和低四位,BBR1是中间八位,例如,Fmaster = 8 mhz,波特率1200,求得BBR寄存器值为8000000/1200  =  0x1A0A,那么写入寄存器的值就是BBR2=1A,BBR1=A0,顺序和数字都不能错。

 


波特率搞定了,下面就是串口数据帧的配置,串口数据的具体协议,这里不再多加描述。

需要注

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值