有没有大佬知道这个电路输出为什么只有1V多?按数据手册接的,设置外部输出,输出值也不对
有没有大佬有1602的HAL库驱动
stm32 spi从机实现bissc通信(在线等)
stm32 定时器外部时钟1的TI1FP1及TI2FP2的设置问题
STM32F1定时器中触发信号TRC的来源及选择配置是怎么样的
输入捕获测频率返回异常?
STM32F103 bug
怎么将keil工程更换为vscode工具链?
HAL_UART_Receive_IT不管设置size是多少,我串口一次性发4个字符,最后保存在buffer的也只有一个元素
Error in final launch sequence: Failed to execute MI command: target remote localhost:61234
微信公众号
手机版
如果程序内部部分内容变了,首先可以检查烧录校验和是否一直,其次可以使能写保护,硬件禁止软件去修改它。当然,如果能找到哪些逻辑去更改它就更好了。
通常发生在程序跑飞时 无意做了对flash的写操作。
还有就是,对有些数据,往往是数据较多的结构体没有初始化或没有完全初始化就被使用,也比较容易发生编程错误。
因为对一个未明确、正确初始化的地址去写时,若刚好写的地方是flash,则会直接报flash编程错误。
这种原因还比较常见。
实际情况确实是程序跑飞了,而且断电重启程序都不能正常运行。只有重新下载程序后才能正常运行。
[md]而且也不知道是什么原因导致程序跑飞。
程序跑飞原因比较多:
内存访问越界问题:检查数组访问和指针使用,确保在合法范围内。
中断方面问题:合理配置中断优先级,避免中断嵌套过深。合理配置堆栈大小。
内存管理方面问题:检查内存分配和释放,避免内存泄漏等问题。
电源原因 :检查电源质量、boot脚的焊接。注意特定电源脚,比方VCAP,PDR_ON这些;
异常复位: 看门狗复位、外部干扰导致复位脚电平不稳。注意程序逻辑,避免外界干扰;
有些通讯机制是连续的,中间的一些操作会导致故障,而复位后重新初始化和操作才能正常。
可以极致简化一下代码,看看普通功能(例如翻转IO)是否正常,从而判断是否和硬件环境有关。