打印

串口通讯发送多个字节

[复制链接]
4506|23
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
栩栩如生|  楼主 | 2015-3-26 21:33 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
沙发
supernan| | 2015-3-26 21:33 | 只看该作者
我也对这个困惑过,必须等MCU发送完成吗?

使用特权

评论回复
板凳
栩栩如生|  楼主 | 2015-3-26 21:34 | 只看该作者
是啊,而在接收多个字节的时候,我到是比较容易想通,因为收到一个字节后,直到下一个字节收完为止,这段时间MCU可以去做其它事情,但是发送的时候是什么样的机制呢?

使用特权

评论回复
地板
renyaq| | 2015-3-26 21:35 | 只看该作者
可以开个缓冲用中断发.

使用特权

评论回复
5
小小猫咪| | 2015-3-26 21:36 | 只看该作者
发送和接收都有相应的中断标志位,发送完自动值位,查询相应标志位即可。

使用特权

评论回复
6
zwll| | 2015-3-26 21:37 | 只看该作者
所谓发送就是把要发送的数据写入SBUF
所谓接受就是从SBUF读取数据

使用特权

评论回复
7
houcs| | 2015-3-26 21:38 | 只看该作者
在处理器发送数据时,应该进行设置一些标志位,我觉得可以做其它事。

使用特权

评论回复
8
liuzaiy| | 2015-3-26 21:41 | 只看该作者
是的,这些指令占用的时间太少了 无非就是一个或者几个机器周期嘛
当然之前会有一些配置的操作

使用特权

评论回复
9
pangb| | 2015-3-26 21:42 | 只看该作者
至于是低波特率还是高波特率并不会影响这个操作

使用特权

评论回复
10
chenjunt| | 2015-3-26 21:43 | 只看该作者
不你不需要等待发送完成信号的话 就可以做别的了

使用特权

评论回复
11
chenjunt| | 2015-3-26 21:44 | 只看该作者
是,数据串行出去或者串行接受的过程都是有硬件本身完成的 完成之后会置位相关的标志位

使用特权

评论回复
12
ousj| | 2015-3-26 21:45 | 只看该作者
如果中断允许会引起相关中断
编程的时候要合理安排任务的运行

使用特权

评论回复
13
zwll| | 2015-3-26 21:45 | 只看该作者
避免发送数据流时不要搞得不连续

使用特权

评论回复
14
小小猫咪| | 2015-3-26 21:46 | 只看该作者
是,还得避免接受数据流时不要造成数据覆盖

使用特权

评论回复
15
supernan| | 2015-3-26 21:49 | 只看该作者
波特率太低的话,可以用中断发。

使用特权

评论回复
16
chuxh| | 2015-3-26 21:51 | 只看该作者

差不多这些了,楼主总结下就行了

使用特权

评论回复
17
juventus9554| | 2015-3-26 21:51 | 只看该作者
如果有缓存的话 那就不需要等待了

使用特权

评论回复
18
司徒老鹰| | 2015-3-26 21:52 | 只看该作者
一般不会的
串口是独立的吧,一般设定一个字节中断一次
接受过程中
cpu自己个人会运行
只有标志位来了才做响应的处理!!!!!!!!!!!!

使用特权

评论回复
19
llljh| | 2015-3-26 21:52 | 只看该作者
在单片机接受数据或者发送数据时   通过开启sbuf缓冲中断   可以让单片机去做别的事情   当标志位到来时   触发中断   单片机继续执行数据接受或发送任务   呵呵

使用特权

评论回复
20
dingy| | 2015-3-26 21:54 | 只看该作者
就不能把波特率提高吗,一般接受的时候没法做其他事

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

310

主题

2657

帖子

0

粉丝