找回密码
 立即注册
楼主: LA***

C51 和 C251 标准库的区别

[复制链接]
  • TA的每日心情
    开心
    5 天前
  • 签到天数: 137 天

    [LV.7]常住居民III

    37

    主题

    872

    回帖

    3990

    积分

    荣誉版主

    积分
    3990
     楼主| 发表于 2024-3-22 15:48:19 | 显示全部楼层
    杨为民 发表于 2024-3-22 12:32
    看来你问你老师也没有得到解决方法,那就去看看大家给你支的招吧。

    《关于临界区保护和函数可重入的测试 ...

    对你老来说, 什么关中断, 上锁 都不在话下, 根本没问题.

    我想表达的是对新手, 易犯错.

    51  OS 和 其他 CPU 的 OS 相比.
    要好多地方要特别注意, 需增加特有的命令加以保护, 其他 CPU 不用 !
    1. 不可重入特征(包括好多内部库函数)
    2. 通过 内部 RAM传递参数
    3. 指针函数要指定.

    这些都是 51构架特有的缺点(短板)
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    开心
    5 天前
  • 签到天数: 137 天

    [LV.7]常住居民III

    37

    主题

    872

    回帖

    3990

    积分

    荣誉版主

    积分
    3990
     楼主| 发表于 2024-3-22 15:55:00 | 显示全部楼层
    不是特别老练的程序员, 谁知道哪个函数是不重入的 ?

    相比其他 CPU 而言, 51用 OS, 所花费的时间成本比较高. 产生 BUG的 概率也高.

    想表达的意思就是, 如用 OS, 尽量优先选 251系 (STC32) , 不要选标准 51系 ,  251系用 OS, 系统稳定 不易犯错.
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    开心
    5 天前
  • 签到天数: 137 天

    [LV.7]常住居民III

    37

    主题

    872

    回帖

    3990

    积分

    荣誉版主

    积分
    3990
     楼主| 发表于 2024-3-22 16:17:47 | 显示全部楼层
    不是特别老练的程序员, 谁知道 51哪个函数是可不重入的 ? 连我都要经常看 51库函数 反汇编,

    确定是否可重入, 是否占用 RAM作为内部临时(局部)变量.

    相比其他 CPU 而言, 51用 OS, 所花费的时间成本比较高. 产生 BUG的概率也大.

    我想表达的意思就是, 如做产品需用到 OS, 尽量优先选 251系 (STC32) , 不要选标准 51系,  

    251系用 OS, 系统稳定 不易犯错.
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    开心
    5 天前
  • 签到天数: 137 天

    [LV.7]常住居民III

    37

    主题

    872

    回帖

    3990

    积分

    荣誉版主

    积分
    3990
     楼主| 发表于 2024-3-22 16:28:44 | 显示全部楼层
    像 你老搞的 扩展 X51指令集, 后 2个扩展寄存器 放在 RAM(10H-17H)中, 不但 OS系统要保护 RAM(10H-17H) , 每个中断中使用, 都要特意保护 RAM(10H-17H) .

    难道不显麻烦吗?  新手不是更容易犯错吗?

    放在 受 编译器 保护的 寄存器中 多好啊, 省去一大堆麻烦, 新手也不需要了解这个那个注意事项, 更不容易犯错.
    回复 支持 反对 送花

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    QQ|手机版|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

    GMT+8, 2024-5-8 18:08 , Processed in 0.056271 second(s), 40 queries .

    Powered by Discuz! X3.5

    © 2001-2024 Discuz! Team.

    快速回复 返回顶部 返回列表