原子哥,看你视频stm32用ucos时间片轮转的时候,出现过时间片分配太少就出现串口异常的问题

2019-08-20 16:55发布

原子哥,看你视频stm32用ucos时间片轮转的时候,出现过时间片分配太少就出现串口异常的问题
我这stc12c5A60s2有个也出现了这样的问题  要么丢帧 ! 要么重复帧!   
我这stc没用到操作系统,就ADC测电压然后串口给上位机返回数据    请问是什么原因?  如图:
       1.jpg   
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
5条回答
fei12345
2019-08-21 00:31
zuozhongkai 发表于 2017-4-13 15:23
你这个应该是没有检查串口数据是否发送完成就紧接着发送第二次数据了

         if (TI)  //字节发送完毕
                {
                        TI = 0;   //清零发送中断标志位
                        flagTxd = 1;  //设置字节发送完成标志
                }               
               
               
                if(RI)
                {
                   RI=0;    // 接收一个字节,就产生一次中断RI   复位接收中断寄存器
                   g_DatRev[count]=SBUF;                       

································

                while (len--)   //循环发送所有字节
                        {
                                flagTxd = 0;      //清零发送标志
                                SBUF = *buf++;    //发送一个字节数据
                                while (!flagTxd); //等待该字节发送完成
                       
                        }
检测了RI 和TI 位 的呀,   每帧数据也是检测了的呀         最后半个停止位也延时了的    没找到原因,请问怎么处理?

一周热门 更多>