找回密码
 立即注册
楼主: LAOXU

C51 和 C251 标准库的区别

[复制链接]
  • 打卡等级:偶尔看看I
  • 打卡总天数:16
  • 最近打卡:2025-04-30 08:41:32

105

主题

1215

回帖

1万

积分

荣誉版主

积分
12882
发表于 2024-3-20 17:53:35 | 显示全部楼层
LAO*** 发表于 2024-3-20 17:34
你老跑题啦~~~

咱们现在说 keil C51怎么解决.

我不愿意在这里跟你说,你问你老师去
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:312
  • 最近打卡:2025-03-11 13:20:13

54

主题

1327

回帖

5395

积分

荣誉版主

积分
5395
发表于 2024-3-20 17:53:37 | 显示全部楼层
社区*** 发表于 2024-3-20 17:22
string.h里面的函数,能支持STC8系列的双数据指针就更好了。

这这个我早就改写了, 但没放出来, 因为, 在所有中断中使用到 dptr的必须手工保存 dptr1和 dps.

如使用 os系统, 也必须加保存 dptr1和 dps 才行.

否则会产生不可预测的后果.

你如想用, 我抽空整理一下传上来吧.
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:435
  • 最近打卡:2025-04-30 08:43:23

33

主题

2351

回帖

4860

积分

论坛元老

积分
4860
发表于 2024-3-20 18:02:05 | 显示全部楼层
杨*** 发表于 2024-3-20 17:53
我不愿意在这里跟你说,你问你老师去

那就重开一贴,细细讲解么

点评

等STC8051H出来后再说,会对基于8051架构STC单片机的软件生态有一个全面的解决方案。  详情 回复 发表于 2024-3-20 18:10
参考例程并不是对技术参 考手册的补充,而是对技术参 考手册的解释。
技术参 考手册不应该需要参考例程作为补充,而是解释成了参考例程的样子
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:312
  • 最近打卡:2025-03-11 13:20:13

54

主题

1327

回帖

5395

积分

荣誉版主

积分
5395
发表于 2024-3-20 18:05:27 | 显示全部楼层
杨*** 发表于 2024-3-20 17:06
(1)传统51由于构架原因, 并不适用于跑 OS系统(特别是大容量程序)
别抽象地就否定,具体说说是什么“构 ...

同样使用 os系统, 251, m3/m0等, 对新手来说, 出错的 概率要低很多(因为函数的变量传递可通过 sp堆栈传递), 而 51构架的局限性, 内部库函数都是通过 r0-r7(不够用通过 data)传递, 像我上面举的例子, 你老是老司机, 当然不会犯错, 新手就容易犯各种低级错误了.
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看I
  • 打卡总天数:16
  • 最近打卡:2025-04-30 08:41:32

105

主题

1215

回帖

1万

积分

荣誉版主

积分
12882
发表于 2024-3-20 18:10:07 | 显示全部楼层
_奶*** 发表于 2024-3-20 18:02
那就重开一贴,细细讲解么

等STC8051H出来后再说,会对基于8051架构STC单片机的软件生态有一个全面的解决方案。
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:435
  • 最近打卡:2025-04-30 08:43:23

33

主题

2351

回帖

4860

积分

论坛元老

积分
4860
发表于 2024-3-20 18:14:02 | 显示全部楼层
LAO*** 发表于 2024-3-20 18:05
同样使用 os系统, 251, m3/m0等, 对新手来说, 出错的 概率要低很多(因为函数的变量传递可通过 sp堆栈传递 ...

不不 他听不进去这种东西的,
在他眼里这种东西非黑即白,
你容易出错,不太表这个东西不行,,和咱们的思想是不一样的,,就等着这老师出文章就得了

点评

不用等了,你也可以去谈谈你的想法了 《关于临界区保护和函数可重入的测试题,欢迎大家来测试自己学的怎么样》 (https://www.stcaimcu.com/forum.php?mod=viewthread&tid=7384&extra=page%3D1)  详情 回复 发表于 2024-3-22 12:29
正解~~~  详情 回复 发表于 2024-3-20 18:27
参考例程并不是对技术参 考手册的补充,而是对技术参 考手册的解释。
技术参 考手册不应该需要参考例程作为补充,而是解释成了参考例程的样子
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:312
  • 最近打卡:2025-03-11 13:20:13

54

主题

1327

回帖

5395

积分

荣誉版主

积分
5395
发表于 2024-3-20 18:20:34 | 显示全部楼层
杨*** 发表于 2024-3-20 16:39
(1)不错,终于肯用实际例子来说明问题了,不再是“老师言”了。

(2)请你再证明一下“strcat”和“str ...

“strcpy” 是被 keil 公司优化过的, 通过 R0R4R5 和 R1R2R3 传递指针参数, 属可重入性质.

“strcat”不行, 第一指针参数通过 R1R2R3 传递, 第二指针参数通过 DATA 传递, 同样会出现我例子中的问题.
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:312
  • 最近打卡:2025-03-11 13:20:13

54

主题

1327

回帖

5395

积分

荣誉版主

积分
5395
发表于 2024-3-20 18:27:30 | 显示全部楼层
_奶*** 发表于 2024-3-20 18:14
不不 他听不进去这种东西的,
在他眼里这种东西非黑即白,
你容易出错,不太表这个东西不行,,和咱们的 ...

正解~~~
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看I
  • 打卡总天数:16
  • 最近打卡:2025-04-30 08:41:32

105

主题

1215

回帖

1万

积分

荣誉版主

积分
12882
发表于 2024-3-22 12:29:16 | 显示全部楼层
_奶*** 发表于 2024-3-20 18:14
不不 他听不进去这种东西的,
在他眼里这种东西非黑即白,
你容易出错,不太表这个东西不行,,和咱们的 ...

不用等了,你也可以去谈谈你的想法了

关于临界区保护和函数可重入的测试题,欢迎大家来测试自己学的怎么样
https://www.stcaimcu.com/forum.p ... &extra=page%3D1
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看I
  • 打卡总天数:16
  • 最近打卡:2025-04-30 08:41:32

105

主题

1215

回帖

1万

积分

荣誉版主

积分
12882
发表于 2024-3-22 12:32:28 | 显示全部楼层
LAO*** 发表于 2024-3-20 17:34
你老跑题啦~~~

咱们现在说 keil C51怎么解决.

看来你问你老师也没有得到解决方法,那就去看看大家给你支的招吧。

《关于临界区保护和函数可重入的测试题,欢迎大家来测试自己学的怎么样》
https://www.stcaimcu.com/forum.p ... &extra=page%3D1)

点评

对你老来说, 什么关中断, 上锁 都不在话下, 根本没问题. 我想表达的是对新手, 易犯错. 51 OS 和 其他 CPU 的 OS 相比. 要好多地方要特别注意, 需增加特有的命令加以保护, 其他 CPU 不用 ! 1. 不可重入特征(包括好  详情 回复 发表于 2024-3-22 15:48
回复 支持 反对

使用道具 举报 送花

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

本版积分规则

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

GMT+8, 2025-5-2 02:37 , Processed in 0.154786 second(s), 117 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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