STM32F4系列和STM32F2系列是PIN对PIN,
选择STM32 AN3128开发包 STM322XG-EVAL 做对应修改,就可以移植到STM32F407-EVAL.
移植前准备工作. AN3128压缩包(图形库DEMO), stm32f2-f4_demobuild.zip(触摸屏初始化)
移植后的代码已上传在我的资源。
(1)改时钟 F2和F4的主频,时序关系对应.#define PLL_M 25#define PLL_N 336
/* SYSCLK = PLL_VCO / PLL_P */#define PLL_P 2
/* USB OTG FS, SDIO and RNG Clock = PLL_VCO / PLLQ */#define PLL_Q 7uint32_t SystemCoreClock = 168000000;(2) LCD初始化函数void STM322xG_LCD_Init(void)/* Adjust the Gamma Curve ------------------------------------------------*/#define ECHO 1#if ECHOLCD_WriteReg(LCD_REG_48, 0x0007);LCD_WriteReg(LCD_REG_49, 0x0007);LCD_WriteReg(LCD_REG_50, 0x0007);LCD_WriteReg(LCD_REG_53, 0x0007);LCD_WriteReg(LCD_REG_54, 0x0007);LCD_WriteReg(LCD_REG_55, 0x0700);
LCD_WriteReg(LCD_REG_56, 0x0700);LCD_WriteReg(LCD_REG_57, 0x0700);LCD_WriteReg(LCD_REG_60, 0x0700);LCD_WriteReg(LCD_REG_61, 0x1F00);#elseLCD_WriteReg(LCD_REG_48, 0x0006);LCD_WriteReg(LCD_REG_49, 0x0101);LCD_WriteReg(LCD_REG_50, 0x0003);LCD_WriteReg(LCD_REG_53, 0x0106);LCD_WriteReg(LCD_REG_54, 0x0b02);LCD_WriteReg(LCD_REG_55, 0x0302);LCD_WriteReg(LCD_REG_56, 0x0707);LCD_WriteReg(LCD_REG_57, 0x0007);LCD_WriteReg(LCD_REG_60, 0x0600);LCD_WriteReg(LCD_REG_61, 0x020b);#endif(3) TSC 触摸屏函数相关部分修改如下:void TSC_Read(void)//getDisplayCoordinateX( TSC_Value_X, TSC_Value_Y );
//getDisplayCoordinateY( TSC_Value_X, TSC_Value_Y );u32_TSXCoordinate =319 - Read_X();u32_TSYCoordinate =Read_Y();
(void)Read_Z(); //必须touch_done = 1;
//参考源代码.仿写3个函数uint16_t Read_X(void){
int32_t x, xr;
x = I2C_ReadDataBuffer(pTscHwParam.TSC_DeviceRegister, IOE_REG_TSC_DATA_Y);
/* first correction */
xr = (x * 320) >> 12;
/* second correction */
xr = ((xr * 32)/29) - 17;
if(xr <= 0)
xr = 0;
return (uint16_t)(xr);
}
uint16_t Read_Z(void)
{
uint32_t z;
z = I2C_ReadDataBuffer(pTscHwParam.TSC_DeviceRegister, IOE_REG_TSC_DATA_Z);
if(z <= 0)
z = 0;
return (uint16_t)(z);
}
uint16_t Read_Y(void)
{
int32_t y, yr;
y= I2C_ReadDataBuffer(pTscHwParam.TSC_DeviceRegister, IOE_REG_TSC_DATA_X);
yr= (y * 240) >> 12;
yr = ((yr * 240) / 217) - 12;
if(yr <= 0)
yr = 0;
return (uint16_t)(yr);
}至此,一切就都OK了
Stm32F2系列图形界面触摸屏(AN3128)到 STM32F407- EVAL开发板笔记
最新推荐文章于 2024-07-17 01:27:17 发布