导航: 老古网老古论坛XMOS公共讨论区XMOS开源项目区单片机程序设计嵌入式系统广告区域
→我采用外中断接收遥控器数据,为何接收不到?(见内)

* 25635: 我采用外中断接收遥控器数据,为何接收不到?(见内)

   boysen 
boysen发表的帖子 

 我采用外中断接收遥控器数据,为何接收不到?(见内)
硬件:遥控芯片m50462,接收头数据线接INT1脚。
M50462是根据一个脉冲的长短来区分0和1。低电平均为0.26ms,0的高电平为0.79ms,1的高电平为1.84ms.
思路:下降沿到来,进入中断,每次接收一位。接收完16位(第17个下降沿到来)对数据处理。
出现的问题:进入了中断,但是没有接收到数据。请教大侠。
void getbit(void) interrupt 0
     {
    EX1=0;      //关掉外部中断    
    number=number+1;
    count=TH0;   //保存上一个脉冲计数值(高位)
    TR0=0;       //关掉上一个脉冲的计数
       TH0=0X00;    //重新开始计数
    TL0=0X00;
    TR0=1;       //启动计数器
    if (number==1)
       {
      goto kk;   //第一个下降沿到来时只计数,不处理
    }
    //判断上一个脉冲长度
    if (count>  0 && count  <6) //"0"值
       {
      key>  >  =1;
    }
       else if (count>  5 && count   <11)  //"1"值
    {
      key>  >  =1;
   key=key+0x8000;
    }
       if (number==17)     //一帧的最后一个下降沿,对接收到的数据进行处理
       {
      //拆分key
   keyH=key%0x100;   //高8位
   keyL=key/0x100;   //低8位
   buf[0]=0x34;//keyH;
   buf[1]=0x45;//keyL;
   goto kk;
    }
 kk:   EX1=1;               //重新开外部中断       
  }

发表时间:2003年4月16日17:38:14

  
回复该帖

本主题共有 26 帖,分页:>>>>>该主题的所有内容[26]条

 *树形目录 只列出部分跟帖的标题以及简单的摘要信息 该主题的部分跟帖如下:

  25639.[详细]number是在外部清0的吗?
摘要:......(无内容)
- [huzimax][1211次] 2003年4月16日

  25640.[详细]不好意思,少写了一句,在number==17后,number=0;
摘要:......(无内容)
- [boysen][1164次] 2003年4月16日

  25642.[详细]我有一个问题:如果在没有信号的时候,你接收头输出是高还是低?
摘要:尽管你设置的外部中断是沿触发,但如果一直处于低电平时,很容易误动作......(66字)
- [huzimax][1162次] 2003年4月16日

[上一篇帖子]:谢谢!还有X24C45的么?对的,对的!我本来是想打X25045的!不过还有一个X24C45,一下子
[下一篇帖子]:呵呵,这个也要解释复位后,I/O为“1”,Q截止,BELL无电流流过; I/O输出为&quo