一、前期准备
单片机:STM32F103ZET6
开发环境:MDK5.14
库函数:标准库V3.5
PT2272-M4模块:淘宝有售
二、实验效果
三、驱动原理
PT2272-M4是5V信号输出的,所以必要找到单片机带FT脚的作为接收口。按下按键,对应的输出端口输出高电平,反之输出低电平。A,B,C,D对应D2,D0,D3和D1。
需要完整工程或者有问题的请加QQ:1002521871,验证:呵呵。
四、驱动代码
wirelesskey.h
#ifndef __WIRELESS_KEY_H__
#define __WIRELESS_KEY_H__
#include "stm32f10x.h"
#include "gpio.h"
#define WIRELESS_D0 PEin(12)
#define WIRELESS_D1 PEin(13)
#define WIRELESS_D2 PEin(14)
#define WIRELESS_D3 PEin(15)
#define WIRELESS_D0_PIN GPIO_Pin_12
#define WIRELESS_D1_PIN GPIO_Pin_13
#define WIRELESS_D2_PIN GPIO_Pin_14
#define WIRELESS_D3_PIN GPIO_Pin_15
#define WIREELESSPORT GPIOE
#define WIRELESSCLKLINE RCC_APB2Periph_GPIOE
extern void WirelessKeyConfiguration(void);
#endif
wirelesskey.c
#include "wirelesskey.h"
void WirelessKeyConfiguration(void)
{
GPIO_InitTypeDef GPIO;
//Enable APB2 Bus
RCC_APB2PeriphClockCmd(WIRELESSCLKLINE, ENABLE);
//Register IO
GPIO.GPIO_Pin = WIRELESS_D0_PIN | WIRELESS_D1_PIN |
WIRELESS_D2_PIN | WIRELESS_D3_PIN;
GPIO.GPIO_Mode = GPIO_Mode_IPD;
GPIO_Init(WIREELESSPORT, &GPIO);
}
由于作者能力有限,有不妥之处欢迎指正,邮箱alex_hua@foxmail.com