[MCU] 8位单片机如何系统滴答?

[复制链接]
1213|2
 楼主| ee168 发表于 2022-9-4 11:56 | 显示全部楼层 |阅读模式
32位单片机弄个系统滴答不用担心中断产生的影响,读写过程中,中断对读值不会有影响。

但是8位单片机,用个32bit的滴答,有没有可能这种情况:

我读了4个字节中一半时,滴答的中断来了,把4个字节的值修改了,中断退出后,我读的值已经不对了

当然读之前关中断也可以,读完后再开中断。我只想会不会有上述情况
LcwSwust 发表于 2022-9-4 12:06 | 显示全部楼层
本帖最后由 LcwSwust 于 2022-9-4 12:10 编辑

8位单片机读取16位或32位数据时,如果被中断打断并修改变量,那么读出来的值的确会不对,得到的值可能即不是中断前的值也不是中断后的值,可能高字节是中断前的值,低字节是中断后的值。
应关中断再读取,短时间关中断并不会影响定时中断频率。
ayb_ice 发表于 2022-9-8 16:19 | 显示全部楼层
飞读是可以的,先读高3位字节,再读低字节,再读高字节,如果高字节没变,就可以返回之前的数据,否则重复此过程
您需要登录后才可以回帖 登录 | 注册

本版积分规则

115

主题

201

帖子

2

粉丝
快速回复 在线客服 返回列表 返回顶部