三国小兵 发表于 2016-9-12 10:36:26

单片机程序问题咨询函数不执行

本帖最后由 三国小兵 于 2016-9-12 10:56 编辑

key_serve();
这个函数一直不执行,这个函数是轮流显示4位数码管显示0000,1111,2222,3333   有什么测试办法,判断下问题点在哪里吗




#include "dw8051.h"
#include "ExLigReg.h"
#include "ExLigLib.h"
#include "delay.h"
#include "func.h"


void main()
{
        Init_Port();
        SetPLL(SETPLL_3_2M);//设置3.2M的MCU时钟,单独调试(F11)此函数会失去调试连接
       
        while(1)
        {
                ClearWDT();
                //Led_Twin(4);
                //ClearWDT();
                key_serve();
                test();
                ClearWDT();
        }
               
}





void key_serve(void)
{
       switch(Stuse_Type)
{


case 0:
       
        disp(0xc0,0);
        disp(0xc1,0);
        disp(0xc2,0);
        disp(0xc3,0);
                // nop;
                       nop;
                       nop;
                       nop;
                       nop;
                       Stuse_Type=1;       
                        break;
               

case 1:                     
    disp(0xc0,1);
        disp(0xc1,1);
        disp(0xc2,1);
        disp(0xc3,1);
//        nop;
                       nop;
                        // nop;
                       Stuse_Type=2;       
                        break;
        break;
case 2:                      
    disp(0xc0,2);
        disp(0xc1,2);
        disp(0xc2,2);
        disp(0xc3,2);
//        nop;
                       nop;
                        // nop;
                       Stuse_Type=3;       
                        break;
                  break;
                       
case 3:                      
        disp(0xc0,3);
        disp(0xc1,3);
        disp(0xc2,3);
        disp(0xc3,3);
                  break;


}
}

三国小兵 发表于 2016-9-12 10:40:07

自己顶下...............

WM_CH 发表于 2016-9-12 10:44:44

你粘贴的代码乱七八糟的,一般没人帮你看代码。注意排版。
我只问一点,你的Stuse_Type是静态变量吗?

建议把看门狗关了先,把问题择清楚。
MCU时钟正在初始化,你就用仿真器单步调试,单片机的时钟都没有正常被初始化好。你的仿真器当然没办法正常的访问单片机相关的寄存器了。【可能是这里导致的失联】




三国小兵 发表于 2016-9-12 10:51:17

WM_CH 发表于 2016-9-12 10:44
你粘贴的代码乱七八糟的,一般没人帮你看代码。注意排版。
我只问一点,你的Stuse_Type是静态变量吗?



好的,我看看

wongT 发表于 2016-9-12 10:56:21

Stuse_Type 你跳到3,还有改变它吗

三国小兵 发表于 2016-9-12 10:57:08

wongT 发表于 2016-9-12 10:56
Stuse_Type 你跳到3,还有改变它吗

没有改变了

lyl2022 发表于 2016-9-12 11:03:29

不需要延时?Stuse_Type怎么定义的

三国小兵 发表于 2016-9-12 11:13:45

unsigned char Stuse_Type;      //状态变量

三国小兵 发表于 2016-9-12 11:14:19

lyl2022 发表于 2016-9-12 11:03
不需要延时?Stuse_Type怎么定义的

unsigned char Stuse_Type;      //状态变量

ackyee 发表于 2016-9-12 11:18:33

想帮你看代码,但是代码不全 加 乱七八糟的

三国小兵 发表于 2016-9-12 11:22:07

ackyee 发表于 2016-9-12 11:18
想帮你看代码,但是代码不全 加 乱七八糟的

稍等,我上传完整代码
页: [1]
查看完整版本: 单片机程序问题咨询函数不执行