打印

急求解答 mspp430模拟串口通信

[复制链接]
1529|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
cshij2009|  楼主 | 2012-2-28 10:05 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
设计要求:一个芯片循环发送0到255的数据,另一个芯片当有按键的时候,接收三个数据。
遇到的问题:接收到的数据应该是连续的,现在是有时三个数据连续,有时侯不连续。找不到问题!!!
//按键之后,开始发送数据
interrupt (PORT1_VECTOR) Port1 (void)
{
  Bitcnt =0xA;
  CCR0 =TAR;
  CCR0 +=Bitime;
  data=0;
  Txdata =data;
  Txdata |=0x100;
  Txdata =Txdata <<1;
  data++;
   CCTL0 |=OUTMOD0 + CCIE;
   P1IFG &=~BIT7;

}

//TA0IV发送中断
interrupt (TIMERA0_VECTOR)Timer_A0(void)
{
CCR0 +=Bitime;
if (bitcnt ==0)
  {
    Bitcnt =0xa;
    Txdata =data;
    Txdata |=0x100;
    Txdata =Txdata <<1;
    data++;
  if(data ==0x100)
      data=0x00;
  }
else
   {
       if (Txdata &0x01)
               CCTL0 &=~OUTMOD_TOGGLE;
       else
              CCTL0 |=OUTMOD_TOGGLE;
      Txdata =Txdata >>1;
       Bitcnt --;
   }
}

//接收中断
interrupt (TIMERA0_VECTOR)Timer_A0(void)

{
  CCR0 +=Bitime;
  if(CCTL0&CAP)
   {
       CCTL0& =CAP;
       CCTL0 +=Bitime_5;
   }
else
  {
     RXData =RXData >>1;
     if (CCTL0&SCCI)
             RXData |=0x10;
    Bitcnt --;
   if (Bitcnt ==0)
     {
       Bitcnt =0x08;
       CCTL0 |=CAP;
       Data [num++] =RXData ;
       if (num==3)
          {
             num=0;
              CCTL0 & =~CCIE;

            }
     }

   }
}

相关帖子

沙发
coody| | 2012-2-28 11:05 | 只看该作者
强大的MSP430没有硬件串口?

使用特权

评论回复
板凳
cshij2009|  楼主 | 2012-2-28 11:13 | 只看该作者
我用的是MSP430F413没有硬件串口

使用特权

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

本版积分规则

1

主题

73

帖子

0

粉丝