用STM32驱动一个PT2272 的外设试一试。看看模块和手册,连接外设到STM32 ,由于是5v 输出的(通过示波器测试出来)。 所以为了安全起见,特地在STM32的手册里看看哪些引脚可以承受5V的电压。再结合自己的红牛板,选定了GPIOC9.10.11.12这四个脚:
连接之后,首先通过示波器测试: 按键A时D2高电平、B时D0高电平、C时D3高电平、D时D1高电平。
实现了按不同的按键,在1602上显示按键值:
看看PT2272的细节:
编写程序主要的部分如下:
使用宏定义,方便移植。
- #define PT2272D0 GPIO_ReadInputDataBit(GPIOC,GPIO_Pin_9)
- #define PT2272D1 GPIO_ReadInputDataBit(GPIOC,GPIO_Pin_10)
- #define PT2272D2 GPIO_ReadInputDataBit(GPIOC,GPIO_Pin_11)
- #define PT2272D3 GPIO_ReadInputDataBit(GPIOC,GPIO_Pin_12)
- Main函数相关的主要部分:
- if(PT2272D0==1)
- PM[10]='B';
- else if(PT2272D1==1)
- PM[10]='D';
- else if(PT2272D2==1)
- PM[10]='A';
- else if(PT2272D3==1)
- PM[10]='C';
- lcd_wcmd_4bit(0x8a); //1602显示
- lcd_wdat(PM[10]);
复制代码
测试视频已放在网上了:
|