文档介绍://PD15-PD8 对应 LCD1602的D7-D0
//PC0 RS
//PC1 WR
//PC2 E
#include""
//LCD1602 的命令状态
#define Set_RS() GPIO_SetBits(GPIOC,GPIO_Pin_0); // 数据
#define Reset_RS() GPIO_ResetBits(GPIOC,GPIO_Pin_0); // 命令状态
#define Set_RW() GPIO_SetBits(GPIOC,GPIO_Pin_1); // 读
#define Reset_RW() GPIO_ResetBits(GPIOC,GPIO_Pin_1);// 写
#define Set_E() GPIO_SetBits(GPIOC,GPIO_Pin_2); // 使能
#define Reset_E() GPIO_ResetBits(GPIOC,GPIO_Pin_2);// 失能
uint8_t Buffer1[]={"FGasdkkk"};
uint8_t Buffer2[]={"CDABabcdefghijkl"};
uint8_t Buffer[];
GPIO_InitTypeDef GPIO_InitStructure;
void RCC_Config(void);
void GPIO_Config(void);
void Busy_Wait(void);
void Write_Cmd(uint8_t Cmd);
void Write_Data(uint8_t Data);
void Write_String(uint8_t cmd,uint8_t* p);
void LCD1602_Init(void);
void Delay(uint32_t t);
//uint8_t Read_Data(void);
int main(void)
{
RCC_Config();
GPIO_Config();
LCD1602_Init();
Write_String(0x80,Buffer1);
Write_String(0xc0,Buffer2);
while(1);
}
void RCC_Config(void)
{
SystemInit();
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOD|RCC_APB2Periph_GPIOC|RCC_APB2Periph_AFIO,ENABLE);
}
void GPIO_Config(void)
{
=GPIO_Pin_All;
=GPIO_Mode_Out_PP;
=GPIO_Speed_50MHz;
GPIO_Init(GPIOD,&GPIO_InitStructure);
=GPIO_Pin_0|GPIO_Pin_1|GPIO_Pin_2;
GPI