最近调一块STM8S103/STM8S003的板子,将PB4和PC3都设为输入,并且都使用了中断,于是发现了一个奇怪的现象: 当PC3上有脉冲输入,而PB4上一直拉高没有输入的情况下,PB4的中断竟然被触发。 一开始以为是板子的问题,因为这两个脚相邻,以为是这两个脚发生连焊,但检查修复了几次,确定没有连焊,后还是有这个现象。换了几块板还是一样。 如果停止PC3上的输入,PB4上的中断也没有了。 PC3是设的是上升沿中断,PB4设的是下降沿中断。 不知道大家有没有遇到过这类奇怪现象。 可以确定不是板的焊接问题。因为换了几块板,修复洗刷了好多资,都是一样的现象。只要一停止PC3的脉冲输入,PB4上就没有中断触发。 PB4自己有低输入时触发自己的中断很正常,软件代码上也没有问题。 请求大家帮助。 |
STM8S003F3U6 请求各位大佬支援,但是遇到如下问题。。。这样就一定是这颗芯片的问题吗?
STVD如何生成库文件
STM8 flash 库函数 startaddress = startaddress + ((uint32_t)BlockNum * FLASH_BLOCK_S
stm 8 flash 在RAM运行代码的问题,是不是库函数有问题 Library call (?sll32_l0_l0_a) from within a
STM 有能替代MCHC912B32CFUE8 / NXP的型号吗?
STM8S的CAN总线使用
STM8L151在使用DAC功能后严重发热
STM8 IIC SLAVE 400K
STM8S 定时器1互补输出pwm
STM8S003F3 NRST电压低,无法开机
发个原理图和程序来看看,可以把你程序中不想透露的东西删除,只保留最基本测试程序。
看看我的没有这个片子,有的话给你测试一下。
评分
查看全部评分
STM8S003F3P6,程序正在去,弄成最简模式。
原理图如下:
PC6,7会被配置成TIM1的时钟输出,PC3的信号输入实际来源于PC6,7。
补充一下,PB4的上拉电阻R16用的是10K的。
刚才做了一下实验,如果将两个二极管D2,D3去掉,阻断PC6,7对PC3的输入,PB4就正常了。 PB4自己的输入中断可以正常工作。
。
评分
查看全部评分
经测试,没有发现你说的现象,我用的是STM8S103F3P6。
PB4下降沿中断,加20K上拉电阻;PB5做指示灯;PC3上升沿中断,内部弱上拉输入。
PC3无论是接3.3V,还是GND,都在只从GND断开的时候会进PC3的中断,始终都不会进PB4中断,在两个中断程序函数中用断点卡的。
评分
查看全部评分