新手上路
- 积分
- 29
- 金钱
- 29
- 注册时间
- 2020-7-29
- 在线时间
- 8 小时
|
1金钱
现在的情况是这样的:程序运行时卡在GUI_Init(),然后跳HardFault_Handler(),DEBUG发现卡在了GUI_DEVICE_CreateAndLink函数,显示结果一直白屏。。我尝试过启动文件改系统堆栈大小,没有解决。。也没有发现未定义的中断。。求大佬们帮看!感激不尽!
下面是主函数的代码(这一堆定时器的定义是界面按键功能要用到的):
- int main(void)
- {
- delay_init(); //延时函数初始化
- NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2); //设置NVIC中断分组2:2位抢占优先级,2位响应优先级
- uart_init(115200); //串口初始化为115200
- LED_Init(); //LED端口初始化
- TFTLCD_Init(); //LCD初始化
- KEY_Init(); //按键初始化
- TP_Init(); //触摸屏初始化
- FSMC_SRAM_Init(); //初始化SRAM
- TIM3_PWM_Init(20000,71); //时器计数频率72000000/72=1000khz,计数间隔0.001ms 定时器周期为20ms
- TIM4_PWM_Init(20000,71); //定时器计数频率72000000/72=1000khz,计数间隔0.001ms 定时器周期为20ms
- TIM5_PWM_Init(20000,71); //定时器计数频率72000000/72=1000khz,计数间隔0.001ms 定时器周期为20ms
- TIM_SetCompare1(TIM3,1530); //PC6 设置脉冲占空比,PC6为STM32的脉冲输出端口
- TIM_SetCompare2(TIM3,2390); //PC7
- TIM_SetCompare3(TIM3,1460); //PC8
- TIM_SetCompare4(TIM3,1500); //PC9
- TIM_SetCompare1(TIM4,1500); //PD12
- TIM_SetCompare2(TIM4,2500); //PD13
-
- TIM_SetCompare3(TIM4,1470); //PD14
- TIM_SetCompare4(TIM4,2480); //PD15
- TIM_SetCompare1(TIM5,1440); //PA0
- TIM_SetCompare2(TIM5,1530); //PA1
- TIM_SetCompare3(TIM5,1500); //PA2
- TIM_SetCompare4(TIM5,2500); //PA3
-
- TIM2_Int_Init(999,71); //1KHZ 定时器1ms
- TIM6_Int_Init(999,719); //10ms中断
- my_mem_init(SRAMIN); //初始化内部内存池
- my_mem_init(SRAMEX); //初始化外部内存池
-
- RCC_AHBPeriphClockCmd(RCC_AHBPeriph_CRC,ENABLE);//使能CRC时钟,否则STemWin不能使用
- WM_SetCreateFlags(WM_CF_MEMDEV);
- GUI_Init();
- CreateFramewin();
- while(1){
- GUI_Delay(100);
- }
- }
复制代码 另外,今天发现如果把中间那一段自己的定时器配置注释掉,界面就会显示出来。。。但是加上就不行,如下代码可以有界面:
- int main(void)
- {
- delay_init(); //延时函数初始化
- NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2); //设置NVIC中断分组2:2位抢占优先级,2位响应优先级
- uart_init(115200); //串口初始化为115200
- LED_Init(); //LED端口初始化
- TFTLCD_Init(); //LCD初始化
- KEY_Init(); //按键初始化
- TP_Init(); //触摸屏初始化
- FSMC_SRAM_Init(); //初始化SRAM
- TIM2_Int_Init(999,71); //1KHZ 定时器1ms
- TIM6_Int_Init(999,719); //10ms中断
- my_mem_init(SRAMIN); //初始化内部内存池
- my_mem_init(SRAMEX); //初始化外部内存池
-
- RCC_AHBPeriphClockCmd(RCC_AHBPeriph_CRC,ENABLE);//使能CRC时钟,否则STemWin不能使用
- WM_SetCreateFlags(WM_CF_MEMDEV);
- GUI_Init();
- CreateFramewin();
- while(1){
- GUI_Delay(100);
- }
- }
复制代码 这是哪里出了问题呢。。。时钟定义看起来也并没有冲突。。
求大佬帮助!!也欢迎一起讨论!谢谢谢谢
|
|