最近写程序用到STM8S105K4的PF4脚,做普通I/O输出用,但是试验时发现PF4脚在单片机刚一上电就会产生一个1ms多的高脉冲,结果外接的LED,就在上电时闪了一下。我感到很奇怪,就另建了个工程,再写了段简单的程序,用示波器测量PF4脚,发现即使我程序中不操作PF4脚,上电时它还是会产生一个高脉冲。对此十分不解。是我搞错了?或我用的编译器有问题?或这个芯片就有这个问题?有人有相同的情况吗?
附上我的测试程序:
#include <iostm8s105k4.h>
void delay1(unsigned int time)
{
while(time > 0)
{
__asm("nop");
__asm("nop");
__asm("nop");
time--;
}
}
int main( void )
{
PC_DDR = (1<<7);
PC_CR1 = (1<<7);
while(1)
{
delay1(100);
PC_ODR ^= (1 << 7);
}
return 0;
}
编译环境:IAR Embedded Workbench IDE 6.0.2.1480 (6.0.2.1480) (IAR FOR STM8S V1.0 EV版)
芯片:STM8S105K4T6C
工程设置:代码最大优化,其他默认
补充:代码无优化 也一样 |