[STM8] stm8l串口发送不定长数据

[复制链接]
1769|10
 楼主| RF、龙龙 发表于 2016-6-14 17:26 | 显示全部楼层 |阅读模式
哪位大神用过串口发送不定长数据呀,碰到点问题,发送的数据老师一次正常一次不正常,不知道什么原因,大神帮忙看看 谢谢
chTmp = USART1_DR;//并行数据寄存器
     USART_TX_BUF[USART_TX_CNTS++] = chTmp;//一个字节的数据
     if(USART1_SR_IDLE==1)
     {
           Usart_WriteData(USART_TX_BUF,USART_TX_CNTS);
           USART_TX_CNTS=0;
           for(m=0;m<32;m++)
             USART_TX_BUF[m]=0;
      }
这是串口接收中断函数,这样写有问题吗,先不要考虑大数据
neeringstu 发表于 2016-6-14 17:55 | 显示全部楼层
收发只能是一次一个字节吧?
捉虫天师 发表于 2016-6-14 18:13 | 显示全部楼层
普通的发送,要按字节来。高大上的就是DMA了。
 楼主| RF、龙龙 发表于 2016-6-14 18:32 | 显示全部楼层
neeringstu 发表于 2016-6-14 17:55
收发只能是一次一个字节吧?

不确定的数据  这样写有问题吗
 楼主| RF、龙龙 发表于 2016-6-14 18:33 | 显示全部楼层
捉虫天师 发表于 2016-6-14 18:13
普通的发送,要按字节来。高大上的就是DMA了。

本来打算用DMA来着  结果高了两三天DMA没搞通就放弃了
mmuuss586 发表于 2016-6-14 18:41 | 显示全部楼层
发送没啥问题啊,不过你这串口接收中断程序写的太复杂了
Brand2 发表于 2016-6-14 19:30 | 显示全部楼层
不是按字节发送的吗,怎么不定长
 楼主| RF、龙龙 发表于 2016-6-15 08:44 | 显示全部楼层
Brand2 发表于 2016-6-14 19:30
不是按字节发送的吗,怎么不定长

按字节发送的  但是不定长
捉虫天师 发表于 2016-6-19 22:32 | 显示全部楼层
不定长,那就设置个结束符号啊,每次遇到结束符号就收工。
捉虫天师 发表于 2016-6-19 22:42 | 显示全部楼层
 楼主| RF、龙龙 发表于 2016-6-21 12:45 | 显示全部楼层
好的   谢谢各位了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

38

主题

173

帖子

0

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