这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » MCU » 新手问个关于STC15中断函数的问题

共3条 1/1 1 跳转至

新手问个关于STC15中断函数的问题

工程师
2023-11-07 18:47:32     打赏

今天发现个怪事。。我之前写过一个函数是这样的

图片.png

然后直接在主函数里调用是正常的  如图 屏幕的最底行

但是放到中断函数里面调用 上面代码就跑飞了。。右下角后面一直有个不断变化的小尾巴  过了一会  底行甚至跑到屏幕最顶上了。 感觉是屏幕写数据中途被中断之后又操作屏幕,然后中断结束以后坐标没有变回去就又接着之前的写,然后就乱码了?

那么我如果把屏幕写数据的函数两边开关一下总中断可以解决吗?  还是说有别的原因





关键词: STC15     中断    

助工
2023-11-07 18:47:47     打赏
2楼

在中断中调用大段程序的话,需要保证在调用程序执行完毕前,中断不会再次发生,尤其不能是调用该程序的中断再次发生,那很可能将彻底摧毁调用程序的运行条件和逻辑。举个例子,就像你吃东西,嘴里塞满的食物还没咽下,又强行塞一口,结果会如何?中断服务程序应尽量精简,尤其是存在多任务调度时,中断服务程序最好只是设置一个标志,然后主程序根据标志执行相应的功能,执行完毕后清除标志。


工程师
2023-11-07 18:48:09     打赏
3楼

谢谢老师,我把显示函数开始前后加了总中断开关显示正常了,您说的标志位的办法应该更好,我试试


共3条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]