jianhong_wu 发表于 2014-11-20 11:42:11

单片机程序中,当多个不可中断的任务需要并行处理的时候怎么办?已解答。

fyt57889681-东莞:
关于开关中断的,我想问一下,I2C通信过程中,假如中断里只有几句代码,是不是可以不用关闭中断这个操作啊?

鸿哥-深圳:
建议还是关了吧.

fyt57889681-东莞:
鸿哥,如果还有红外遥控器,还有I2C通信,那是不是不能关闭中断啊。

鸿哥-深圳:
二者只能选择其一,必须进行取舍。实际上我觉得很多问题是你凭空想出来的,因为真正的项目中,它不可能时刻进行I2C通讯,也不可能时刻进行红外接收。比如你操作AT24C02的I2C通讯,往往是按键设置参数保存参数的时候,难道你设置系统参数的时候也要红外接收?不可能的。

fyt57889681-东莞:
哦哦 谢谢鸿哥,我是通过I2C去读另一块芯片的按键,是要很频繁I2C通信的,另外,按键和红外也有可能同时存在.

鸿哥-深圳:
那你就要考虑换方案。反正单片机不可能做到十全十美,一个时刻只能干一件事,一山不容二虎,必要时刻必须进行取舍。

fyt57889681-东莞:
好的 谢谢鸿哥.


101MHz 发表于 2014-11-20 19:36:12

鸿哥,请问如果用鸿哥的定时器每隔2mS扫描数码管的思想,还要与18b20通信,鸿哥是怎么协调这个的呢?

jianhong_wu 发表于 2014-11-20 23:28:35

101MHz 发表于 2014-11-20 19:36
鸿哥,请问如果用鸿哥的定时器每隔2mS扫描数码管的思想,还要与18b20通信,鸿哥是怎么协调这个的呢?
要么在进行18B20通讯的时候关闭定时中断,容忍数码管出现短暂的闪烁现象,要么就不要用动态扫描数码管的显示方案,直接改成静态显示的方案,比如用tm1639专用芯片驱动数码管。

101MHz 发表于 2014-11-21 09:16:13

jianhong_wu 发表于 2014-11-20 23:28
要么在进行18B20通讯的时候关闭定时中断,容忍数码管出现短暂的闪烁现象,要么就不要用动态扫描数码管的 ...

多谢鸿哥……
页: [1]
查看完整版本: 单片机程序中,当多个不可中断的任务需要并行处理的时候怎么办?已解答。