Skip to content

Commit fe79d56

Browse files
committed
使LCD和menu和外部输入能联动起来
1 parent ace3160 commit fe79d56

17 files changed

Lines changed: 607 additions & 313 deletions

File tree

README.md

Lines changed: 18 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,21 @@
11
# stm32_framework
2+
Welcome to the stm32_framework !
3+
24
一个计划实现STM32F1和F4工程模板的项目,包含高级封装的HAL库外设驱动、Menu、FreeRTOS、STemWin、LWIP、USB、FATFS、DSP等,以及包含加密、BPNN、最小二乘等诸多便利的组件和算法,并具有良好的易用性。
35

4-
目前只有F1,当F1完成后,F4就快了...吧。你问我为何不用STM32CubeMX或者STM32IDE,不踏实,哼~
6+
目前只有F1,当F1完成后,F4就快了...吧。
7+
8+
Author : Staok
9+
10+
Email : superxhy@qq.com
11+
12+
Repo : https://github.com/Staok/stm32_framework
13+
14+
System is starting...
15+
16+
...
17+
18+
System init over!
519

620
------
721

@@ -33,13 +47,13 @@
3347
- 所有头文件均放在sys.h里面,其他库文件想互相调用时只需调sys.h即可,不乱
3448
- 本框架是正经的框架,有命名规范和应用规范的说明,在sys.h的上面
3549

36-
### 裸跑或FreeRTOS
50+
### 裸跑或者FreeRTOS
3751

3852
- SYSTEM_SUPPORT_OS:是否开启FreeRTOS,不开为裸跑;具体应用逻辑编写和任务配置分别在TaskConfig.c和BareConfig.c里面
3953

4054
FreeRTOS说明:所有API均罗列在TaskConfig.h里!关于FreeRTOS的信号量和事件标志组,均用任务通知替代!关于FreeRTOS的任务与任务、任务与中断间的通讯只用消息队列,功能最全!
4155

42-
### 常用组件
56+
### 框架常用组件
4357

4458
- Menu框架:SYSTEM_SUPPORT_Menu:提供一个实现菜单功能的模板;推荐作为标准常用,应用逻辑围绕这个菜单框架展开编写;具体文件在sys_menu.c里面;按照里面的注释,void keyProcess(void)函数负责扫描输入,void menuProcess(void)函数负责执行菜单功能,这两个函数必须放到一个循环里一直执行
4559
- string、sprintf库:SYSTEM_SUPPORT_MyString:提供一个实现了string.h大部分字符操作函数的库;具体作用看MyString.c文件里的注释
@@ -57,7 +71,7 @@
5771
- MQTT:暂时缺省
5872
- JPEG、GIF解码和BMP编解码:即将加上
5973

60-
### 基础外设
74+
### 框架基础外设
6175

6276
(再次说明,具体实用方法看相应宏定义旁的注释,均在sys.h里)
6377

STM32F1_HAL_freeRTOS_Framework/Devices/LCD ILI9341/GUI.h

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
2020
//使用这两个变量定义画笔颜色和背景色
2121
POINT_COLOR //字符颜色
22-
BACK_COLOR //字符背景颜色,默认为白色
22+
BACK_COLOR //字符背景颜色
2323
2424
//画笔颜色
2525
#define WHITE 0xFFFF
@@ -123,14 +123,14 @@ void LCD_ShowNum(u16 x,u16 y,u32 num,u8 len,u8 size);
123123
//******************************************************************
124124
//函数名: LCD_ShowString———————————————————————————————————————————————————————————————————————————————————用于写英文和数字
125125
//作者: xiao冯@全动电子——————————————————————————————————————————————————————————————————————————————————注:要显示数字变量等信息只需用sprintf,然后用此函数显示
126-
//——————————————————例子:
126+
//——————————————————例子:————————————————————————————
127127
/* sprintf(RuningTime_SHOW_STR,"%dmin/%dmin",Timer_IT_flags._1min,SetMaxRuningMins);
128128
POINT_COLOR=WHITE;
129129
LCD_ShowString(10,10,16,(u8*)RuningTime_SHOW_STR,0);
130130
例子:
131131
sprintf(RTC_buf,"%d-%d-%d %d-%d-%d",calendar.w_year,calendar.w_month,calendar.w_date,calendar.hour,calendar.min,calendar.sec);
132132
printf_uart(UART1,"%s",RTC_buf);
133-
POINT_COLOR = RED; //————————————————————————————————必要指定颜色,否则可能会和背景同色
133+
POINT_COLOR = RED; //————————————————————————————————指定颜色,要避免画笔和背景同色
134134
BACK_COLOR = BLACK;
135135
LCD_ShowString(10,50,16,(u8*)RTC_buf,0);
136136

STM32F1_HAL_freeRTOS_Framework/Devices/LCD ILI9341/lcd.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@
5050
_lcd_dev lcddev;
5151

5252
//画笔颜色,背景颜色
53-
u16 POINT_COLOR = 0x0000,BACK_COLOR = 0xFFFF;
53+
u16 POINT_COLOR = RED,BACK_COLOR = BLACK;
5454
u16 DeviceCode;
5555

5656

STM32F1_HAL_freeRTOS_Framework/Devices/LCD ILI9341/lcd.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -86,7 +86,7 @@ typedef struct
8686
#define DATAOUT(x) GPIOB->ODR=x; //数据输出
8787
#define DATAIN GPIOB->IDR; //数据输入
8888

89-
#define LCD_PBh8dataOut(x) GPIOB->ODR=(((GPIOB->IDR)&0x00ff)|(x&0xff00)); //PB高八位输出
89+
#define LCD_PBh8dataOut(x) GPIOB->ODR=(((GPIOB->IDR)&0x00ff)|(x&0xff00)) //PB高八位输出
9090
//////////////////////////////////////////////////////////////////////
9191

9292

STM32F1_HAL_freeRTOS_Framework/README.md

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,22 @@
11
# stm32_framework
2+
Welcome to the stm32_framework !
3+
24
一个计划实现STM32F1和F4工程模板的项目,包含高级封装的HAL库外设驱动、Menu、FreeRTOS、STemWin、LWIP、USB、FATFS、DSP等,以及包含加密、BPNN、最小二乘等诸多便利的组件和算法,并具有良好的易用性。
35

46
目前只有F1,当F1完成后,F4就快了...吧。
57

8+
Author : Staok
9+
10+
Email : superxhy@qq.com
11+
12+
Repo : https://github.com/Staok/stm32_framework
13+
14+
System is starting...
15+
16+
...
17+
18+
System init over!
19+
620
------
721

822
## 计划组件

STM32F1_HAL_freeRTOS_Framework/SYSTEM/PeriphConfig/PeriphConfig.c

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -46,12 +46,12 @@
4646
MODE: GPIO_MODE_INPUT、GPIO_MODE_ANALOG、GPIO_MODE_AF_INPUT 输入
4747
GPIO_MODE_OUTPUT_PP、GPIO_MODE_OUTPUT_OD、GPIO_MODE_AF_PP、GPIO_MODE_AF_OD 输出
4848
GPIO_MODE_IT_RISING、GPIO_MODE_IT_FALLING、GPIO_MODE_IT_RISING_FALLING 选用IT表示启用EXTI,最多16线EXTI,如PA0和PB0共用EXTI0
49-
上下拉:GPIO_NOPULL、GPIO_PULLUP、GPIO_PULLDOWN
50-
翻转速度:GPIO_SPEED_FREQ_LOW、GPIO_SPEED_FREQ_MEDIUM、GPIO_SPEED_FREQ_HIGH
51-
GPIOx:GPIOA~GPIOE
52-
默认状态:GPIO_PIN_SET(1u)或GPIO_PIN_RESET(0u)
49+
上下拉: GPIO_NOPULL、GPIO_PULLUP、GPIO_PULLDOWN
50+
翻转速度: GPIO_SPEED_FREQ_LOW、GPIO_SPEED_FREQ_MEDIUM、GPIO_SPEED_FREQ_HIGH
51+
GPIOx: GPIOA~GPIOE
52+
默认状态: GPIO_PIN_SET(1u)或GPIO_PIN_RESET(0u)
5353
EXTI优先级:0~15
54-
启否EXTI:TRUE或者FALSE
54+
启否EXTI: TRUE或者FALSE
5555
*/
5656
GPIO_Init_Struct TestLED_IO_Struct[] =
5757
{ /* PIN MODE 上下拉 翻转速度 GPIOx 默认状态 EXTI优先级 启否EXTI*/
@@ -113,6 +113,7 @@ Devices_Init_Struct UserDevices[devicesNum] =
113113
}
114114
};
115115

116+
116117
/*STEP5:去.h文件里定义IO控制的宏和改变入出模式的宏*/
117118

118119

0 commit comments

Comments
 (0)