同一个原理图,分别装载了 STM32f103test.hex 、10.hex 文件,装载stm32f103test.hex 文件能正常仿真,装载10.hex文件,报错如下:Access to register of unclocked peripheral at 0x40010C00 cause BUS_FAULT,是什么原因?应当怎样解决?仿真信息提示如下:
PROSPICE 8.07.02 (Build 25463) (C) Labcenter Electronics 1993-2018.
Loading HEX file '..12-LEDProjectObjects10.hex'. [U1_CM3CORE]
Read total of 1152 bytes from file '..12-LEDProjectObjects10.hex'. [U1_CM3CORE]
Access to register of unclocked peripheral at 0x40010C00 cause BUS_FAULT [U1_CM3CORE]
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
csz9981
同一个原理图,分别装载了 stm32f103test.hex 、10.hex 文件,装载stm32f103test.hex 文件能正常仿真,装载10.hex文件,报错如下:Access to register of unclocked peripheral at 0x40010C00 cause BUS_FAULT,是什么原因?应当怎样解决?仿真信息提示如下:
PROSPICE 8.07.02 (Build 25463) (C) Labcenter Electronics 1993-2018.
Loading HEX file '..12-LEDProjectObjects10.hex'. [U1_CM3CORE]
Read total of 1152 bytes from file '..12-LEDProjectObjects10.hex'. [U1_CM3CORE]
Access to register of unclocked peripheral at 0x40010C00 cause BUS_FAULT [U1_CM3CORE]
原因找到了:
错误程序:bsp_led.c
#include "bsp_led.h"
void LED_GPIO_Config(void) //LED_用到的GPIO0配置函数,
{
GPIO_InitTypeDef GPIO_InitStruct; //按照GPIO_InitTypeDef这种结构体(表格)的格式,定义了一个新的结构体,名字叫GPIO_InitStruct
GPIO_InitStruct.GPIO_Pin = LED_G_GPIO_PIN; //把具体的参数输入到表格中,
GPIO_InitStruct.GPIO_Mode = GPIO_Mode_Out_PP;
GPIO_InitStruct.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(LED_G_GPIO_PORT, &GPIO_InitStruct); //利用初始化函数,把初始化GPIO需要用到的参数分别装载到对应的寄存器中,
RCC_APB2PeriphClockCmd(LED_G_GPIO_CLK, ENABLE); //APB2时钟使能函数,打开GPIOB的时钟
}
正确程序:bsp_led.c
#include "bsp_led.h"
void LED_GPIO_Config(void) //LED_用到的GPIO0配置函数,
{
GPIO_InitTypeDef GPIO_InitStruct; //按照GPIO_InitTypeDef这种结构体(表格)的格式,定义了一个新的结构体,名字叫GPIO_InitStruct
GPIO_InitStruct.GPIO_Pin = LED_G_GPIO_PIN; //把具体的参数输入到表格中,
GPIO_InitStruct.GPIO_Mode = GPIO_Mode_Out_PP;
GPIO_InitStruct.GPIO_Speed = GPIO_Speed_50MHz;
RCC_APB2PeriphClockCmd(LED_G_GPIO_CLK, ENABLE); //APB2时钟使能函数,先打开GPIOB的时钟
GPIO_Init(LED_G_GPIO_PORT, &GPIO_InitStruct); //后初始化GPIOB,利用初始化函数,把初始化GPIO需要用到的参数分别装载到对应的寄存器中,
}
原因:应当先开时钟,再初始化 SPIO。
一周热门 更多>