搜索
bottom↓
回复: 74

工控用stm32裸奔稳定吗?

  [复制链接]

出0入0汤圆

发表于 2014-5-19 09:11:53 | 显示全部楼层 |阅读模式
本人大三,有过智能车,电设,机器人等较多比赛经历,能力还行,现在接了一个比较简单的项目,我用stm32裸奔作为主控,不跑ucos不知长时间工作是否稳定,这个方面不是很清楚。
stm32f103工作环境温度为常温,程序中不涉及任何动态内存,传递参数用的是全局变量不使用指针,电源部分也较为稳定,,,不知这样单片机是否能稳定工作一个月以上。
求各位解解惑

阿莫论坛20周年了!感谢大家的支持与爱护!!

曾经有一段真挚的爱情摆在我的面前,我没有珍惜,现在想起来,还好我没有珍惜……

出0入4汤圆

发表于 2014-5-19 09:21:22 | 显示全部楼层
Mark,等待有经验的人解答。

出0入0汤圆

发表于 2014-5-19 09:23:14 | 显示全部楼层
stm32长时间工作没问题的。

出0入42汤圆

发表于 2014-5-19 09:24:07 | 显示全部楼层
lz的问题和lz的经验不符合啊。
不传递指针和使用动态内存分配并不是高质量系统的特征, 不用os你也完全可以自己写个os, 这都不是问题

出0入0汤圆

发表于 2014-5-19 09:44:35 | 显示全部楼层
硬件要看你制作的板子考虑抗干扰抗雷击,软件要没有bug。stm32本身应该没什么问题

出0入0汤圆

发表于 2014-5-19 09:59:09 | 显示全部楼层
证明楼主能力不怎么行.正常环境下运行,一个月都运行不了,那测试不是随随便便都可以打死?

出0入0汤圆

发表于 2014-5-19 10:02:48 | 显示全部楼层
是否稳定和你的能力有关, 与有没有操作系统无关, 应该说没有操作系统是会更稳定, 但对能力要求会高点, 协调不容易, 我的程序基本都不用系统, 工控产品对稳定要求很高, 操作系统不好把握.

出0入0汤圆

发表于 2014-5-19 10:03:45 | 显示全部楼层
关于工作时间,理论是永不死机的.

出0入0汤圆

发表于 2014-5-19 10:05:07 | 显示全部楼层
奇怪的问题,
稳定性跟是否裸奔有毛关系?

出0入0汤圆

 楼主| 发表于 2014-5-19 10:18:39 | 显示全部楼层
albert_w 发表于 2014-5-19 09:24
lz的问题和lz的经验不符合啊。
不传递指针和使用动态内存分配并不是高质量系统的特征, 不用os你也完全可以 ...

一开始习惯没养好,就变成喜欢用全局变量不喜欢用指针了。。。现在在改正中,

出0入0汤圆

 楼主| 发表于 2014-5-19 10:19:13 | 显示全部楼层
foxcase 发表于 2014-5-19 09:44
硬件要看你制作的板子考虑抗干扰抗雷击,软件要没有bug。stm32本身应该没什么问题 ...

哦哦这个工作环境不恶劣

出0入0汤圆

 楼主| 发表于 2014-5-19 10:20:20 | 显示全部楼层
Firman 发表于 2014-5-19 09:59
证明楼主能力不怎么行.正常环境下运行,一个月都运行不了,那测试不是随随便便都可以打死? ...

我只是没试过超长时间会不会死机,因为听说51跑流水灯,放一个礼拜就会死机,所以有点害怕

出0入0汤圆

 楼主| 发表于 2014-5-19 10:21:25 | 显示全部楼层
wenunit 发表于 2014-5-19 10:02
是否稳定和你的能力有关, 与有没有操作系统无关, 应该说没有操作系统是会更稳定, 但对能力要求会高点, 协调 ...

哦哦,谢谢解答~

出0入0汤圆

发表于 2014-5-19 10:27:01 | 显示全部楼层
綜合來看的。。。

出0入0汤圆

发表于 2014-5-19 11:28:55 | 显示全部楼层
51跑流水灯,放一个礼拜?当年只跑了不到一分钟,就关了,换下个程序了。

出0入54汤圆

发表于 2014-5-19 11:39:47 | 显示全部楼层
稳定性和os本来就没有关系的 楼租何来此问?

出0入0汤圆

 楼主| 发表于 2014-5-19 11:43:29 | 显示全部楼层
unifax001 发表于 2014-5-19 11:39
稳定性和os本来就没有关系的 楼租何来此问?

因为高级一点的嵌入式设备都跑嵌入式系统所以觉得那个会稳定,又听说51裸奔拍流水灯,一个礼拜都会死机,所以有了此问

出0入0汤圆

 楼主| 发表于 2014-5-19 11:45:34 | 显示全部楼层
xiaobendan 发表于 2014-5-19 11:28
51跑流水灯,放一个礼拜?当年只跑了不到一分钟,就关了,换下个程序了。 ...

就是测试稳定呀

出0入0汤圆

发表于 2014-5-19 11:59:48 | 显示全部楼层
搞个看门狗,程序设计成复位不受影响,应该比较好吧。

出0入54汤圆

发表于 2014-5-19 12:24:32 | 显示全部楼层
熵之矢 发表于 2014-5-19 11:43
因为高级一点的嵌入式设备都跑嵌入式系统所以觉得那个会稳定,又听说51裸奔拍流水灯,一个礼拜都会死机, ...


本末倒置! 硬件的稳定性和硬件有关。 os的稳定性与os有关。
费事费力的做出来的os 有稳定性一说。os的稳定性在于程序内没有绝对死循环 总是会跳出来。哪怕出现程序跑飞也会跳出来。
若你的电路板就裸奔一个流水灯一个礼拜都会挂的话 os没用,依然会挂。
另外 51也是好东西 不要以为stm32比51高级 比51牛逼 更不要用个stm32与51比这比那。

出130入20汤圆

发表于 2014-5-19 12:30:00 | 显示全部楼层
51跑流水灯都死机,N多设备不要卖了

出0入0汤圆

发表于 2014-5-19 13:29:00 | 显示全部楼层
wenunit 发表于 2014-5-19 10:02
是否稳定和你的能力有关, 与有没有操作系统无关, 应该说没有操作系统是会更稳定, 但对能力要求会高点, 协调 ...

+1000000000000000000

出0入0汤圆

发表于 2014-5-19 13:57:24 | 显示全部楼层
51流水灯1礼拜死机、、、、、、、这话信息量太大了。真不想打击楼主

出0入0汤圆

 楼主| 发表于 2014-5-19 16:27:23 | 显示全部楼层
glacier1 发表于 2014-5-19 13:57
51流水灯1礼拜死机、、、、、、、这话信息量太大了。真不想打击楼主

求教!.........

出0入0汤圆

 楼主| 发表于 2014-5-19 16:29:31 | 显示全部楼层
unifax001 发表于 2014-5-19 12:24
本末倒置! 硬件的稳定性和硬件有关。 os的稳定性与os有关。
费事费力的做出来的os 有稳定性一说。os的稳 ...

我所见到的51系列的确很少,我知道现在很多设备也是用51的,没有特别贬低51的意思。。。

出0入54汤圆

发表于 2014-5-19 16:34:59 | 显示全部楼层
熵之矢 发表于 2014-5-19 16:29
我所见到的51系列的确很少,我知道现在很多设备也是用51的,没有特别贬低51的意思。。。
...

好吧!我相信

出0入0汤圆

发表于 2014-5-19 16:43:21 | 显示全部楼层
唉,为什么用os还要使用全局变量,不解! 还不如裸奔自己管理了

出0入0汤圆

发表于 2014-5-19 20:43:38 | 显示全部楼层
我觉得比跑OS稳定

出0入0汤圆

发表于 2014-5-19 21:06:05 | 显示全部楼层
俺的设备,室外跑一年,不关机。。。

出0入54汤圆

发表于 2014-5-20 10:31:59 | 显示全部楼层
俺的遥控电动窗帘 自打安上了就一直没断电过的

出0入0汤圆

发表于 2014-5-20 10:39:22 | 显示全部楼层
楼上两位酷爱吹牛逼啊。。

出0入0汤圆

发表于 2014-5-22 21:36:07 | 显示全部楼层
自己做不到或者没见过也不要说别人吹牛,我们好些产品都是常年不断电的

出90入4汤圆

发表于 2014-5-22 21:41:39 | 显示全部楼层
PLC,变频都有在用啊,是否稳定这个,请元方来回答

出0入0汤圆

发表于 2014-5-22 22:09:47 | 显示全部楼层
说的感觉有点理解不了啊,传递参数会造成系统不稳定么?

出0入0汤圆

 楼主| 发表于 2014-5-23 10:33:57 | 显示全部楼层
chy 发表于 2014-5-22 22:09
说的感觉有点理解不了啊,传递参数会造成系统不稳定么?

因为有些指针代码没写好就会指到奇怪的地方去

出0入0汤圆

发表于 2014-5-23 10:42:08 | 显示全部楼层
熵之矢 发表于 2014-5-23 10:33
因为有些指针代码没写好就会指到奇怪的地方去

恩,我平时用指针都不会搞的很复杂,感觉做产品弄的太复杂自己查起来也很难受。。毕竟不是纯PC软件,调起来没那么方便

出0入0汤圆

 楼主| 发表于 2014-5-23 10:48:09 | 显示全部楼层
chy 发表于 2014-5-23 10:42
恩,我平时用指针都不会搞的很复杂,感觉做产品弄的太复杂自己查起来也很难受。。毕竟不是纯PC软件,调起 ...

就是因为想省事,我大多情况下连结构体都不用,都是零散的有规则的命名变量。。。

出0入0汤圆

发表于 2014-5-23 10:51:14 | 显示全部楼层
死机和裸奔不裸奔有啥关系?软件没BUG永远不会死(不说硬件)

出0入0汤圆

发表于 2014-5-23 11:02:53 | 显示全部楼层
还是要看软件和硬件电路的

出0入0汤圆

发表于 2014-5-23 11:18:31 | 显示全部楼层
没死过的就不知道死字怎么写。楼主勇敢的去“死”吧

出0入0汤圆

发表于 2014-5-23 11:23:22 | 显示全部楼层
熵之矢 发表于 2014-5-23 10:48
就是因为想省事,我大多情况下连结构体都不用,都是零散的有规则的命名变量。。。 ...

我现在基本也是这样,这样有什么坏处么?

出0入0汤圆

发表于 2014-5-23 11:27:42 | 显示全部楼层
做产品那有不坏的
就是看坏的原因
与概率了
有些元件或模块厂家都只是标
3-5年的稳定性
想它不坏都难了

出0入0汤圆

发表于 2014-5-23 11:54:35 | 显示全部楼层
理论上,没有系统比有系统更稳定才对吧。

出0入0汤圆

发表于 2014-5-23 16:01:43 | 显示全部楼层
稳不稳定跟裸奔没有关系

出0入0汤圆

发表于 2014-5-23 17:24:40 | 显示全部楼层

出0入0汤圆

发表于 2014-5-23 17:35:20 | 显示全部楼层
是啊,,,,不会那么容易死机吧....
AVR 红外接收 开关电源供电 500天都没死过机...

出0入0汤圆

发表于 2014-5-23 18:15:42 | 显示全部楼层
养条狗喂奶就行,不会死的。

出0入0汤圆

 楼主| 发表于 2014-5-23 18:48:44 | 显示全部楼层
hongguan 发表于 2014-5-23 18:15
养条狗喂奶就行,不会死的。

从来没写过看门狗程序。。。做的所有比赛都是一开头就把狗杀掉的。。。。

出0入0汤圆

发表于 2014-5-24 07:58:50 | 显示全部楼层
不关机一个月吗??总要休息休息吧。

出0入0汤圆

发表于 2014-5-24 08:07:40 | 显示全部楼层
gujiamao_love 发表于 2014-5-24 07:58
不关机一个月吗??总要休息休息吧。

竞赛和产品还是有很大差距的

出0入0汤圆

发表于 2014-5-24 08:09:55 | 显示全部楼层
没问题的,记得要使用看门狗,程序要是跑飞了,定时器中断都不管用,我之前怀疑过32能不能用在工业环境,一位前辈回答我: 稳定在于系统的设计。

出0入0汤圆

发表于 2014-5-24 08:10:40 | 显示全部楼层
albert_w 发表于 2014-5-19 09:24
lz的问题和lz的经验不符合啊。
不传递指针和使用动态内存分配并不是高质量系统的特征, 不用os你也完全可以 ...

符合吧,因为学生做的东西都没有经过现场运行过的,功能实现就可以了,

出0入0汤圆

发表于 2014-5-24 08:11:18 | 显示全部楼层
熵之矢 发表于 2014-5-23 18:48
从来没写过看门狗程序。。。做的所有比赛都是一开头就把狗杀掉的。。。。 ...

不要看门狗那会出事,

出0入0汤圆

 楼主| 发表于 2014-5-24 08:55:30 | 显示全部楼层
craigtao 发表于 2014-5-24 08:11
不要看门狗那会出事,

我加一个复位按钮行吗。。。

出0入0汤圆

发表于 2014-5-24 09:06:07 来自手机 | 显示全部楼层
先去了解看门狗是什么

出0入0汤圆

发表于 2014-5-24 09:32:14 | 显示全部楼层
1.本末倒置.能否稳定工作看的是你的水平.而不是单片机...在水平足够的情况下.任何单片机都可以稳定工作...
提供健壮性的是系统层.可惜你不用系统.但是即使用了.单片机的这些系统也不提供健壮性...
2.不会用指针就不用.这点是正确的.微软很多库里就没有用指针.把指针typedef成一种类型...用getvalue..getaddress..来回转换方便直观...
不会用的找个老手封装一下...用不好的狠狠心自己封装一下...堆分配还是应该会的东西.很简单的....
慢慢就会了...
3.用RTOS就是注意systick溢出的时候处理一下...上次粗算是47天的时候会溢出吧...处理一下 0 - MAXINT 为负的问题就可以...大部分问题不大...

出0入0汤圆

发表于 2014-5-24 09:47:37 | 显示全部楼层
单片机开一年也不会死机,裸奔永远不会死机,别说一个礼拜了。要是一个礼拜死机,只能说明设计的有问题。

出0入0汤圆

发表于 2014-5-24 13:09:22 | 显示全部楼层
熵之矢 发表于 2014-5-24 08:55
我加一个复位按钮行吗。。。

如果你这个设备安装在山区 30米的110Kv 的高压塔上, 每次程序有问题,你都要去按一下按钮吗?!! 呵呵。

出0入0汤圆

发表于 2014-5-24 14:44:33 | 显示全部楼层
要程序长时间稳定的工作,看门狗是少不了的,想想人家设计这个功能出来不会是多余的,功夫再高的高手也不敢保证没看门狗的情况下不会死机。

出0入0汤圆

发表于 2014-5-24 15:29:14 | 显示全部楼层
感觉楼主太嫩了,如果是无关紧要的产品,死机大不了重启。如果用于机电控制,建议楼主最好放弃,出事伤人就是大麻烦。
全局变量不是不能用,如果代码总共才几百行,我也会考虑全局变量做。
但是当代码动辄上万的时候,全局变量就很不靠谱了,全局变量大家都能访问,一个函数里改掉了,其他函数根本没法发现。
还有用不用系统,这个是逻辑上的问题,就算你不用系统,如果代码出现递归、嵌套之类的情况也是很严重的。
然后就是硬件上,看门狗是必须的。
当然我也见过别人用中断实现控制功能的,但是实现的功能很简单,不太适合复杂系统。

出0入0汤圆

发表于 2014-5-26 17:50:31 | 显示全部楼层
mark ,受教了!

出0入0汤圆

发表于 2014-5-26 18:57:09 | 显示全部楼层
maxwelllls 发表于 2014-5-24 15:29
感觉楼主太嫩了,如果是无关紧要的产品,死机大不了重启。如果用于机电控制,建议楼主最好放弃,出事伤人就 ...

过来听课,一直感觉看门狗是个不错的东西,记得上次有个帖子说过看门狗管得了“跑飞”管不了“死机“
不知道是不是这样?

出0入0汤圆

发表于 2014-5-26 19:40:04 | 显示全部楼层
xl1736 发表于 2014-5-26 18:57
过来听课,一直感觉看门狗是个不错的东西,记得上次有个帖子说过看门狗管得了“跑飞”管不了“死机“
不 ...

如果陷入一段循环里面,循环里面又在不断喂狗,看门狗就不会起作用。
所以我比较倾向用操作系统进行多个任务的调度,这样可以设置一个高优先级的任务来对系统状态进行监控。
如果不用操作系统,也可以定时中断查询各个任务状态,实现系统状态监控。

出0入0汤圆

发表于 2014-5-26 19:40:59 | 显示全部楼层
xl1736 发表于 2014-5-26 18:57
过来听课,一直感觉看门狗是个不错的东西,记得上次有个帖子说过看门狗管得了“跑飞”管不了“死机“
不 ...

所以喂狗不能放在一个循环体里

出0入0汤圆

发表于 2014-5-26 21:18:26 | 显示全部楼层
我没有做过复杂的人机交互系统,基本都是用于工业的电机控制(主要是有感/无感无刷直流电机)。我用AVR或者stm32f103做控制时,都是用的中断来操作这些任务。
很少用看门狗。系统比较稳定。 AVR基本用汇编做,stm32注C来写。

出0入0汤圆

 楼主| 发表于 2014-5-28 07:55:24 | 显示全部楼层
maxwelllls 发表于 2014-5-24 15:29
感觉楼主太嫩了,如果是无关紧要的产品,死机大不了重启。如果用于机电控制,建议楼主最好放弃,出事伤人就 ...

感谢你的建议~在工控项目上我的确还是一个新手,昨天去长流调试时发现把5v金属传感器的信号线 vcc gnd 和48v步进电机的四根线包在同一个频蔽线里面(8芯线),哪怕步进电机不动,金属传感器的信号线上有非常大的干扰,这些小细节也只能在实战中积累了。

出0入0汤圆

发表于 2014-5-28 08:19:53 | 显示全部楼层
很多的前人的经验都是可以从网络上找到的,做技术就地经常更多的去学习。

出0入0汤圆

发表于 2014-5-28 08:55:02 | 显示全部楼层
要不要用OS取决于你任务的复杂度,就是简单的开关量控制不用OS也可以。至于稳定性我个人认为还是要看你的代码质量了,与用不用OS没有关系吧。

出0入0汤圆

发表于 2018-11-12 21:55:25 | 显示全部楼层
有些人的话让人不懂,STM32跑一年有什么稀奇,汽车电子上的MCU不都是这样的的,只要电瓶还有电,那就是一直在运行

出0入0汤圆

 楼主| 发表于 2018-11-13 22:02:07 | 显示全部楼层
kawadaxixi 发表于 2018-11-12 21:55
有些人的话让人不懂,STM32跑一年有什么稀奇,汽车电子上的MCU不都是这样的的,只要电瓶还有电,那就是一直 ...

这么老的帖子还回复。。缘分呐,好久不登这个账号了

出10入12汤圆

发表于 2018-11-13 22:14:56 | 显示全部楼层
大家都说得很清除了  stm32稳定性没问题    国产STC稳定性也没问题。  关键看自己的设计!!!!MCU出厂都是有严格测试

出0入0汤圆

发表于 2018-11-13 22:21:56 | 显示全部楼层
觉得裸奔比系统稳定,毕竟所有代码自己写的,没有黑箱

出0入0汤圆

发表于 2018-11-14 10:13:07 | 显示全部楼层
我這的產品都上帶狗的LDO,ISP燒MCU得先關狗

出0入0汤圆

发表于 2018-11-14 10:14:19 | 显示全部楼层
连续工作几年都没问题
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-6-2 09:59

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

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