飞翔的孤鹜 发表于 2019-3-24 21:48:53

STM8S003死机求助

现在做了一个串口1通信的调光产品,现在程序初始化一运行rim();打开总中断单片机就死掉。麻烦各位大师帮我看下谢谢!
CLK_HSECmd(ENABLE);//使能外部时钟频率8M
   CLK_SYSCLKConfig(CLK_PRESCALER_CPUDIV1);//外部时钟一分频
   CLK_ClockSwitchCmd(ENABLE); //切换使能
   CLK_ClockSwitchConfig(CLK_SWITCHMODE_AUTO, CLK_SOURCE_HSE, ENABLE, CLK_CURRENTCLOCKSTATE_DISABLE);//时钟自动切换
UART1_Congfiguration();//串口初始化
   LED_Init();
   rim();

wenyangzeng 发表于 2019-3-25 07:22:58

应该是串口设置了中断而没有中断服务函数。

飞翔的孤鹜 发表于 2019-3-25 08:31:08

wenyangzeng 发表于 2019-3-25 07:22
应该是串口设置了中断而没有中断服务函数。

我把串口初始化UART1_Congfiguration();这个屏蔽掉还是这样

toofree 发表于 2019-3-25 09:11:15

根据你的描述,我是不是这样理解?——你已经单步调试,过了LED_Init()后,PC指针到达rim(),只要一执行rim(),那么程序就跑飞了。而rim()的功能,仅仅是打开总中断。

如果是这样的话,那么这个问题比较诡异。
有问题时,把程序工程也附上,不要让人去猜,大家时间都宝贵。

wenyangzeng 发表于 2019-3-25 10:24:34

飞翔的孤鹜 发表于 2019-3-25 08:31
我把串口初始化UART1_Congfiguration();这个屏蔽掉还是这样

那你可以单步跟踪系统时钟HSE是否正常工作了。

飞翔的孤鹜 发表于 2019-3-25 17:19:29

toofree 发表于 2019-3-25 09:11
根据你的描述,我是不是这样理解?——你已经单步调试,过了LED_Init()后,PC指针到达rim(),只要一执行rim ...

是的,我单步运行到rim()程序就卡在这里了

五哥1 发表于 2019-3-25 19:16:55

rim()里的东西在哪?进到这个函数里,看看具体指到那句停了。
页: [1]
查看完整版本: STM8S003死机求助