STM32调试数码管显示 ucos系统 复位
来源:互联网 发布:mac上如何隐藏文件夹 编辑:程序博客网 时间:2024/05/18 07:59
昨天调试stm32F103VE进行数码管显示一波三折出现了一连串的问题,导致浪费了好多的时间,总结下。
stm32F103VE、ucos系统、tm1629数码管显示。
数码管显示、通信模块、扫描案件分别在不同的3个进程,各个进程之间的通讯需要置标志,或者使用信号量等手段。程序中我直接采用的置标志的方法。
程序写好后,进行调试基本没有问题,但是有时会经常自动复位。
开始不知道怎么去找错误,因为随机的,突然会自动重启。不知道从哪个地方自动重启的。
在大师的指导下,理解到:一般程序重启,主要原因就是越界等一些条件满足后,是你自己的调用程序复位的。在中断文件HardFault_Handler函数中的NVIC_SystemReset函数,由这个函数复位。我在这边打断点的时候 ,发现确实程序运行一会儿,就会运行到这里,然后重启。
后续,确定是新添加的回调函数有错误:在此进程下,调用另一个进行的,导致错误。
修改成:在此进程的回调函数中置标志,在另一个进程下检查标志,执行需要的操作。
在后面发现程序从flash启动后 ,过一会儿在断点,重新启动,数码管屏不显示。
一开始没找出问题的点出来:
1,怀疑是不是 打开看门狗了,没喂狗。
2.是否是从falsh启动,启动之后是不是内存堆栈不够导致死机。
后续重新配置IAR参数,检查看门狗喂狗,情况还是一样。
上电调试的时候返现 屏不显示,但是程序还在正常的运行,因为按键有效。证明程序3个进程一直再正常的运行。
在查端口是否被重复定义。
最终在下班后发现开机没有调用设置数码管屏的灰度调节设置函数,导致断电之后,当电流完全释放之后,从新启动灰度值是0,屏上面看不到显示内容,其实屏是好的。当电流没有完全释放的时候在从新通电,屏还是亮的。
所以现象才是:断开电源1秒2秒 再插上是 继续亮的,但是过10秒肯定不亮。
0 0
- STM32调试数码管显示 ucos系统 复位
- stm32+ucos,si4438调试
- CM3(STM32)内核复位与系统复位区别及应用
- STM32之复位和系统时钟
- 利用stm32串口中断进行数码管显示
- STM32移植uCOS-II系统(1)
- STM32移植uCOS-II系统(2)
- stm32 ucos
- STM32+uCOS
- 基础知识_晶振,复位,数码管
- STM32 eCos 启动代码分析(一)系统复位
- 【STM32 .Net MF开发板学习-25】LED数码管显示
- STM32四位数码管动态显示(74hc595)
- stm32 复位标志位
- 对于STM32软件复位
- stm32复位电路设计
- stm32笔记-复位
- STM32的软件复位
- yum使用国内的源
- 微软ASP.NET站点部署指南(3):使用Web.Config文件的Transformations
- 微软ASP.NET站点部署指南(2):部署SQL Server Compact数据库
- Android四大基本组件介绍与生命周期
- 某日小省——论轻躁与人品
- STM32调试数码管显示 ucos系统 复位
- Codeforces 558B Amr and The Large Array 数组美丽值
- Ionic学习笔记一 配置及项目示例
- 网络编程1
- redis优缺点
- UI基础之---- UITableView 编辑
- 对象引用与对象的区别
- Visual Studio 2010 安装程序打包超详细教程
- OC-总结