STC32G144K246-LQFP64的CoreVcc为啥只有0.4v?
我用STC32G144K246-LQFP64做了几个电路板,原理图如附件,都是下载软件后没有反应,跑马灯不闪,测量CoreVcc电压只有0.4v,会不会是原理图绘制的不对?请老师给我指点一下如果能成功下载程序,则VCC-CORE电压应该是正常的1.5V左右,否则,如果VCC-CORE电压一直为0.4V,是下载不了程序的。 可以下载程序,运行不起来。我是编了一个跑马灯程序,参考网址上给的例程
这个程序可以编译通过,可以下载。就是发光二极管一直不亮。17脚电压3.5v,8脚电压0.4v
#include "../../comm/STC32G.h"
#include "stdio.h"
#include "intrins.h"
typedef unsigned char u8;
typedef unsigned int u16;
#define MAIN_Fosc 24000000UL
voiddelay_ms(u8 ms);
void main(void)
{
WTST = 0;//设置程序指令延时参数,赋值为0可将CPU执行指令的速度设置为最快
EAXFR = 1; //扩展寄存器(XFR)访问使能
CKCON = 0; //提高访问XRAM速度
P0M1 = 0x00; P0M0 = 0x00;
P1M1 = 0x00; P1M0 = 0x00;
P2M1 = 0x00; P2M0 = 0x00;
P3M1 = 0x00; P3M0 = 0x00;
P4M1 = 0x00; P4M0 = 0x00;
P5M1 = 0x00; P5M0 = 0x00;
P6M1 = 0x00; P6M0 = 0x00;
P7M1 = 0x00; P7M0 = 0x00;
while(1){
P33 = 0; P34 = 1; //LED Off
delay_ms(250);
P33 = 1; P34 = 0; //LED on
delay_ms(250);
}
}
voiddelay_ms(u8 ms)
{
u16 i;
do{
i = MAIN_Fosc / 6000;
while(--i);
}while(--ms);
}
把P3M0 = 0x00;改成P3M0 = 0xff;就都正常了 王世凯 发表于 2025-11-26 10:04
把P3M0 = 0x00;改成P3M0 = 0xff;就都正常了
STC32G144K246不支持准双向口,所以要设置为推挽输出才行。
页:
[1]