导航: 老古网老古论坛XMOS公共讨论区XMOS开源项目区单片机程序设计嵌入式系统广告区域
→请大家帮忙看看为什么程序不执行这个子程序啊?多谢赐教!急切![蚊子]

 *第42913篇: 请大家帮忙看看为什么程序不执行这个子程序啊?多谢赐教!急切!

  
楼 主:蚊子 2006年8月27日11:36
 请大家帮忙看看为什么程序不执行这个子程序啊?多谢赐教!急切!
void     main (void)
{
  unsigned char counter,counter2;
  unsigned char mfoutselect=2;
  unsigned char atq_main[2];
  unsigned char status_main;
  unsigned char cardserialno[4];
  unsigned char *sak_main;
  unsigned char blockdata[16];
  
  FLAG1 = 0;
  InitilizeAT89c51();         //Initialize the AT89c51
.
.
.
.
.
}
  
void InitilizeAT89c51 (void)

  RC500_CS   = 1;
  RC500RST   = 0;
                
  PCON = 0x80;                  // SMOD = 1;
  SCON = 0x50;                  // Mode 1, 8-bit UART, enable receiption
  TMOD = 0x20;                  // Timer 1, mode 2, 8-bit auto reload,
                         // Timer 0, mode 0, 13-bit counter
  IT0 = 1;                // Config ext0 as edge trigger for RC500
  EX0 = 1;             // Enable ext0 interrupt for RC500
  EX1 = 0;
  EA = TRUE;            // Enable all interrupts
  GpBase=0x0000;
}
  
2楼:阿发 2006年8月27日12:56
 加个循环试试
void     main (void)
{
  unsigned char counter,counter2;
  unsigned char mfoutselect=2;
  unsigned char atq_main[2];
  unsigned char status_main;
  unsigned char cardserialno[4];
  unsigned char *sak_main;
  unsigned char blockdata[16];
  
  FLAG1 = 0;
        while(1) {
             InitilizeAT89c51();         //Initialize the AT89c51.
             可以在这里加一个延时。
             }这样就可以多次调用这人函数,不加的话main主函数一会就退出了。
.
}
还有就是看你在下面:
EX0 = 1;这是干嘛开中断啊,有没有定义中断任务啊,没定义不能开的,要不会出错的。
  
3楼:cqu903 2006年8月27日22:25
 函数要说明
试试在main函数前面加个你要调用函数的说明,应该能行,另同意楼上的意见,在main中做个死循环,这样系统才有实际意义........中断不要乱开

>>>>>>对该主题发表你的看法

本主题贴数3,分页: [第1页]


[上一篇主题]:问题

[下一篇主题]:[推荐]  基于C8051F206芯片的SOC206仿真调试器