今天在调试LPC2478的LCD程序,需要用到Fast GPIO2[1]作为输出,本来简单的一个功能却花了我将近一个小时,仔细研究才发现这其中有个细节我一直没注意到。问题就出现在PINSEL10的设置上。
以下是LPC24xx用户手册有关PINSEL10寄存器的说明:
查看PINSEL4时发现他还复用ETM功能,我的开发板RTCK是通过电阻下拉到地的,因此当外部复位时,PINSEL10[3]置1,PINSEL4之前的设置被忽略,这是只有P2[0:8]只的ETM功能有效,其他功能都无效。因此如果需要使用P2[0:8]上的功能(GPIO,PWM,LCD等)须将PINSEL10[3]置0.补充一下:ETM是LPC2478的一种调试功能,具体内容可查看用户手册。