OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 3662|回复: 3

串口数据是否发送完成

[复制链接]

19

主题

54

帖子

0

精华

初级会员

Rank: 2

积分
159
金钱
159
注册时间
2013-7-22
在线时间
3 小时
发表于 2015-6-8 10:18:20 | 显示全部楼层 |阅读模式
5金钱
串口发送完成的程序语句:
USART_GetFlagStatus(USART1,USART_IT_TC) 和 USART1->SR&0X40
比如我要发送数据buffer[10] = {0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x10};
这两条语句什么时候别置位,有什么区别吗?
自我感觉,USART1->SR&0X40是发送一个字节(如0x01)后置位
USART_GetFlagStatus(USART1,USART_IT_TC)是发送完成所有数据如buffer[10]后置位。
不知是否正确,还请高手指教,在此谢过。。。

如果不开启发送完成中断,这条语 USART_GetFlagStatus(USART1,USART_IT_TC) 可以使用吗?

如果我的理解错误的话,那么怎么判断串口是否将buffer[]发送完成呢?换句话说就是如何判读串口处于空闲状态还是忙状态?

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

70

主题

6763

帖子

0

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
13129
金钱
13129
注册时间
2012-11-26
在线时间
3814 小时
发表于 2015-6-8 10:27:34 | 显示全部楼层
既然是你自己发的,你显然知道要发的内容长度,循环发送单字节,直到结束
学无止境
回复

使用道具 举报

19

主题

54

帖子

0

精华

初级会员

Rank: 2

积分
159
金钱
159
注册时间
2013-7-22
在线时间
3 小时
 楼主| 发表于 2015-6-8 11:14:48 | 显示全部楼层
回复【2楼】jermy_z:
---------------------------------
我的程序是串口2和串口3接收数据,接收到数据后用串口1发送出去,为了避免串口2、3的数据使用串口1发送时起冲突,所以得判断串口1的状态,顺便说一下,我使用的是DMP发送方式。
回复

使用道具 举报

70

主题

6763

帖子

0

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
13129
金钱
13129
注册时间
2012-11-26
在线时间
3814 小时
发表于 2015-6-8 13:55:17 | 显示全部楼层
回复【3楼】有一点心动杜:
---------------------------------
好像很高端的样子  听不懂 呵呵 帮顶
学无止境
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-21 13:21

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表