STM32寄存器与库函数

前面定时器 的时候说了一个路子用到了直接操作寄存器。现在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

猜你喜欢

转载自blog.csdn.net/weixin_42381351/article/details/80705741