这里要感谢STM32和waluntcy的帮助才得以让 此问题解决。
首先说明一下,的确,stm32串口支持的格式数据位只有8位和9位,停止位的话可以有0.5,1.5和2位的设置。这里要说说数据位和奇偶校验位的联系了。
看这个图片吧:
这个图片是stm32的参考手册上面给出的数据格式。很清楚的就看出,真个数据域(不知道这么说对不对)包含了数据和奇偶校验位,所以,当我把串口设置成8位数据位,偶校验的时候,其实数据总长度只有8位,包含了奇偶校验位。所以,在串口调试助手这边,就会有时候丢掉一部分字符。
有了上面的分析,我想,不难知道串口通信的根本原因了。哈哈,看看串口调试助手设置和接收到的字符吧。
和预期要发送的字符串一致了。另外我也试过了无奇偶校验的情况,比有奇偶校验的要简单。哈哈,闲话少说,给个这个程序的例子好了。
模板是我自己建立的,如果大家需要,我可以为大家建立一个标准的模板。模板设置可是个头疼的事情哦。
lzy20001019_570066786 2013-7-29 22:25
用户426575 2012-12-19 14:17
用户1337079 2008-9-22 01:12
walnutcy_696810119 2008-8-27 01:14
用户154657 2008-8-12 10:47
用户1393719 2008-8-12 09:44
用户619968 2008-8-12 08:29
用户131105 2008-2-8 12:05
用户129362 2008-1-19 20:09
有空,留个联系方式,向你多学点东西!
我的QQ:754129865