发新帖我要提问
12
返回列表
打印
[51单片机]

请教51单片机使用串口中断发送和非中断发送有什么区别啊?

[复制链接]
楼主: fasm
手机看帖
扫描二维码
随时随地手机跟帖
21
djz1992| | 2017-5-2 13:04 | 只看该作者 回帖奖励 |倒序浏览
datouyuan 发表于 2017-5-2 11:04
串口中断发送可能每个人做法不一样,相对又复杂,仅靠文字不好描述。
串口中断发送不管用不用485,也要判 ...

谢谢你的回复

使用特权

评论回复
22
jackhwang| | 2017-5-2 15:02 | 只看该作者
djz1992 发表于 2017-5-2 10:27
对啊,这我也知道,具体是怎么判断此次数据是否发送完毕,通过什么来判断 ...

每次发送数据的长度是确定的,那每进一次发送中断作一次计算。比如:这次发送数据长度为5,那进中断一次就减1,当减为0时就表示发完了。

使用特权

评论回复
23
djz1992| | 2017-5-2 16:52 | 只看该作者
datouyuan 发表于 2017-5-2 11:04
串口中断发送可能每个人做法不一样,相对又复杂,仅靠文字不好描述。
串口中断发送不管用不用485,也要判 ...

我找到了案例中的发送语句,中断发送也是一个字节一个字节发的,所以在每一个字节的发送前后都开关一次。不知道GPIO的拉高和拉低是否来得及?
GPIO_SetBits(GPIOB,GPIO_Pin_0);//拉高进入发送
USART_SendData(_pUart->uart, _pUart->pTxBuf[_pUart->usTxRead]); //发送一个字节
GPIO_ResetBits(GPIOB,GPIO_Pin_0);//拉低

使用特权

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

本版积分规则