如何清除lv_chart绘制的曲线?我试过如下的方式
lv_chart_remove_series(chart,ser);
lv_timer_del (timer);
执行这两条指令就死机了,请教一下,怎么才是正确的方式,谢谢
LVGL_chart删除问题
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
2条回答 默认 最新
易只轻松熊 2023-07-03 23:44关注在LVGL中,要删除lv_chart绘制的曲线,你需要采取以下步骤:
停止更新图表数据的定时器(如果有的话)。
删除图表中的序列。
清除定时器。
然而,在你提供的代码中出现了死机的问题。这可能是因为你没有正确处理lv_chart_remove_series()和lv_timer_del()的返回值导致的。请确保检查这两个函数的返回值并相应地处理它们。例如,你可以在调用这两个函数之后添加一些适当的错误检查和错误处理代码。下面是一个示例:
// 停止定时器 lv_timer_t* timer = ...; //你的定时器指针 if (timer != NULL) { if (!lv_timer_del(timer)) { // 处理删除定时器失败的情况 } } // 删除序列 lv_chart_series_t* ser = ...; //你的序列指针 if (ser != NULL) { if (!lv_chart_remove_series(chart, ser)) { // 处理删除序列失败的情况 } }通过适当地处理返回值,你可以更好地了解问题所在,并进行相应的错误处理。
另外,请确保你在调用lv_chart_remove_series()之前停止更新数据的定时器。这样可以避免在删除序列时发生竞争条件。
解决 无用评论 打赏 举报