FT5206GE1屏幕驱动 适配STM32F1 型号SLC07009A(记录第一次完全独自编写触摸板驱动)
首先,用到的几个文件和STM32代码在这里
通过网盘分享的文件:FT5206GE1屏幕驱动.zip
链接: https://pan.baidu.com/s/1XEeFNl00n32Ar8rniFh9Ew?pwd=qjus 提取码: qjus
--来自百度网盘超级会员v4的分享
其实驱动就是iic时序也简单,只是这个屏幕和实际的引脚不同,而且没有内置上拉,只能你自己外接一个
接下来是引脚接线
实际的引脚应该是:
1.scl
2.sda
3.vcc
4.wake
5.int
6.gnd
根本不是文档里面的那个屏幕引脚,这个是我照着灯看着芯片引脚和排线一根一根算出来的,真是可恶的商家
剩下的代码就是时序不一样,他比正常的iic之间多了一个stop
iic实例:
uint8_t FT5206GE1_ReadReg(uint8_t RegAddress)
{uint8_t Data;MyI2C_Start(); //I2C起始MyI2C_SendByte(0x70); //发送从机地址,读写位为0,表示即将写入MyI2C_ReceiveAck(); //接收应答MyI2C_SendByte(RegAddress); //发送寄存器地址MyI2C_ReceiveAck(); //接收应答MyI2C_Stop(); MyI2C_Start(); //I2C重复起始MyI2C_SendByte(0x70 | 0x01); //发送从机地址,读写位为1,表示即将读取MyI2C_ReceiveAck(); //接收应答Data = MyI2C_ReceiveByte(); //接收指定寄存器的数据MyI2C_SendAck(1); //发送应答,给从机非应答,终止从机的数据输出MyI2C_Stop(); //I2C终止return Data;
}void FT5206GE1_WriteReg(uint8_t RegAddress, uint8_t Data)
{MyI2C_Start(); //I2C起始MyI2C_SendByte(0x70); //发送从机地址,读写位为0,表示即将写入MyI2C_ReceiveAck(); //接收应答MyI2C_SendByte(RegAddress); //发送寄存器地址MyI2C_ReceiveAck(); //接收应答MyI2C_SendByte(Data); //发送要写入寄存器的数据MyI2C_ReceiveAck(); //接收应答MyI2C_Stop(); //I2C终止
}
也叫我使用了一个扩展口阔出来的: