新手上路
- 积分
- 38
- 金钱
- 38
- 注册时间
- 2016-11-18
- 在线时间
- 6 小时
|
1金钱
第一次用触摸屏,发现有问题,不知道是硬件问题还是驱动问题。
驱动是例程,以前在开发板上xpt2046可以正常驱动。
测量触摸板X+、X-之间电阻为620欧左右, Y+、Y-之间电阻为240欧左右,触摸后X与Y之间电阻会变化,触摸板应该是好的。
新打样的板子用TSC2046芯片采集触摸板信号时输出不正常。
芯片使能后:
触摸面板,中断输出脚没有反应,一直为高电平3.3V;
测量芯片X+、X-, Y+、Y-脚:没有触摸时X+、X-, 为高电平3.3V,Y+、Y-为0V;触摸面板后X+、X-, 为3.3V,Y+、Y-为3.3V(不过触摸的是哪个点)。
IO配置如下,采用的是IO口模拟SPI:
static void XPT2046_GPIO_SPI_Config ( void )
{
GPIO_InitTypeDef GPIO_InitStructure;
RCC_APB2PeriphClockCmd ( macXPT2046_SPI_GPIO_CLK, ENABLE );
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
GPIO_InitStructure.GPIO_Pin = macXPT2046_SPI_CLK_PIN;
GPIO_InitStructure.GPIO_Speed = macXPT2046_CLK_GPIO_SPEED ;
GPIO_Init(macXPT2046_SPI_CLK_PORT, &GPIO_InitStructure);
GPIO_InitStructure.GPIO_Pin = macXPT2046_SPI_MOSI_PIN;
GPIO_InitStructure.GPIO_Speed = macXPT2046_MOSI_GPIO_SPEED ;
GPIO_Init(macXPT2046_SPI_MOSI_PORT, &GPIO_InitStructure);
GPIO_InitStructure.GPIO_Pin = macXPT2046_SPI_CS_PIN;
GPIO_InitStructure.GPIO_Speed = macXPT2046_CS_GPIO_SPEED ;
GPIO_Init(macXPT2046_SPI_CS_PORT, &GPIO_InitStructure);
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU;
GPIO_InitStructure.GPIO_Pin = macXPT2046_SPI_MISO_PIN;
GPIO_Init(macXPT2046_SPI_MISO_PORT, &GPIO_InitStructure);
GPIO_InitStructure.GPIO_Pin = macXPT2046_EXTI_GPIO_PIN;
GPIO_Init(macXPT2046_EXTI_GPIO_PORT, &GPIO_InitStructure);
/* 使能XPT2046 */
macXPT2046_CS_ENABLE();
}
求高手解惑~~~
|
-
最佳答案
查看完整内容[请看2#楼]
好了,没问题了,是程序配置问题,IO口与仿真调试口的个别引脚复用了,把调试口设置成只占2个引脚的JTAG-DP Disabled and SW-DP Enabled就可以了。
|