你的浏览器版本过低,可能导致网站不能正常访问!为了你能正常使用网站功能,请使用这些浏览器。
asmmcu 发表于 2019-1-4 08:26 红小点所在的线,就是另两路ADC,及BEEP线。提示一下。 硬 件改动:把ADC的输入脚10K保护电阻去掉了,,测 ...
查看全部评分
白圈里面的小红点是怎么回事?
能不能设法引入一个独立的直流电源?我之前出现过使用质量很差的DC,一通电,没有任何联系的LED狂闪,而且蜂鸣器断断续续。直到我又用了一个高质量的DCDC街道ACDC后面,再接到电路板。就没有这现象了。你的现象太离奇了。我觉的想确定程序问题,可以用现成的开发板试一下。
你的电路板据说换厂家了,但电路的布线是不是没有怎么改变改变过?
......
红小点所在的线,就是另两路ADC,及BEEP线。提示一下。
硬 件改动:把ADC的输入脚10K保护电阻去掉了,,测温电阻的上拉由10K改为1K,以增强驱动能力。
现在已找另一软件工程 师写了一个查询轮询的方式的采集程 序跑,,跑了几天了,,没出现前面的ADC拉低的故障。
原来的工程师是用DMA方式采集的(他是抄开发板的例程,改改用。是个初学者,第一次为STM32写程 序,不过他认为他程 序没问题,是硬件问题)。
引发故障原因现在倾向于软件的问题,还在证实中(老板已责令原软件工程 师换另一采集方法测试)。
不清楚,你用什么画的。为什么会有小红点。感觉像是有警告或错误提示。
硬件的错误可能性也不小,电源的问题也有很大可能,我觉得有可能花几十块钱买一块相关芯片或同系列的开发板十个好办法。不一定要把Beep什么的接上,指示用来验证程序。
我曾经遇到过电源的故障导致了原本软件和硬件逻辑都正常的电路板。这种情况下按照逻辑分析,为什么断电也复位不了什么的是没有意义的。前面有个哥们不是说了,你在扫焊的时候相当于把某些端口放电了吗。有这种可能。
如果你的电路layout没有优化,就不要通过更换MCU作为对比和参考的依据。尽量找一块官方的nucleo板子。
另一工程 师写了个ADC测试程 序测试硬件,跑了4天了。一点问题都 没有。
前天我向原工程 师拿到了他的程序,发现他的程 序的中断没写好,定时中断里执行的众多函数而时间超时及各定时中断优先级设置混乱。低级中断内容设置成抢断模式,抢占后造成高级的中断内容不能执行。
“测温ADC是以DMA方式采集,,估计是DMA采集时,出现中断超时或抢占后引起DMA内存操作失控而对寄存器乱写。”引号内的判断是我估计的,不一定是。。。这个要STM32的技术支持来解释一下。
拿到原程 序员写的程 序后,叫新来的程 序员把他的程序中的DMA的ADC采集方式改了,,把各个中断里执行的函数移出中断外,,再设置好优先级。重新编译下载到板子上跑。。到今天有三天了。没有出现ADC口拉低现象,复位脚 也没拉低,,,看,用原程 序员的程 序修改过后跑,也没出现ADC或其它端品拉低的现象,这应该可以判定是软件的问题造 成的。
但是,
今 天叫原程序员按新程 序员的方法修改他的程 序,结果碰硬钉子了。原程 序员还是坚持说 他的程 序没错,还说,要写自已写去。。。。。。嗯。。。这个。。。真不好办了。
评分
查看全部评分
案子结了,,,是那小子的软件有问题,,硬 件完全没问题。
我叫他改程 序还不改,跟老板说软件没问题,要辞工不干。
最后老板加他工资把他留下才愿意按我要求改写程 序,现已通过测试。
样机已发货到客户手上了。。
附送真理:会哭的孩子有奶吃。
此贴完。