前面定时器 的时候说了一个路子用到了直接操作寄存器。现在LCD在举一个例子。
void LCD_RESET(void) { LCD_RST_CLR; delay_ms(100); LCD_RST_SET; delay_ms(50); }
所谓复位就是:拉低--延时--拉高 就好了。一般用库函数,但是你看:
#define LCD_RST_SET GPIOC->BSRR=1<<5 //复位 PC5 #define LCD_RST_CLR GPIOC->BRR=1<<5 //复位 PC5
用的不是库函数哦!
现在我们修改一下 我们用的是PD6复位的!(初始化也要修改)
#define LCD_RST_SET GPIOD->BSRR=1<<6 //复位 PC5 #define LCD_RST_CLR GPIOD->BRR=1<<6 //复位 PC5
再看看别人的点亮屏幕
LCD_LED=1;//点亮背光
其实是:#define LCD_LED PBout(0) //LCD背光 PB0
再看#define PBout(n) BIT_ADDR(GPIOB_ODR_Addr,n) //输出
#define PBin(n) BIT_ADDR(GPIOB_IDR_Addr,n) //输入
现在我修改成#define LCD_LED PAout(1) //LCD背光 背光 PB0---》改成PA1