5.LCD驱动调用方法以及按键函数编写—基于CT117E开发板的STM32库函数编程

来源:互联网 发布:苏昊大数据 编辑:程序博客网 时间:2024/05/16 05:48

LCD驱动调用方法:

首先添加LCD.C到工程中去,再 #include "lcd.h"  #include "fonts.h"

例:

  1. STM3210B_LCD_Init();
  2. LCD_SetTextColor(White);
  3. LCD_SetBackColor(Blue);
  4. LCD_Clear(Blue);
  5. LCD_DisplayStringLine(Line0,"====================");
  6. LCD_DisplayStringLine(Line1,"+ +");
  7. LCD_DisplayStringLine(Line2,"+ Welcome to GXCT +");
  8. LCD_DisplayStringLine(Line3,"+ +");
  9. LCD_DisplayStringLine(Line4,"+ LCD_ASCII DEMO +");
  10. LCD_DisplayStringLine(Line5,"+ +");
  11. LCD_DisplayStringLine(Line6,"+ www.gxct.net +");
  12. LCD_DisplayStringLine(Line7,"+ +");
  13. LCD_DisplayStringLine(Line8,"====================");
  14. LCD_DisplayStringLine(Line9,"====================");
STM3210B_LCD_Init();
LCD_SetTextColor(White);//字体颜色
LCD_SetBackColor(Blue);//字体背景色
LCD_Clear(Blue);//将屏幕清空并设为蓝色背景
        这几句在main()中先设置好,在要用LCD显示时用              
               LCD_DisplayStringLine(line0,"Are you ok?")
        里面是行号和要显示的字符串.

按键函数编写:

参考开发板原理图,四个按键均有上拉电阻,IO口低电平有效。要在STM32中设为上拉输入。下面是按键初始化函数
  1. void Key_Init(void)
  2. {
  3. GPIO_InitTypeDef GPIO_InitStructure;//GPIO结构体复用定义
  4.     //打开GPIOA和GPIOB的时钟
  5. RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);
  6. RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE);
  7. //B1,B2按键配置,它们都在A组,所以一起
  8. GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0 | GPIO_Pin_8; // A0,A8
  9. GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU;//上拉输入模式
  10. GPIO_Init(GPIOA, &GPIO_InitStructure);//初始化函数
  11. GPIO_InitStructure.GPIO_Pin = GPIO_Pin_1 | GPIO_Pin_2;//B1,B2
  12. GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU;//上拉输入模式
  13. GPIO_Init(GPIOB, &GPIO_InitStructure);//初始化函数
  14. }
有一组宏定义要注意
  1. #define RB1 GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_0)
  2. #define RB2 GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_8)
  3. #define RB3 GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_1)
  4. #define RB4 GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_2)
它们 用于读取按键值,当其为1时代表按键按下。
接下来直接读取RB1,RB2,RB3,RB4,再加上消抖就OK了。
0 0
原创粉丝点击