打印
[蓝牙芯片]

CH579M 不断重启

[复制链接]
600|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
90houyidai|  楼主 | 2023-11-24 11:06 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 90houyidai 于 2023-11-24 14:32 编辑

int main( void )
{
        SetSysClock( CLK_SOURCE_HSE_32MHz );            // 设置外部32M做主频
        DelayMs(3000);
        HAL_LedInit( );        
        GPIOA_ResetBits(GPIO_Pin_15);
        GPIOA_ModeCfg(GPIO_Pin_15, GPIO_ModeOut_PP_5mA);
        while(1);
}
PA15引脚 在我们第二版硬件控制PMOS开关,开关无法正常开关
PA15引脚 在第一版硬件上悬空,现象也是一样,一直不停重启
重启现象:在DEBUG模式下,在SetSysClock下断点,跑一段时间后又跑到断点,并且PA15并未拉低
@WCHTech2@WCHCN


去掉
        GPIOA_ResetBits(GPIO_Pin_15);
        GPIOA_ModeCfg(GPIO_Pin_15, GPIO_ModeOut_PP_5mA);
这部分代码
程序能正常跑

使用特权

评论回复
沙发
JayWell| | 2023-11-24 16:03 | 只看该作者
有用到BLE或者RF吗,看主函数似乎只是测试点灯?不跑TMOS只是跑裸机点灯的话,手动操作GPIO就行了,不要用HAL_Led。
HAL_LedInit( );这个函数是要在TMOS系统里跑的,需要在执行完halTaskID = TMOS_ProcessEventRegister( HAL_ProcessEvent );这一行代码,注册好事件处理函数后才可以用。可以在BLE从机例程里,HAL_LED宏配置为1就好,配置为1后例程里自动调用了HAL_LedInit( );。如果想手动调用HAL_LedInit( );还有一个函数HalLedUpdate();也要去掉HAL_LED决定的条件编译。
如果要查上面为什么会复位,可以在复位初始化后打印一下复位状态寄存器,在hardfault函数里加打印跟踪一下看看跑到哪里复位了,参考博客https://www.cnblogs.com/iot-fan/p/16053937.html

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

35

主题

472

帖子

2

粉丝