我正在用 C 语言为 PIC32 uC 编写一个程序,它有一个全局变量(uint32_t 类型),可以从多个中断服务程序和主程序中读取/修改。
我知道这不安全,所以我想知道如何使它安全?有没有一个例子说明如何使它安全?
编辑1:
中断可以互相打断吗?是
ISR 是否更新变量?是 main 是否更新变量?是的 对变量的写入和读取是原子的,你怎么知道?不确定
是否存在 RTOS?不
我正在用 C 语言为 PIC32 uC 编写一个程序,它有一个全局变量(uint32_t 类型),可以从多个中断服务程序和主程序中读取/修改。
我知道这不安全,所以我想知道如何使它安全?有没有一个例子说明如何使它安全?
编辑1:
中断可以互相打断吗?是
ISR 是否更新变量?是 main 是否更新变量?是的 对变量的写入和读取是原子的,你怎么知道?不确定
是否存在 RTOS?不
如果您确实需要保留可以在多个可以相互中断的中断服务期间修改的全局变量,我建议您按照以下方式进行操作: