分享电容触摸屏FT6236驱动程序

2019-07-21 04:14发布

来论坛索取了很多资料,一直没分享过,今天分享一个测试好了的程序。借鉴了原子哥的FT5206和论坛其他大虾的程序,分享给有需要的人吧。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
20条回答
无帝老三
2019-07-23 09:56
//从FT6236读出一次数据
//reg:起始寄存器地址
//buf:数据缓缓存区
//len:读数据长度                          
void FT6236_RD_Reg(u16 reg,u8 *buf,u8 len)
{
        u8 i;
         FT6236_Start();        
         FT6236_WrOneByte(FT_CMD_WR);           //发送写命令         
        FT6236_CheckAck();                                                                                                               
         FT6236_WrOneByte(reg&0XFF);           //发送低8位地址
        FT6236_CheckAck();  
         FT6236_Start();                     
        FT6236_WrOneByte(FT_CMD_RD);           //发送读命令                  
        FT6236_CheckAck();         
        for(i=0;i<len;i++)
        {           
                *buf++ = FT6236_RdOneByte();                //读入1B数据到接收数据缓冲区中
                FT6236_McuACK();                                        //发送应答位         
        }
        FT6236_McuNACK();                                                //n个字节读完,发送非应答位
    FT6236_Stop();                                        //产生一个停止条件         
}
这个读函数存在一个深坑,读到最后一个字节后,理论上应该直接发NoAck,但是这个程序却先发了一个Ack,再发送NoAck,这样会出现问题的。

一周热门 更多>