yzhkpli 发表于 2024-1-24 14:34:16

用布丁橘长大佬的一个led共阳显示都在keil上debug成功了结果烧到箱子里还是没结果


9.4版stc32试验箱。
把试验箱的p6流水灯代码烧进去,发现是可以流水的。
于是对比试验箱的代码和我修改的代码。
都快一致了。用keil的swd仿真,将P6加入到watch里,发现P6都已经可以编程FE,FD了。按理说可以亮了。
结果还是烧进去还是不亮。

#include <STC32G.H>

#include "stdio.h"
#include "intrins.h"

//定义主频35Mhz
#define MAIN_Fosc 35000000UL

#define ON 0
#define OFF 1

typedef unsigned char u8;
typedef unsigned int u16;
typedef unsigned long int u32;
//==========================================================================

/*************本地常量声明    **************/
/*************IO口定义    **************/
/*************本地变量声明    **************/
u8 i=0;
u8 ledIndex;
u8 code Led_Code[]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80};

/*************本地函数声明    **************/
void delay_ms(u16 ms);

/****************外部函数声明和外部变量声明 *****************/
/******************** 主函数 **************************/

void main()
{
//u8 Led_Code[]={0xFE,0xFD,0xFB,0xF7,0xEF,0xDF,0xBF,0x7F};

        WTST=0;//设置等待时间为0个时钟,cpu速度最快
       EAXFR = 1; //扩展寄存器(XFR)访问使能
    CKCON = 0; //提高访问XRAM速度

        P2M1=0x00;
        P2M0=0x00;//设置为准双向口模式
        P6M1 = 0xff;
        P6M0 = 0xff;   //设置为漏极开路(实验箱加了上拉电阻到3.3V)

        while(1){
                for(i=0;i<8;i++){
                        //P6=Led_Code;
                        P6 = ~Led_Code;
                        delay_ms(300);
                }
                for(i=1;i<7;i++){
                        P6 = ~Led_Code;
                        delay_ms(300);
                }
        }
}
//简单延时函数,自适应主频,1毫秒*ms
void delay_ms(u16 ms){
        u16 i;
        do{
                i=MAIN_Fosc/6000;
                while(--i);
        }while(--ms);
}       

yzhkpli 发表于 2024-1-24 15:37:33

感谢冲哥指点,我加了
P40 = 0;                //LED Power On

但是。依旧是试验箱的八个流水灯不亮。
不过我发现debug时候,设置断点到 P6 = ~Led_Code;,
运行到断点,然后按F10,
每按一次F10,link1D上的灯闪一次。
难道程序烧写进入了link1D去了?{:shocked:}

yzhkpli 发表于 2024-1-24 16:08:43

感谢 冲哥以及 飞哥-KCER001。

在更新了link1D固件后,增加了关于P4的设置

P4M1 = 0x3c;   P4M0 = 0x3c;   //设置P4.2~P4.5为漏极开路(实验箱加了上拉电阻到3.3V)
        P40 = 0;                //LED Power On

终于看到了流水灯。{:sweat:}{:victory:}

challis 发表于 2024-1-25 13:38:28

yzhkpli 发表于 2024-1-24 15:37
感谢冲哥指点,我加了
P40 = 0;                //LED Power On



Link1D亮的这个灯好像是串口通信的灯
页: [1]
查看完整版本: 用布丁橘长大佬的一个led共阳显示都在keil上debug成功了结果烧到箱子里还是没结果