导航: 老古网老古论坛XMOS公共讨论区XMOS开源项目区单片机程序设计嵌入式系统广告区域
→关于L32K上仿真C程序的疑问[picosecond]

 *第38373篇: 关于L32K上仿真C程序的疑问

  
楼 主:picosecond 2006年3月10日10:26
 关于L32K上仿真C程序的疑问
小弟毕设,用c编了一段单片机接受串口发送信号的程序,单片机根据收到信号不同,给p0/p1/p2三个端口相应的位 置0/1。在keil c51环境下用软件模拟串口和串口调试助手通信程序运行完全正常;但用仿真器l32k仿真时,程序运行出现了问题:
1、全速运行时p*端口信号不能实时根据外边信号相应变化,只有点击停止时p*相应位才变化;而这些软件模拟时一切正常。
2、发现有丢数现象,就是给单片机发送指令了,但单片机相应位没有变化
3、有置为出错现象
以上这些情况,软件模拟串口和调试助手通信时,都没有出现,运行完全正常;但当调试助手和l32k仿真器通信时就出现了上述问题

小弟的程序在附件中,第一次发贴,不知各位能否下载程序;
小弟作的工作就是给p0 p1 p2三个口共24路状态置位。搞了一个星期都没搞清楚出错原因,很是郁闷!都怀疑是不是仿真器有什么问题。

各位大侠有什么高见,小弟在线等候;

  
2楼:picosecond 2006年3月10日10:35
 补充关于L32K上仿真C程序的疑问的C 程序
void main(void)
{ unsigned char temp;

    
   tmod=0x20;               //初始化,串口,定时器工作方式设定
 th1=250;
 tl1=250;
 tr1=1;
 pcon=0x80;
 scon=0x50; 
    ea=0;  
 p0=0xff;
        while(1)
        { while(ri==0);
               ri=0;
           temp=sbuf;
             
            switch(temp)
             { 
                case'a':
                  p00=1;
                   break;
              /* case'b':
                  p01=1;
                    break;
               case'c':
                  p02=1;
                    break;
               case'd':
                  p03=1;
                  break;
               case'e':
                  p04=1;
                  break;
               case'f':
                  p05=1;
                  break;
               case'g':
                  p06=1;
                  break; 
               case'h':   
                  p07=1;
                  break;
               case'i':
                  p10=1;
                  break; 
               case'j':
                  p11=1;
                  break;
               case'k':
                  p12=1;
                  break;
               case'l':
                  p13=1;
                  break;
               case'm':
                  p14=1;
                  break;
               case'n':
                  p15=1;
                  break;
               case'o':
                  p16=1;
                  break;
               case'p':
                  p17=1;
                  break;
               case'q':
                  p20=1;
                  break;
               case'r':
                  p21=1;
                  break;
               case's':
                  p22=1;
                  break;
               case't':
                  p23=1;
                  break;
               case'u':
                  p24=1;
                  break;  
               case'v':
                  p25=1;
                  break;
               case'w':
                  p26=1;
                  break;
               case'x':
                  p27=1;
                  break; */


               case'a':
                  p00=0;
                   break;
              /* case'b':
                  p01=0;
                    break;
               case'c':
                  p02=0;
                    break;
               case'd':
                  p03=0;
                  break;
               case'e':
                  p04=0;
                  break;
               case'f':
                  p05=0;
                  break;
               case'g':
                  p06=0;
                  break; 
               case'h':   
                  p07=0;
                  break;
               case'i':
                  p10=0;
                  break; 
               case'j':
                  p11=0;
                  break;
               case'k':
                  p12=0;
                  break;
               case'l':
                  p13=0;
                  break;
               case'm':
                  p14=0;
                  break;
               case'n':
                  p15=0;
                  break;
               case'o':
                  p16=0;
                  break;
               case'p':
                  p17=0;
                  break;
               case'q':
                  p20=0;
                  break;
               case'r':
                  p21=0;
                  break;
               case's':
                  p22=0;
                  break;
               case't':
                  p23=0;
                  break;
               case'u':
                  p24=0;
                  break;  
               case'v':
                  p25=0;
                  break;
               case'w':
                  p26=0;
                  break;
               case'x':
                  p27=0;
                  break; */
             }        
     }
 }     

  
3楼:老古 2006年3月14日11:12
 sst89c58有一定的烧录次数的限制,不知道你是否已经用了很久了?

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

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


[上一篇主题]:关于6N137运用问题

[下一篇主题]:求助:游戏杆的USB控制标准