发帖
12 0 0

WaitMs导致重启问题要如何解决?

Turelies
中级会员

6

主题

20

回帖

342

积分

中级会员

积分
342
PB&TG系列 326 12 2025-2-22 19:38:53
我用以下代码,闪烁灯输出,3次WaitMs必定会重启,2次WaitMs程序正常,这个要怎么解决?是什么原因造成的?
                                hal_gpio_write(GPIO_P18, 1);
                                WaitMs(1500);
                       
                                hal_gpio_write(GPIO_P18, 0);
                                WaitMs(1500);       

                                hal_gpio_write(GPIO_P18, 1);
                                WaitMs(1500);       
──── 0人觉得很赞 ────

使用道具 举报

2025-2-23 23:26:15
你开看门狗了?
2025-2-24 09:25:46
马上抓个技术给你解决!
本帖最后由 Ai-Thinker-wu 于 2025-2-24 09:34 编辑

1.开门狗导致。
2.没有关闭休眠的全局宏。
3.不建议用延时定时,用osal系统的定时器做计时。
2025-2-24 14:06:16

我目前直接使用SDK中的程序,还没学习看门狗这节,不知道是不是狗的原因?
2025-2-24 14:07:16
Ai-Thinker-wu 发表于 2025-2-24 09:32
1.开门狗导致。
2.没有关闭休眠的全局宏。
3.不建议用延时定时,用osal系统的定时器做计时。

我这项目需要休眠,那用osal系统的定时器是要怎么用的?是什么函数的?或者哪个示例中有的,大神提醒一下,谢谢啦~
2025-2-24 14:31:29
Turelies 发表于 2025-2-24 14:07
我这项目需要休眠,那用osal系统的定时器是要怎么用的?是什么函数的?或者哪个示例中有的,大神提醒一下 ...

上传的附件: PHY62XX_SDK_Application_Guide_v1.0.pdf (1.34 MB, 下载次数: 2)
上传的附件: PHY622X_PWR_MGR应用指南_v1.0.pdf (696.55 KB, 下载次数: 0)


参考以上两个文档
2025-2-24 22:19:17
用osal_start_timerEx吗?? 用这个延时事件,需要定义很多事件,这样写的代码实在是太不优雅了啊,还有其它办法吗?
-----------以下是说明书中的----------
3.2.1.5 uint8 osal_start_timerEx(uint8 task_id, uint16 event_id, uint32 timeout_value)
开始一个应用 Timer,到达超时时间系统会向指定的 task 发送一个事件,该 timer 完成一次
事件之后自动关闭,不再重发。
Turelies 发表于 2025-2-24 22:19
用osal_start_timerEx吗?? 用这个延时事件,需要定义很多事件,这样写的代码实在是太不优雅了啊,还有其 ...

建议你学习osal系统的使用,这个芯片的蓝牙功能都是跑系统的,不用这个系统你无法开发。
2025-2-25 11:48:03
本帖最后由 Turelies 于 2025-2-25 11:49 编辑
Ai-Thinker-wu 发表于 2025-2-25 08:42
建议你学习osal系统的使用,这个芯片的蓝牙功能都是跑系统的,不用这个系统你无法开发。 ...

你的意思是用osal_start_timerEx这个函数吗??? 还是还有别的函数吗?
您需要登录后才可以回帖 立即登录
高级模式
12下一页
统计信息
  • 会员数: 28220 个
  • 话题数: 40145 篇