OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 1892|回复: 11

我想探讨一个问题,大家谈谈看法

[复制链接]

35

主题

70

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
212
金钱
212
注册时间
2021-11-11
在线时间
41 小时
发表于 2023-9-5 09:32:51 | 显示全部楼层 |阅读模式
1金钱
我一直用  FREERTOS操作系统,  但我始终不使用信号量,队列,事件组。。。。。,


我一直使用全局变量,代替队列,事件,信号量。。。。。。,      


当然我使用全局变量的时侯注意加以中断保护,




这么用会有啥坏处?

最佳答案

查看完整内容[请看2#楼]

个人认为 RTOS 在一定程度上可以规范应用层的书写标准,同时可以降低编程者对单片机底层原理的掌握程度 如果一个项目仅仅是自己编写全部代码,自己维护,不与别人合作的话,怎么写都可以,写的好坏就看个人对单片机底层和编程语言的掌握程度了 有好多大佬会根据自己的理解,使用自己的软件设计架构,写出来和RTOS一样效果的裸机程序 毕竟,我认为,RTOS属于一种软件架构,并不是一个多么神秘的东西 (纯属个人偏见) ...
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

0

主题

451

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
3316
金钱
3316
注册时间
2016-3-19
在线时间
815 小时
发表于 2023-9-5 09:32:52 | 显示全部楼层
个人认为

RTOS  在一定程度上可以规范应用层的书写标准,同时可以降低编程者对单片机底层原理的掌握程度

如果一个项目仅仅是自己编写全部代码,自己维护,不与别人合作的话,怎么写都可以,写的好坏就看个人对单片机底层和编程语言的掌握程度了

有好多大佬会根据自己的理解,使用自己的软件设计架构,写出来和RTOS一样效果的裸机程序

毕竟,我认为,RTOS属于一种软件架构,并不是一个多么神秘的东西  (纯属个人偏见)

再有,就全局变量而言,如果对RTOS源码有了解的话   就会明白  实际上RTOS的信息传递也是全局变量

区别在于   一个是RTOS在维护    另一个是编程者在维护

至于最终谁来维护   它也是全局变量   完全可以不在全局变量这个点上纠结

可以从自己想要达到什么目的来考虑一下
Nothing is impossible
回复

使用道具 举报

2

主题

446

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
4133
金钱
4133
注册时间
2018-5-14
在线时间
902 小时
发表于 2023-9-5 09:58:15 | 显示全部楼层
全局变量啥时候能代替信号量,互斥锁和队列了
回复

使用道具 举报

0

主题

451

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
3316
金钱
3316
注册时间
2016-3-19
在线时间
815 小时
发表于 2023-9-5 10:16:19 | 显示全部楼层
姚先起 发表于 2023-9-5 09:58
全局变量啥时候能代替信号量,互斥锁和队列了

跳出RTOS常规使用思路,就可以实现了
Nothing is impossible
回复

使用道具 举报

70

主题

6697

帖子

0

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
12687
金钱
12687
注册时间
2012-11-26
在线时间
3710 小时
发表于 2023-9-5 10:45:49 | 显示全部楼层
那还上个啥freertos    裸跑不就好了
回复

使用道具 举报

0

主题

451

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
3316
金钱
3316
注册时间
2016-3-19
在线时间
815 小时
发表于 2023-9-5 11:00:18 | 显示全部楼层
jermy_z 发表于 2023-9-5 10:45
那还上个啥freertos    裸跑不就好了

裸跑
会用,易
用好,难
Nothing is impossible
回复

使用道具 举报

35

主题

70

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
212
金钱
212
注册时间
2021-11-11
在线时间
41 小时
 楼主| 发表于 2023-9-5 11:52:30 | 显示全部楼层
本帖最后由 18703609461 于 2023-9-5 11:55 编辑
unnormal 发表于 2023-9-5 10:14
个人认为

RTOS  在一定程度上可以规范应用层的书写标准,同时可以降低编程者对单片机底层原理的掌握程度 ...

有水平,比较符合我的认识。
我也一直在思考这个问题,

我的程序一般的就是两三个任务共用同一个全局变量,
如果有100个任务共用同一个全局数组,那么队列的优势就显现了。
回复

使用道具 举报

2

主题

446

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
4133
金钱
4133
注册时间
2018-5-14
在线时间
902 小时
发表于 2023-9-5 12:18:22 | 显示全部楼层
unnormal 发表于 2023-9-5 11:00
裸跑
会用,易
用好,难

裸跑还用好难?你都用全局变量了,还说可以用好?无非就是状态机的事情。
回复

使用道具 举报

0

主题

451

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
3316
金钱
3316
注册时间
2016-3-19
在线时间
815 小时
发表于 2023-9-5 13:16:09 | 显示全部楼层
姚先起 发表于 2023-9-5 12:18
裸跑还用好难?你都用全局变量了,还说可以用好?无非就是状态机的事情。

您可能对全局变量有些误解

我觉得一个好的程序的衡量标准,不是说程序里有没有全局变量

大部分人都是看到了很多书里说,尽量少用全局变量,否则......

全局变量、局部变量   一直以来都是程序员争论的焦点

我觉得可能是程序员的水平不同,应用领域不同,理解不同......

有些人站在程序应用层,有些人站在程序中间层,有些人站在程序底层,所以分析的结果就不一样了

慢慢去体会一下   都知道状态机   又有多少人可以说透状态机呢

再举个例子,学习C语言的人都知道 指针   又有多少人  谈指针色变呢
Nothing is impossible
回复

使用道具 举报

3

主题

1906

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
4100
金钱
4100
注册时间
2018-8-14
在线时间
695 小时
发表于 2023-9-5 22:19:02 | 显示全部楼层
unnormal 发表于 2023-9-5 13:16
您可能对全局变量有些误解

我觉得一个好的程序的衡量标准,不是说程序里有没有全局变量

非常认同。
全局变量不可怕,可怕的是不知道为什么它可怕, 只知道传闻说它可怕。
回复

使用道具 举报

35

主题

70

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
212
金钱
212
注册时间
2021-11-11
在线时间
41 小时
 楼主| 发表于 2023-9-7 16:22:46 | 显示全部楼层
edmund1234 发表于 2023-9-5 22:19
非常认同。
全局变量不可怕,可怕的是不知道为什么它可怕, 只知道传闻说它可怕。

非常牛逼的回答
回复

使用道具 举报

0

主题

11

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
348
金钱
348
注册时间
2013-11-27
在线时间
47 小时
发表于 2023-9-18 10:04:15 | 显示全部楼层
目前处于信号量、队列、全局变量混用的阶段。
可能是程序框架设计还不合理造成的。
等技术升级,深入理解后再来发表观点。
回复

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-11-22 17:51

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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