基于stm32f103c8t6,lcd12864开漏输出怎么设置
时间: 2024-01-26 15:02:28 浏览: 25
设置步骤如下:
1. 将LCD的EN、RW、RS等引脚接到STM32F103C8T6的GPIO口上。
2. 配置GPIO口为输出模式,并开启开漏输出模式。
```c
GPIO_InitTypeDef GPIO_InitStructure;
/* 使能GPIO时钟 */
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);
/* 配置GPIO */
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0 | GPIO_Pin_1 | GPIO_Pin_2 | GPIO_Pin_3 | GPIO_Pin_4 | GPIO_Pin_5;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_OD; // 开漏输出
GPIO_Init(GPIOA, &GPIO_InitStructure);
```
3. 在程序中控制LCD的EN、RW、RS等引脚输出高低电平。
```c
/* 设置RS引脚为指令模式 */
GPIO_ResetBits(GPIOA, GPIO_Pin_0);
/* 设置RW引脚为写模式 */
GPIO_ResetBits(GPIOA, GPIO_Pin_1);
/* 发送指令 */
GPIO_Write(GPIOA, 0x01);
/* 使能EN引脚 */
GPIO_SetBits(GPIOA, GPIO_Pin_2);
/* 延时一段时间 */
delay_ms(5);
/* 关闭EN引脚 */
GPIO_ResetBits(GPIOA, GPIO_Pin_2);
```
需要注意的是,在使用LCD时需要按照LCD的手册来编写对应的指令。