串口通信

[复制链接]
649|13
 楼主| liliang9554 发表于 2018-5-18 11:16 | 显示全部楼层 |阅读模式
现有96位的数据要发送,设定的帧格式为1位起始位,8位数据位,1位停止位。发送时单片机是不是自动将这96位数据分成12个数据帧,每个帧位1位起始位8位数据位,1位停止位进行依次发送?
午夜粪车 发表于 2018-5-18 11:19 | 显示全部楼层
差不多
 楼主| liliang9554 发表于 2018-5-18 11:22 | 显示全部楼层
假如A设备要发96位的数据给430单片机,A设备的帧格式是1位起始位,8位数据位,1位停止位(这个是A设备设定好的,不能再改动了)。再将单片机的串口通信帧格式也设定为1位起始位,8位数据位,1位停止位后,此接收过程是什么样的?
zhaoxqi 发表于 2018-5-18 11:24 | 显示全部楼层
没看明白
 楼主| liliang9554 发表于 2018-5-18 11:27 | 显示全部楼层
即这96位数据是只在一次串口接收中断中就能全部接收完毕(用一个for循环语句进行接收),还是经过12次串口通信(每接收一帧产生一次中断)这样进行接收??
huangchui 发表于 2018-5-18 11:31 | 显示全部楼层

首先看你这96位数据的来源
jiajs 发表于 2018-5-18 11:34 | 显示全部楼层
对,如果本身是字节型的,那么一字节一字节的依次放入串口寄存器进行发送
zhanghqi 发表于 2018-5-18 11:36 | 显示全部楼层
如果是外部连续的96位脉冲之类的本身并无分割的信号,那么需要先用程序进行分割,96位就是12字节,然后同样依次发送即可。
zhenykun 发表于 2018-5-18 12:11 | 显示全部楼层
接收时如果使用中断,对于96位数据当然要分为12次,也就是需要执行12次中断后才能完成。
wyjie 发表于 2018-5-18 12:13 | 显示全部楼层

看完楼主的介绍的,你是想做模拟的串口?
huangchui 发表于 2018-5-18 12:17 | 显示全部楼层
一字节一字节的依次放入串口寄存器进行发送
jiajs 发表于 2018-5-18 12:20 | 显示全部楼层

单步运行一下就知道了,必须是覆盖呢
zhanghqi 发表于 2018-5-18 12:23 | 显示全部楼层
先用程序进行分割,96位就是12字节,然后同样依次发送
dengdc 发表于 2018-5-18 12:26 | 显示全部楼层

如果本身是字节型的,那么一字节一字节的依次放入串口寄存器进行发送
您需要登录后才可以回帖 登录 | 注册

本版积分规则

950

主题

11568

帖子

6

粉丝
快速回复 在线客服 返回列表 返回顶部