新手入门
- 积分
- 3
- 金钱
- 3
- 注册时间
- 2020-10-15
- 在线时间
- 0 小时
|
发表于 2020-10-15 15:20:21
|
显示全部楼层
//初始化FT5206触摸屏
//返回值:0,初始化成功;1,初始化失败
u8 FT5206_Init(void)
{
u8 temp[2];
GPIO_InitTypeDef GPIO_Initure;
__HAL_RCC_GPIOH_CLK_ENABLE(); //开启GPIOH时钟
__HAL_RCC_GPIOA_CLK_ENABLE(); //开启GPIOI时钟
//PH7
GPIO_Initure.Pin=GPIO_PIN_0; //PA0
GPIO_Initure.Mode=GPIO_MODE_INPUT; //输入
GPIO_Initure.Pull=GPIO_PULLUP; //上拉
GPIO_Initure.Speed=GPIO_SPEED_HIGH; //高速
HAL_GPIO_Init(GPIOA,&GPIO_Initure); //初始化
//PI8
GPIO_Initure.Pin=GPIO_PIN_3; //PH3
GPIO_Initure.Mode=GPIO_MODE_OUTPUT_PP; //推挽输出
HAL_GPIO_Init(GPIOH,&GPIO_Initure); //初始化
CT_IIC_Init(); //初始化电容屏的I2C总线
FT_RST=0; //复位
delay_ms(20);
FT_RST=1; //释放复位
delay_ms(50);
temp[0]=0;
FT5206_WR_Reg(FT_DEVIDE_MODE,temp,1); //进入正常操作模式
FT5206_WR_Reg(FT_ID_G_MODE,temp,1); //查询模式
temp[0]=22; //触摸有效值,22,越小越灵敏
FT5206_WR_Reg(FT_ID_G_THGROUP,temp,1); //设置触摸有效值
temp[0]=12; //激活周期,不能小于12,最大14
FT5206_WR_Reg(FT_ID_G_PERIODACTIVE,temp,1);
//读取版本号,参考值:0x3003
FT5206_RD_Reg(FT_ID_G_LIB_VERSION,&temp[0],2);
if((temp[0]==0X30&&temp[1]==0X03)||temp[1]==0X01||temp[1]==0X02)//版本:0X3003/0X0001/0X0002
{
printf("CTP ID:%x\r\n",((u16)temp[0]<<8)+temp[1]);
return 0;
}
return 1;
}
实际设置temp[0]值没效果. |
|