打印

HK32F103C8T6直接烧录STM32F103C8T6的程序,BKP寄出器异常

[复制链接]
1202|7
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
cjmlllh|  楼主 | 2020-12-25 15:16 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
沙发
cjmlllh|  楼主 | 2020-12-25 15:26 | 只看该作者
用仿真器看过,复位之前,数据已经写到寄存器里面了,但是软复位之后数据被清零

使用特权

评论回复
板凳
annko2005| | 2020-12-25 16:46 | 只看该作者
你把你的工程代码贴出来看看。

使用特权

评论回复
地板
cjmlllh|  楼主 | 2020-12-25 16:58 | 只看该作者
void Sys_Soft_Reset(void)
{   
        //重启
        CAN_DeInit(CAN1);
        CAN_ITConfig(CAN1,CAN_IT_FMP0,ENABLE);
        EXTI_DeInit();
        TIM_DeInit(TIM3);
        USART_DeInit(USART1);
        USART_DeInit(USART3);
       
        s_sys_info.s_sys_saved_info.v_auto_reset_flag = 1;
        s_sys_info.v_auto_reset_count = 0;
       
        bt_info.s_bt_cfg.v_checksum = MsgChkSum((INT8U *)&bt_info.s_bt_cfg,1,sizeof(bt_info.s_bt_cfg) - 2);
        STMFLASH_Write(BT_DATA_ADD,(INT16U *)&bt_info.s_bt_cfg,sizeof(bt_info.s_bt_cfg) >> 1);//保存蓝牙配置
        STMFLASH_Write(BT_DATA_BACKUP_ADD,(INT16U *)&bt_info.s_bt_cfg,sizeof(bt_info.s_bt_cfg) >> 1);//保存蓝牙配置
       
       

       
        //保存车型
        s_sys_info.s_footboard_config.v_checksum = MsgChkSum((INT8U *)&s_sys_info.s_footboard_config,2,sizeof(s_sys_info.s_footboard_config) - 2);
        STMFLASH_Write(CURRENT_CAR_DATA_ADD,(u16*)(&s_sys_info.s_footboard_config),sizeof(s_sys_info.s_footboard_config)/2);
        STMFLASH_Write(CURRENT_CAR_DATA_BACKUP_ADD,(u16*)(&s_sys_info.s_footboard_config),sizeof(s_sys_info.s_footboard_config)/2);
        //保存系统信息
        BKP_Write_Register(BKP_DR1,0x55AA);//保存后备寄存器标志
        BKP_Write_Register(BKP_DR2,s_sys_info.s_sys_saved_info.v_auto_reset_flag);//保存自动重启标记
        BKP_Write_Register(BKP_DR3,s_sys_info.s_sys_saved_info.v_left_door_change_num);//保存左门开关次数标记

    SCB->AIRCR =0X05FA0000|(u32)0x04;      
}

使用特权

评论回复
5
cjmlllh|  楼主 | 2020-12-25 17:01 | 只看该作者
//读取系统信息
        s_sys_info.s_sys_saved_info.v_saved_id = BKP_Read_Register(BKP_DR1);//保存后备寄存器标志
        s_sys_info.s_sys_saved_info.v_auto_reset_flag = BKP_Read_Register(BKP_DR2);//保存自动重启标记
        s_sys_info.s_sys_saved_info.v_left_door_change_num = BKP_Read_Register(BKP_DR3);//保存左门开关次数标记



这段是复位后的读取,复位前,我看到寄出器里面已经有数据了,但是复位后在各种初始化之前查看寄存器,数据已经清零

使用特权

评论回复
6
圣骑士by| | 2021-1-7 11:49 | 只看该作者
顶一下,遇到同样问题了

使用特权

评论回复
7
ifxz0123| | 2021-1-8 09:48 | 只看该作者
圣骑士by 发表于 2021-1-7 11:49
顶一下,遇到同样问题了

应用笔记有记录,根据应用笔记修改代码就可以了

使用特权

评论回复
8
单片小菜| | 2021-1-8 09:59 | 只看该作者
按照应用笔记来进行修改。

使用特权

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

本版积分规则

1

主题

6

帖子

0

粉丝