近日写一程序,发现程序不断被重启,反复检查,发现是MCU不断响应IRQ8中断,最后被看门狗复位,查手册,STM8S103K3的IRQ8是保留的,也就是并不存在IRQ8的中断源,当然我也就没有办法关掉这个中断了。查了一天,发现是在操作PF4口时引发的中断。我的PF4口既做输出也做输入,当PF4从输出转为输入(带上拉),且输入为低电平时,就会产生IRQ8,如果输入是高电平或者悬空,则不会。开始以为是电路板或者程序有问题,用另外一个项目的板另外一份能正常工作的程序,在程序某处也做同样的操作(PF4从输出转为输入且输入为低),结果一样。最后的找到的解决方法是把这段程序移到Timer1的中断服务程序中,怪现象消失。
我的STM8S103K3是几个月前买的了,IC上的字符为STM8S103K3T6C 990XL VG MYS 931,最后一行是ST的**和一个圆圈圈着“e4”,最后还有一个“Z”。
请问是我的MCU是有问题的批次?还是其他原因?估计这个疑问只有ST内部的人员才能解答了,恳请不吝赐教,谢谢。 |