21ic电子技术开发论坛
标题:
程序编写方式与抗干扰有关吗?
[打印本页]
作者:
llia
时间:
2022-4-14 21:22
标题:
程序编写方式与抗干扰有关吗?
程序编写方式与抗干扰有关吗?
作者:
jlyuan
时间:
2022-4-14 21:25
没有吧,怎么了
作者:
llia
时间:
2022-4-14 21:27
做的工控设备中偶然发现的问题,很奇怪,也不知道咋回事,我在实际中用汇编语言编写的程序无论多大磁场干扰与静电干扰都能正常工作,相同的功能用C写的程序就不行,容易受到干扰死机
作者:
jlyuan
时间:
2022-4-14 21:30
用C和汇编,和干扰关系不大。
作者:
juventus9554
时间:
2022-4-14 21:33
定时器中只是定时并根据时间控制标志位(主程序再根据标志位执行输出控制与赋值),不容易受干扰。
但把赋值与控制IO口输出放到定时器中就容易受干扰
作者:
renyaq
时间:
2022-4-14 21:35
嗯,除非你的软件架构完全不一样。
作者:
wuhany
时间:
2022-4-14 21:38
估计和你测试的坏境有关
作者:
llia
时间:
2022-4-14 21:39
测试的坏境是(3.1kw私服与16KV高压静电)电源是共用一个220V插座,主要测试电源干扰与电磁干扰。
作者:
llljh
时间:
2022-4-14 21:41
呵呵,真是个奇葩的结论
作者:
llia
时间:
2022-4-14 21:44
软件执行过程坑定不一样的
作者:
zwll
时间:
2022-4-14 21:46
你这应该是临界代码的问题吧
与ASM与C是没有问题的
更多操作
作者:
llia
时间:
2022-4-14 21:48
临界代码啥意思呀?还请指教,如何解决呢?注意哪些呢?在今后编程时要注意哪些呢
作者:
dengdc
时间:
2022-4-14 21:50
可能定时器中断那里有问题
作者:
heweibig
时间:
2022-4-14 21:55
定时器中得变量与IO口操作,其他地方是没有用到的,只是放到定时器中就容易出错,放到外部就没有事,相同功能程序C编写的容易出错,汇编写的就很强,会不会和程序执行的过程有关
作者:
yszong
时间:
2022-4-14 21:57
汇编运行的快些,你用C写是不是响应不过来死机啊.
作者:
renyaq
时间:
2022-4-14 21:59
有些资源你要用别人也要用,可能你用但没有用完,别人又用了,返回时已经破坏了你的操作,你接用就会出错
作者:
llia
时间:
2022-4-14 22:01
变量其他地方没有用到,整整执行过程是这样的,用了定时器0与定时器1, ,在定时器0中放置变量,并++,通过变量的次数也就知道定时的时间,到达时间控制led指示灯,定时器1中执行显示定时器0中得变量 ,主程序中检测按键,(例如的,嘿嘿)定时器0计数到达控制LED亮,收到干扰后表先定时器0变量到达,没有输出、主程序按键不起作用,但定时器1照常执行。如果把定时器0中得变量与控制LED放到主程序中就没事,定时器0中只设标志位
作者:
llia
时间:
2022-4-14 22:03
坑定是程序跑飞了,但是为什么每次跑飞状态都一样
都是在定时计数到达
为什么放到定时器外部就没事了
作者:
dengdc
时间:
2022-4-14 22:05
不用在定时器里改IO口状态。
作者:
yszong
时间:
2022-4-14 22:07
应该有点关系。我以前也好像感觉汇编写的程序比C要稳定些。
作者:
pengf
时间:
2022-4-14 22:09
对于老电工来说,用汇编比C效率高体积小,但等你深刻了解操作系统知识以及C和汇编之间的关系时你就不会用汇编写代码了,至于那些说用汇编写算法比C写快的什么的,能快多少?
作者:
dengdc
时间:
2022-4-14 22:11
系统都捉急到这份上了还不升级处理器,要么就用FPGA来跑算法。。
作者:
zhenykun
时间:
2022-4-14 22:13
没有必然联系,
复杂设备不可能用汇编写
一般都是多进程临界代码问题引起的,很多人都没有这方面的概念
作者:
juventus9554
时间:
2022-4-14 22:15
呵呵,这个问题,我只想说,呵呵。当楼主他查出来的时候,绝对会告诉我们!
作者:
llia
时间:
2022-4-14 22:17
多谢大家讨论这么多哈,呵呵
欢迎光临 21ic电子技术开发论坛 (https://bbs.21ic.com/)