标题: STM8单片机ASM("rim"); 卡住假死 [打印本页]

作者: hdhgsdhuers    时间: 2020-4-26 19:41
标题: STM8单片机ASM("rim"); 卡住假死

STM8L051开启中断就卡住无动作,__asm("rim");也一样,之前用STM8S103正常。不开启中断可以正常运行(当然不能进入中断服务程序。)在网上搜索到STM8L052也有类似帖子但是无结论求助大神们应该如何解决。
www点stmcu.org点cn/module/forum/thread-605215-1-1.html

作者: hdhgsdhuers    时间: 2020-4-28 19:23
哎,这24小时必答区没人吗?还是只有自己解决啊。单步汇编发现是跳入中断而对应的中断服务函数没有写造成死循环(我是因为DS18b20端口输出模式时CR2寄存器设置1,然后程序改为输入模式,这时候CR2寄存器值还是1造成中断。)
作者: thxl_kis    时间: 2020-10-3 20:22
楼主这个问题解决了吗?我也遇到这个问题,我知道是进了中断,我用的是定时器TIM4。但是我写了中断程序的。还是这样
//TIM4中断处理函数
#pragma vector=TIM4_UIF_vector
__interrupt void TIM4_UIF_IRQHandler(void)
{
    unsigned char i = 0;
    i++;
    TIM4_SR1=0x00;
    if(i==122)
    {
       // LED_PORT^=1;//亮灯验证TIM4正常工作
        i=0;
    }
}
作者: limingkehan    时间: 2021-5-19 20:02
这个问题我也遇到过了,请查阅你的I/O初始化,如果是输入 的设备, 开启了10M的输出速度/开启外部中断,那么一上电,系统可能就会被中断,影响系统工作
作者: 2685864842    时间: 2022-2-9 20:12
limingkehan 发表于 2021-5-19 20:02
这个问题我也遇到过了,请查阅你的I/O初始化,如果是输入 的设备, 开启了10M的输出速度/开启外部中断,那 ...

你是正确的。




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1