main函数while循环直接调用GUIDEMO_main这个函数。 while(1) { LED1 = 0; GUIDEMO_main(); LED1 = 1; } 复制 GUIConf.h文件中的代码 #define GUI_OS (0) #define GUI_SUPPORT_TOUCH (0) #define GUI_SUPPORT_UNICODE (1) #define GUI_DEFAULT_FONT &GUI_Font6x8 #define GUI_ALLOC_SIZE 40*1024 #define GUI_WINSUPPORT 1 #define GUI_SUPPORT_MEMDEV 1 #define GUI_SUPPORT_AA 1 复制 LCDConf.h文件中的代码 #define LCD_XSIZE (320) #define LCD_YSIZE (240) #define LCD_BITSPERPIXEL (16) #define LCD_CONTROLLER (-1) #define LCD_FIXEDPALETTE (565) #define LCD_SWAP_RB (1) #define LCD_INIT_CONTROLLER() ili9341_initialize(); 复制 定时器2代码 void timer2_initialize(void) { TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure; RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM2,ENABLE); TIM_DeInit(TIM2); TIM_TimeBaseStructure.TIM_Period=2; TIM_TimeBaseStructure.TIM_Prescaler=(36000-1); TIM_TimeBaseStructure.TIM_ClockDivision=TIM_CKD_DIV1; TIM_TimeBaseStructure.TIM_CounterMode=TIM_CounterMode_Up; TIM_TimeBaseInit(TIM2,&TIM_TimeBaseStructure); TIM_ClearFlag(TIM2,TIM_FLAG_Update); TIM_ITConfig(TIM2,TIM_IT_Update,ENABLE); TIM_Cmd(TIM2,ENABLE); return ; } 复制 定时器中断代码 extern volatile int OS_TimeMS; void TIM2_IRQHandler(void) { if ( TIM_GetITStatus(TIM2 , TIM_IT_Update) != RESET ) { TIM_ClearITPendingBit(TIM2 , TIM_FLAG_Update); OS_TimeMS++; if(OS_TimeMS%20==0) { // GUI_TOUCH_Exec(); // 不带触摸不需要这条语句 } } }
GUIConf.h文件中的代码 #define GUI_OS (0) #define GUI_SUPPORT_TOUCH (0) #define GUI_SUPPORT_UNICODE (1) #define GUI_DEFAULT_FONT &GUI_Font6x8 #define GUI_ALLOC_SIZE 40*1024 #define GUI_WINSUPPORT 1 #define GUI_SUPPORT_MEMDEV 1 #define GUI_SUPPORT_AA 1 复制 LCDConf.h文件中的代码 #define LCD_XSIZE (320) #define LCD_YSIZE (240) #define LCD_BITSPERPIXEL (16) #define LCD_CONTROLLER (-1) #define LCD_FIXEDPALETTE (565) #define LCD_SWAP_RB (1) #define LCD_INIT_CONTROLLER() ili9341_initialize(); 复制 定时器2代码 void timer2_initialize(void) { TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure; RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM2,ENABLE); TIM_DeInit(TIM2); TIM_TimeBaseStructure.TIM_Period=2; TIM_TimeBaseStructure.TIM_Prescaler=(36000-1); TIM_TimeBaseStructure.TIM_ClockDivision=TIM_CKD_DIV1; TIM_TimeBaseStructure.TIM_CounterMode=TIM_CounterMode_Up; TIM_TimeBaseInit(TIM2,&TIM_TimeBaseStructure); TIM_ClearFlag(TIM2,TIM_FLAG_Update); TIM_ITConfig(TIM2,TIM_IT_Update,ENABLE); TIM_Cmd(TIM2,ENABLE); return ; } 复制 定时器中断代码 extern volatile int OS_TimeMS; void TIM2_IRQHandler(void) { if ( TIM_GetITStatus(TIM2 , TIM_IT_Update) != RESET ) { TIM_ClearITPendingBit(TIM2 , TIM_FLAG_Update); OS_TimeMS++; if(OS_TimeMS%20==0) { // GUI_TOUCH_Exec(); // 不带触摸不需要这条语句 } } }
LCDConf.h文件中的代码 #define LCD_XSIZE (320) #define LCD_YSIZE (240) #define LCD_BITSPERPIXEL (16) #define LCD_CONTROLLER (-1) #define LCD_FIXEDPALETTE (565) #define LCD_SWAP_RB (1) #define LCD_INIT_CONTROLLER() ili9341_initialize(); 复制 定时器2代码 void timer2_initialize(void) { TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure; RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM2,ENABLE); TIM_DeInit(TIM2); TIM_TimeBaseStructure.TIM_Period=2; TIM_TimeBaseStructure.TIM_Prescaler=(36000-1); TIM_TimeBaseStructure.TIM_ClockDivision=TIM_CKD_DIV1; TIM_TimeBaseStructure.TIM_CounterMode=TIM_CounterMode_Up; TIM_TimeBaseInit(TIM2,&TIM_TimeBaseStructure); TIM_ClearFlag(TIM2,TIM_FLAG_Update); TIM_ITConfig(TIM2,TIM_IT_Update,ENABLE); TIM_Cmd(TIM2,ENABLE); return ; } 复制 定时器中断代码 extern volatile int OS_TimeMS; void TIM2_IRQHandler(void) { if ( TIM_GetITStatus(TIM2 , TIM_IT_Update) != RESET ) { TIM_ClearITPendingBit(TIM2 , TIM_FLAG_Update); OS_TimeMS++; if(OS_TimeMS%20==0) { // GUI_TOUCH_Exec(); // 不带触摸不需要这条语句 } } }
定时器2代码 void timer2_initialize(void) { TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure; RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM2,ENABLE); TIM_DeInit(TIM2); TIM_TimeBaseStructure.TIM_Period=2; TIM_TimeBaseStructure.TIM_Prescaler=(36000-1); TIM_TimeBaseStructure.TIM_ClockDivision=TIM_CKD_DIV1; TIM_TimeBaseStructure.TIM_CounterMode=TIM_CounterMode_Up; TIM_TimeBaseInit(TIM2,&TIM_TimeBaseStructure); TIM_ClearFlag(TIM2,TIM_FLAG_Update); TIM_ITConfig(TIM2,TIM_IT_Update,ENABLE); TIM_Cmd(TIM2,ENABLE); return ; } 复制 定时器中断代码 extern volatile int OS_TimeMS; void TIM2_IRQHandler(void) { if ( TIM_GetITStatus(TIM2 , TIM_IT_Update) != RESET ) { TIM_ClearITPendingBit(TIM2 , TIM_FLAG_Update); OS_TimeMS++; if(OS_TimeMS%20==0) { // GUI_TOUCH_Exec(); // 不带触摸不需要这条语句 } } }
定时器中断代码 extern volatile int OS_TimeMS; void TIM2_IRQHandler(void) { if ( TIM_GetITStatus(TIM2 , TIM_IT_Update) != RESET ) { TIM_ClearITPendingBit(TIM2 , TIM_FLAG_Update); OS_TimeMS++; if(OS_TimeMS%20==0) { // GUI_TOUCH_Exec(); // 不带触摸不需要这条语句 } } }
举报
本版积分规则 发表回复 回帖后跳转到最后一页
人才类勋章
5
51
0
扫码关注 21ic 官方微信
扫码关注嵌入式微处理器
扫码关注电源系统设计
扫码关注21ic项目外包
扫码浏览21ic手机版
本站介绍 | 申请友情链接 | 欢迎投稿 | 隐私声明 | 广告业务 | 网站地图 | 联系我们 | 诚聘英才
京公网安备 11010802024343号