keil5 debug调试 卡在printf不运行了,在逐步调试的时候到有printf函数就卡主动不了了。
代码如下,求指点一下!
```c
double Bandgap_Value,Bandgap_Voltage;
void READ_BANDGAP()
{
UINT8 BandgapHigh,BandgapLow;
set_IAPEN; // Enable IAPEN
IAPAL = 0x0C;
IAPAH = 0x00;
IAPCN = 0x04;
set_IAPGO; // Trig set IAPGO
BandgapHigh = IAPFD;
IAPAL = 0x0d;
IAPAH = 0x00;
IAPCN = 0x04;
set_IAPGO; // Trig set IAPGO
BandgapLow = IAPFD;
BandgapLow = BandgapLow&0x0F;
clr_IAPEN; // Disable IAPEN
Bandgap_Value = (BandgapHigh<<4)+BandgapLow;
Bandgap_Voltage = 3072/(0x1000/Bandgap_Value);
}
double Bandgap_Voltage,VDD_Voltage;
void ADC_Bypass (void) // The first three times convert should be bypass
{
unsigned char ozc;
for (ozc=0;ozc<0x03;ozc++)
{
clr_ADCF;
set_ADCS;
while(ADCF == 0);
}
}
void main (void)
{
double bgvalue;
ADCCON0&=0xF0;ADCCON0|=0x06;
P03_Input_Mode;
printf("hello the world");
READ_BANDGAP();
Enable_ADC_BandGap;
Enable_ADC_AIN6;
clr_ADCF;
set_ADCS;
while(ADCF == 0);
bgvalue = (ADCRH<<4) + ADCRL;
VDD_Voltage = (0Xfff/bgvalue)*Bandgap_Voltage;
printf ("\n Bandgap voltage = %e", Bandgap_Voltage);
printf ("\n VDD voltage = %e", VDD_Voltage);
while(1);
```
你的printf重定向了吗