打印
[STM8]

STM8S105K4的PF4脚在单片机刚上电时会产生一个1ms多的高脉冲?

[复制链接]
5280|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
averzgw|  楼主 | 2010-12-7 21:55 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
最近写程序用到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
工程设置:代码最大优化,其他默认
补充:代码无优化 也一样
沙发
香水城| | 2010-12-8 08:50 | 只看该作者
试试看,如果你不操作任何IO口,也就是说在main()中只有一个while(1)循环时,还会有问题吗?

使用特权

评论回复
板凳
averzgw|  楼主 | 2010-12-9 20:10 | 只看该作者
DATASHEET有说明,是我没看仔细:
(1) A pull-up is applied to PF4 during the reset phase. This pin is input floating after reset release.
(2)AIN12 is not selectable in ADC scan mode or with analog watchdog.
(3) In 44-pin package, AIN9 cannot be used by ADC scan mode.
(4) In the open-drain output column, ‘T’ defines a true open-drain I/O (P-buffer and protection diode to VDD are not implemented).
(5)The PD1 pin is in input pull-up during the reset phase and after internal reset release.

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2

主题

13

帖子

2

粉丝