打印
[其他产品]

用中断将接收的数据按顺序存放在数组中,但用串口将数据发送到电脑中时,顺序就乱了?

[复制链接]
97|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
powerantone|  楼主 | 2025-3-9 11:23 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
volatile unsigned char SZ[5];
volatile char int_flag=0;//int6_flag;
char keydisp[5];

static unsigned char read165(void)
{
   unsigned char i,data1=0;
   for(i=0;i<8;i++)
   {
      data1<<=1;
          CLK_L()
          NOP();
          data1|=PINA&1;
          CLK_H()
          NOP();
   }
   return data1;
}
char key_handle(unsigned char u)
{
        char j;
        forbid_all_o();
                scan_mkey(u);
                secure_delayms(270,0xffff);                                                        
                reset_watchdog();
                if(u==0xf2)
                  {   
                         u=d_getkey(0xffff);
                         if(u==0xf2)
                        {  
                          q_set_run_mode();
                          return 0;
                         }
                  }
               
                for(j=0;j<5;j++)
                {
                  d_st(SZ[j]);
                  reset_watchdog();
              keydisp[j]=ZHB[SZ[j]&0x0f];
                 // reset_watchdog();
                  //d_st(ZHB[SZ[j]&0x0f]);
                 // d_st(keydisp[j]);
                 disp_string(keydisp,5,5,1);        
                 }
                reset_watchdog();               
}
#pragma interrupt_handler int5_INT:7
void int5_INT(void)
{   
    char j;
    set_PNAIN()
    set_SHI_H()
        SZ[int_flag++]=read165();
        if(int_flag>4)
          int_flag=0;
        set_SHI_L()
        set_PNAOUT()
}

使用特权

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

本版积分规则

599

主题

3025

帖子

4

粉丝