|
新手学习[STemWin教程入门篇]第二期:emWin5.xx的详细移植步骤,屏是9320,触摸xpt2046,emwin移植正常,移植触摸时碰到以下几个问题:
1. /* 前后两次采样在+-ERR_RANGE内 */
if ((iX <= ADC_ERR_RANGE) && (iY <= ADC_ERR_RANGE))
{ if(g_ucGPIX == 1)
{
*_usY = (iX1 + iX2) / 2;
*_usX = (iY1 + iY2) / 2;
}
else
{
*_usX = (iX1 + iX2) / 2;
*_usY = (iY1 + iY2) / 2;
}
return 1;
}
else
{
return 0;
}
中if(g_ucGPIX == 1)这句如何修改,源程序看是RA8875芯片驱动模块中的量。
2.int GUI_TOUCH_X_MeasureX(void)
{
TOUCH_SCAN();
return(g_tTP.usAdcNowX);
}
emwin调用TOUCH_SCAN()返回X,Y的值,跟到while(!TOUCH_ReadAdcXY(&g_tTP.usAdcNowX, &g_tTP.usAdcNowY)&&s_invalid_count < 20)这句,其中&g_tTP.usAdcNowX, &g_tTP.usAdcNowY并没有赋值,如何执行函数TOUCH_ReadAdcXY?
3.*********************************************************************************************************
* 函 数 名: TSC2046_ReadAdc
* 功能说明: 选择一个模拟通道,启动ADC,并返回ADC采样结果
* 形 参:_ucCh = 0 表示X通道; 1表示Y通道
* 返 回 值: 12位ADC值
*********************************************************************************************************
中这句SPI1_ReadWriteByte((1 << 7) | (_ucCh << 4)); /* 选择通道1, 测量X位置 */
计算读X时TSC2046 控制字为0X80,读Y时为0X90,查资料都是读X时为=0XD0;读Y时为0X90;是不是有错误? |
|