中级会员
 
- 积分
- 316
- 金钱
- 316
- 注册时间
- 2018-4-4
- 在线时间
- 30 小时
|
20金钱
本帖最后由 肥油玉帝 于 2018-7-17 10:15 编辑
程序如下:[mw_shl_code=c,true]static OS_STK StartTaskStk[TASK_STK_SIZE];
int main(void)
{
BSP_Init();//错误在这个函数里面
OSInit();
OSTaskCreate(StartTask,(void *)0,
&StartTaskStk[TASK_STK_SIZE-1],0);
OSStart();
return 0;
}[/mw_shl_code]
函数BSP_Init具体内容如下:
[mw_shl_code=c,true]void BSP_Init(void)
{
LED_GPIO_Config(); /* LED 端口初始化 *///错误在这个函数里面
LCD_Init(); /* LCD初始化 */
Key_GPIO_Config(); /* KEY初始化 */
Usart3_Config();
SystemInit(); /* 配置系统时钟为72M */
SysTick_init(); /* 初始化并使能SysTick定时器 */
}[/mw_shl_code]
函数LED_GPIO_Config具体内容如下:
[mw_shl_code=c,true]void LED_GPIO_Config(void)
{
GPIO_InitTypeDef GPIO_InitStructure;
RCC_APB2PeriphClockCmd( RCC_APB2Periph_GPIOC, ENABLE);//错误就发生在这
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0|GPIO_Pin_1|GPIO_Pin_2|GPIO_Pin_3 ;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(GPIOC, &GPIO_InitStructure);
GPIO_SetBits(GPIOC, GPIO_Pin_0 | GPIO_Pin_1 | GPIO_Pin_2 | GPIO_Pin_3); // turn off all led
}[/mw_shl_code]
在每一行前面加断点,进行一步步调试的时候
加入了断点
发现运行过
[mw_shl_code=c,true]RCC_APB2PeriphClockCmd( RCC_APB2Periph_GPIOC, ENABLE);[/mw_shl_code]
之后就会进入到HardFault_Handler死循环里,这时候的Registers和Call Stack+Locals分别如下
Registers
Call Stack+Locals
但是奇怪的是当我全速运行到 RCC_APB2PeriphClockCmd( RCC_APB2Periph_GPIOC, ENABLE);之前,然后使用Step one line就没事了,但是下载到板子上还是不能运行
补充内容 (2018-7-25 08:26):
我去,他解决的不是我的问题啊,为什么会出现“被解决”得情况,这.......莫名其妙 |
|