硬汉嵌入式论坛

 找回密码
 立即注册
查看: 743|回复: 4
收起左侧

[技术讨论] PWM输出异常,需要重新下载程序

[复制链接]

4

主题

17

回帖

29

积分

新手上路

积分
29
发表于 2022-11-13 12:58:50 | 显示全部楼层 |阅读模式
项目上遇到的问题,冒昧打扰一下各位 使用的STM32F103ZET6主控
1.主要功能是屏幕显示温度等其他传感器数据,并将这些传感器数据依次化作和固定频率PWM波信号的占空比的信号输出到外界。
2.设备均有出厂检查测试,程序版本记录,测试正常,但是实际使用过程中发现使用一段时间后输出传感器接收数据正常(屏幕数据变化)但是PWM波异常(示波器观察全为高电平),非硬件问题,需要重新烧录程序,且运行时间未知,不能够复现。
3.未重新烧写程序时,通过预留测试接口(按键按下输出50% 直接TIM_COMPARE4(Timx,4500)  )发现引脚能够正常工作,唯一有区别的地方可能在于计算传感器数值对应PWM输出时有较多的浮点运算(运算式子较长)。


最终的诉求其实是:由于现象的不可复现性,希望能在不重新下载程序的情况下,调试程序
第一点:打算通过STM32CubeProgrammer 将出现问题的设备程序导出,下载到其他设备上,观察其他设备是否会无输出(或者说确实属于程序的问题,误操作删除其中计算输出的函数),主要是希望排查问题,有点类似于反编译,想知道哪里出了问题。
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107128
QQ
发表于 2022-11-14 02:33:53 | 显示全部楼层
这个非常有必要在程序异常的情况下,把定时器寄存器相关配置信息全部打印出来。
我认为是你的配置异常了,特别是野指针,未初始化的定时器结构体成员等都是潜在问题。
回复

使用道具 举报

4

主题

17

回帖

29

积分

新手上路

积分
29
 楼主| 发表于 2022-11-14 11:14:42 | 显示全部楼层
eric2013 发表于 2022-11-14 02:33
这个非常有必要在程序异常的情况下,把定时器寄存器相关配置信息全部打印出来。
我认为是你的配置异常了, ...

好的 非常感谢您
回复

使用道具 举报

2

主题

33

回帖

39

积分

新手上路

积分
39
发表于 2022-11-15 14:21:53 | 显示全部楼层
提供一个思路,拿另外一块硬件烧录一样的程序,然后进入debug,进入之后拔掉正常设备,这个时候IDE会等待连接,插入问题设备就行了
回复

使用道具 举报

4

主题

17

回帖

29

积分

新手上路

积分
29
 楼主| 发表于 2022-11-15 20:22:25 | 显示全部楼层
已经解决了 最终问题没有想像的那么困难
1.运维人员误导,实际属于出厂测试后第一次上电就有问题
2.出厂测试人员程序版本记录错误,烧录其他版本的程序,但没通过上位机配置相关信息,最后出厂仅测试部分功能 未测试整体功能
非常感谢各位
回复

使用道具 举报

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

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-5-19 20:35 , Processed in 0.177922 second(s), 25 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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