你的浏览器版本过低,可能导致网站不能正常访问!为了你能正常使用网站功能,请使用这些浏览器。
页面层数比较多,添加了表格等控件,当点击最上层页面的时候,很容易出现卡死现象,通过stm32ide调试,找不到死机的地方,既不是进入死循环,也没进入硬件fault中断,像是ui任务死机了;请问这个怎么查找解决?
举报
你可以先禁用几层,用printf来打印,如果你是用freertos是不是栈空间没有了。touchgfx_printf可以打印信息的。
lugl 发表于 2024-1-16 07:19 你可以先禁用几层,用printf来打印,如果你是用freertos是不是栈空间没有了。touchgfx_printf可以打印 ...
[md]找到原因了,下面一层用的是动态图表控件,动态图表的由于需要8条曲线,这样就放了8个动态图表控件,而且点数太多了,定义了GraphScroll<1000>,也就是一条动态图表曲线就定义了有1000个点,这样最上层页面操作的时候,就会导致死机,如果把8条曲线换成1条,并且GraphScroll<1000>换成GraphScroll<20>,只画20个点,这样最上层页面操作的时候就不会死机;
GraphScroll<1000>
换成GraphScroll<20>
butterflyspring 发表于 2024-1-16 10:27</p> <ol> <li> <p>可以看看其他任务是不是还在正常运行。</p> <p>可以将GUI的任务栈调大一些。
找到原因了,下面一层用的是动态图表控件,动态图表的由于需要8条曲线,这样就放了8个动态图表控件,而且点数太多了,定义了GraphScroll<1000>,也就是一条动态图表曲线就定义了有1000个点,这样最上层页面操作的时候,就会导致死机,如果把8条曲线换成1条,并且GraphScroll<1000>换成GraphScroll<20>,只画20个点,这样最上层页面操作的时候就不会死机;现在需要看看你们说的这些解决办法,看下如何解决,应该是内存哪里不够的问题
co水平线 发表于 2024-1-17 10:43 找到原因了,下面一层用的是动态图表控件,动态图表的由于需要8条曲线,这样就放了8个动态图表控件, ...
[md]到就好呀,恭喜恭喜!
STM32H750 定时器配置
求STM32H503或STMH723 SPI-DMA参考例程
板载stlink无法连接到设备
STM32有哪些MCU能支持I2C HS模式和同时支持I3C 的吗
开发逆变器进行STM32学习,路径如何规划?
如何调整CubeMX的默认引脚
stm32支持canfd和dma结合使用吗
Keil编译为何慢?
多DMA数据流问题
STM32_ImageProcessing_Library 如何实现 图片 去掉 背景?
你可以先禁用几层,用printf来打印,如果你是用freertos是不是栈空间没有了。touchgfx_printf可以打印信息的。
可以将GUI的任务栈调大一些。
2. 也可以使能栈溢出检查试试。
[md]找到原因了,下面一层用的是动态图表控件,动态图表的由于需要8条曲线,这样就放了8个动态图表控件,而且点数太多了,定义了
GraphScroll<1000>
,也就是一条动态图表曲线就定义了有1000个点,这样最上层页面操作的时候,就会导致死机,如果把8条曲线换成1条,并且GraphScroll<1000>换成GraphScroll<20>
,只画20个点,这样最上层页面操作的时候就不会死机;找到原因了,下面一层用的是动态图表控件,动态图表的由于需要8条曲线,这样就放了8个动态图表控件,而且点数太多了,定义了
GraphScroll<1000>
,也就是一条动态图表曲线就定义了有1000个点,这样最上层页面操作的时候,就会导致死机,如果把8条曲线换成1条,并且GraphScroll<1000>换成GraphScroll<20>
,只画20个点,这样最上层页面操作的时候就不会死机;现在需要看看你们说的这些解决办法,看下如何解决,应该是内存哪里不够的问题[md]到就好呀,恭喜恭喜!