找回密码
 立即注册
查看: 805|回复: 7

small RTOS 51 项目串口接收数据出错

[复制链接]

1

主题

3

回帖

19

积分

新手上路

积分
19
发表于 2024-9-25 09:47:03 | 显示全部楼层 |阅读模式
本人现开发一项目,用 small RTOS 51做操作系统,项目中有液晶显示,,指示灯显示,按键,蜂鸣器报警,还有两组485串口通信,芯片用的是STC15W4K56S4,现在发现问题是液晶总是视乎刷新慢,通过对两组485数据监控发现是,下位机传到总线上的数据是正确的,而51单片机把接收到的数据转存缓存保存下来的数据有问题,因为我通过另外y一组485串口将数据发出来,监控帧数据发现总共42个字节的内容,前10个字节的内容大部分会出错,少量的会正确,而其它内容会一直都是正确的。请大家帮忙分析是什么问题产生的不胜感激!
截图202409250946498177.jpg
回复

使用道具 举报 送花

1

主题

3

回帖

19

积分

新手上路

积分
19
发表于 2024-9-25 09:50:23 | 显示全部楼层
请杨老师帮忙分析分析,给点建议,谢谢!

点评

你将来有打算用管脚与STC15系列相同的STC8系列或者STC32系列的单片机吗?还是只考虑用STC15W4K56S4单片机?我会针对你的需求仔细第答复你  详情 回复 发表于 2024-9-25 17:49
回复 支持 反对

使用道具 举报 送花

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

105

主题

1215

回帖

1万

积分

荣誉版主

积分
12882
发表于 2024-9-25 17:49:06 | 显示全部楼层
hy*** 发表于 2024-9-25 09:50
请杨老师帮忙分析分析,给点建议,谢谢!

你将来有打算用管脚与STC15系列相同的STC8系列或者STC32系列的单片机吗?还是只考虑用STC15W4K56S4单片机?我会针对你的需求仔细第答复你
回复 支持 反对

使用道具 举报 送花

1

主题

3

回帖

19

积分

新手上路

积分
19
发表于 2024-9-27 15:36:31 | 显示全部楼层
杨老师,现在打算用STC15系列,麻烦帮忙分析分析,谢谢。

点评

[attachimg]58442[/attachimg] (1)Small RTOS51(以下简称SRT51)的作者陈先生嫌弃RTX51 Full太大,嫌弃RTX Tiny没有优先级和中断管理,正好看到了刚引进的uC/OS-II的书和开源代码,因此就写了SRT51系统。 (2  详情 回复 发表于 2024-9-27 21:56
回复 支持 反对

使用道具 举报 送花

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

105

主题

1215

回帖

1万

积分

荣誉版主

积分
12882
发表于 2024-9-27 21:56:23 | 显示全部楼层
本帖最后由 杨为民 于 2024-9-27 21:59 编辑
hy*** 发表于 2024-9-27 15:36
杨老师,现在打算用STC15系列,麻烦帮忙分析分析,谢谢。


缩小_Small RTOS51_封面.jpg

(1)Small RTOS51(以下简称SRT51)的作者陈先生嫌弃RTX51 Full太大,嫌弃RTX Tiny没有优先级和中断管理,正好看到了刚引进的uC/OS-II的书和开源代码,因此就写了SRT51系统。

(2)陈先生写书和系统时,国内的51单片机RAM很小,他用于开发和推荐给用户的实验箱为“DP-51单片机仿真实验仪”(我猜是周立功的产品),其使用的单片机是P89C52X2:
裁剪_Small RTOS51_实验箱.jpg

其8051内核只有256字节RAM。
(3)虽然DP-51扩展了片外的XDATA(PDATA方式),但是SRT51系统只使用的IDATA空间。
(4)为了将uC/OS-II塞到IDATA空间中,陈先生在移植时采用了“魔改”的方法。因此陈先生在书中明确声明:SRT51只支持的用户使用256字节的IDATA空间,对于用户使用PDATA和XDATA空间,SRT51不保证任务切换时数据的正确性
我读了其移植代码,确实如此
(5)因此楼主的SRT51程序如果使用STC15单片机的XDATA空间变量,数据出错是必然的现象,不是意外
(6)据我了解,陈先生的SRT51是国内首个将uC/OS-II移植到8051单片机成功产品,虽然不适用于现在有大容量XDATA空间的80x51单片机,陈先生作为先驱者值得我们尊敬,但其产品SRT51不适合运行在STC15系列和以后的STC8X等系列单片机了。
---- 解决方案 --------------------------------
(7)论坛里有许多STC8H系列单片机的uC/OS-II移植案例,如果楼主将你的芯片改为STC8H系列,则可以直接使用这些移植案例。
(8)如果楼主坚持要用STC15系列单片机,可以对论坛中的STC8H系列的案例进行改造,原则上只要替换STC8H的头文件就可以很容易地修改到STC15系列单片机上了

回复 支持 反对

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:5
  • 最近打卡:2025-04-30 07:46:22

33

主题

1079

回帖

2319

积分

荣誉版主

积分
2319
发表于 2024-9-28 08:06:47 | 显示全部楼层
论坛里的uC/OS-II-STC8移植方案,是针对51内核,并不是针对具体型号,
所以,你可以使用其中任意一个基于51内核的uC/OS-II移植方案。
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看III
  • 打卡总天数:54
  • 最近打卡:2025-05-01 09:07:55

717

主题

1万

回帖

1万

积分

管理员

积分
15613
发表于 2024-9-28 12:57:17 | 显示全部楼层
回复 支持 反对

使用道具 举报 送花

1

主题

3

回帖

19

积分

新手上路

积分
19
发表于 2024-9-28 21:55:58 | 显示全部楼层
非常感谢杨老师的帮忙,不胜感激!我在原程序上加了不少代码做任务切换控制,数据没有被覆盖更改了,但液晶刷新速度还是较慢,不过已经改善很多。我这边再按杨老师的建议移植到uCOS上试试,不胜感激,谢谢!另外,咨询下STC8或STC32哪款能同STC15W4K56S4PIN对PIN兼容,有吗?望推荐1.
回复 支持 反对

使用道具 举报 送花

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

本版积分规则

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

GMT+8, 2025-5-2 06:49 , Processed in 0.160403 second(s), 106 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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