STM32 HAL库中Tick中断的问题:在Tick中断时,调用HAL_IncTick()对uwTick加1。外部程序通过GetTick()得到uwTick的值来使用。并没有考虑变量的访问保护问题。是否说32位的arm,在访问uwTick时,因为一条指令就能完成,因此不用考虑uwTick的保护问题呢?
4条回答 默认 最新
- 追cium 2023-03-19 21:28关注
参考GPT和自己的思路:
在访问 uwTick 变量时,实际上并不能保证一定只有一条指令,因此在多线程情况下,需要考虑对 uwTick 变量的访问保护问题。可以使用互斥量(Mutex)或者自旋锁(Spin lock)等机制来防止 uwTick 变量被多个线程同时访问和修改。因此,在 STM32 HAL 库中,为了确保 uwTick 变量的可靠性,需要考虑变量的访问保护问题。
解决 无用评论 打赏 举报
悬赏问题
- ¥15 github上的这个C语言项目如何跑起来
- ¥15 java 判断某个数 区间是否存在
- ¥15 appium控制多个雷电模拟器问题
- ¥15 C# iMobileDevice
- ¥15 谁会做这个啊#ensp#Boson NetSim
- ¥15 如何编写针对TPS6503320FRGE型号的电源管理芯片的编程代码?
- ¥15 设计简单目录管理系统,要满足以下内容
- ¥15 关于九十度混合耦合器信号分析问题
- ¥15 Cesm如何关闭不用的模块呢
- ¥15 vue2两层数据导出为excle