初学PIC,遇到一个小问题。

2020-02-08 09:33发布

我用的PIC16F688 PICC编译器, 为什么我在中断服务程序中和主函数中调用同一个子程序就报错,单独调用都没问题,难到PIC不支持????

报错信息 (原文件名:QQ截图20111026180133.jpg)
主函数和中断函数中都调用了Delay()就出现这个情况。去掉其中一个就没问题,这咋会是呢?各位大虾指点一下。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
17条回答
gwdong
1楼-- · 2020-02-09 05:33
回复【5楼】jianchangd
pic一般是不支持重入功能的,但有的版本的picc调用这种情况会编译出错,有的不会,如picc9.71a,我试过在中断和main()里调同一个子函数不会出现编译错误.楼主可以下一个来试一下,本坛就有.
-----------------------------------------------------------------------

这种情况一定要给出提示的------因为这种重入可能是"后果不可预知"---------除非你的那个函数特别简单,简单到什么都不做.
tang470793988
2楼-- · 2020-02-09 06:55
其实我只是想知道为什么中断函数与主要函数 不能调用同一个函数, 我写一个调用延时函数,只是为了说明一个问题。并不是我程序需要。中断函数里尽量少干事情,这个常识性的问题我还是知道的,但是中断函数调用必要的子函数,我想大家都这样写过吧?想51、430、STM 这些我都没遇到过,到PIC我是第一次遇到。
eduhf_123
3楼-- · 2020-02-09 07:16
LZ请看这里:
http://203.208.46.148/search?q=PICC%E9%87%8D%E5%85%A5&ie=UTF-8&oe=UTF-8&hl=zh-CN&btnG=+Search+
tang470793988
4楼-- · 2020-02-09 12:59
 精彩回答 2  元偷偷看……
tang470793988
5楼-- · 2020-02-09 16:09
我换了个PICC V9.82版本 就可以了 谢谢各位了!
millwood0
6楼-- · 2020-02-09 16:24
"我换了个PICC V9.82版本 就可以了"

that's the wrong solution.

you just missed a great opportunity to learn about embedded programming.

一周热门 更多>