原帖 | mx | 2024-11-27 14:09 | 👍0 | 阅读约1
问: 老师,在stm32的裸机应用中,涉及到全局变量的更改,而且是在while和中断中都会修改,这时候需要使用什么类型的变量不会导致临界资源问题?因为之前使用uint8_t会出现修改不成功的问题。
答(Jack):
你需要把这个变量做一个访问的接口,在访问前关闭全局中断(相当于自己实现了一个锁)。在裸机中虽然没有互斥锁,但是你是自己可以实现锁的,来确保临界问题不会发生。
相关笔记
原帖 | mx | 2024-11-27 14:09 | 👍0 | 阅读约1
问: 老师,在stm32的裸机应用中,涉及到全局变量的更改,而且是在while和中断中都会修改,这时候需要使用什么类型的变量不会导致临界资源问题?因为之前使用uint8_t会出现修改不成功的问题。
答(Jack):
你需要把这个变量做一个访问的接口,在访问前关闭全局中断(相当于自己实现了一个锁)。在裸机中虽然没有互斥锁,但是你是自己可以实现锁的,来确保临界问题不会发生。
相关笔记