• 已解决 73482 个问题
  • 已帮助 5993 位优秀工程师

代码可重入设计疑问

我是爆米花啊 2017-10-30 浏览量:609

不使用OS,编写裸机程序时。有哪些方法实现可重入设计?或者说对资源进行互斥访问。

比如有一段内存普通程序里需要访问,中断函数有时候也要访问。

0 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
最佳答案
  • 不要使用全局变量或者在对全局变量进行操作时,开启临界区保护(禁止中断),操作完毕后,关闭临界区保护即可;
    • 发布于 2017-10-30
    • 举报
    • 评论 1
    • 0
    • 0
电子老工程师 回复了 :https://www.sparkfun.com/datasheets/Sensors/SHT1x_datasheet.pdf 回复

其他答案 数量:6

  • 可以参考os的设计啊,普通程序访问的时候关中断。不过可能会造成别的问题。

    另一个是自己申请一个变量作为标志,访问前先检查标志是否被置位,有则不访问,无则置位标志并访问数据,完成后清除标志位。

    再一个中断的优先级一定比普通函数高,除非是普通函数没处理完成时,不让中断处理,参考第二种方法。

    • 发布于2017-10-30
    • 举报
    • 评论 1
    • 0
    • 0
电子老工程师 回复了  :没有完全匹配的 回复

  • 不用OS,也要自己写一个事件管理的机制才可以 的。
    • 发布于2017-10-30
    • 举报
    • 评论 0
    • 0
    • 0

  • 函数写成是静态变量的函数。

    参数使用指针进行传递

    • 发布于2017-10-31
    • 举报
    • 评论 1
    • 0
    • 0
电子老工程师 回复了  :无铅环保 回复

相关问题

问题达人换一批

代码可重入设计疑问