打印

PIC18F452串口不能发送固定长度数据问题

[复制链接]
1408|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
sinc_mark|  楼主 | 2013-3-28 20:24 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
使用18f452,设定定时器,想在固定的时间内,发送一帧数据,串口初始后,使用低等级的中断发送,现在的情形就是,有时候能进入中断发送,并能发送出数据,长度也正确,但通常是几次后就会一次性的发送很多数据,导致程序跑飞;有时候不能进入串口发送;在串口中断处理中,我是如此

void low_isr(void)
{
if ((PIR1bits.TXIF)&&(PIE1bits.TXIE))
{
  
     if(sentcnt>1)
    {
     TXSTAbits.TXEN = 0;
     return;
    }
    else
   {
     sentcnt++;
     TXREG = *(++sendpoint);
     while(!TXSTAbits.TRMT);
//  Nop(); Nop(); Nop();
//  return;  
  }
}
}
这个是网上很多人的举例,我就不知道是哪里的设置问题,可能会导致在sentcnt》1后还继续发送数据,请大家给些建议,谢谢!


沙发
yewuyi| | 2013-3-29 09:45 | 只看该作者
请不要重复发贴,已经在其它帖子中回复过了,请自行参阅

使用特权

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

本版积分规则

个人签名:教育,就是把娃围起来,一期一期的收钱。 医疗,就是把命围起来,一天一天的收钱。

47

主题

301

帖子

0

粉丝