先前在玩9B96的时候关于键盘控制中按键中断如下配置: SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOE); GPIODirModeSet(GPIO_PORTE_BASE,GPIO_PIN_1,GPIO_DIR_MODE_IN); GPIOIntTypeSet(GPIO_PORTE_BASE,GPIO_PIN_0,GPIO_HIGH_LEVEL); GPIOPinIntEnable(GPIO_PORTE_BASE,GPIO_PIN_0); IntEnable(INT_GPIOE); 程序运行中按下按键,可以实现按键中断,但是这次自己设计电路这样写却无法通过,而且读管脚信号一直是低电平,即使量出高电平。之后将GPIODirModeSet(GPIO_PORTE_BASE,GPIO_PIN_1,GPIO_DIR_MODE_IN);
改为GPIOPinTypeGPIOInput(GPIO_PORTE_BASE,GPIO_PIN_0); 却恢复了。
对于:void GPIODirModeSet(unsigned long ulPort, unsigned char ucPins, unsigned long ulPinIO)理解是 设置所选GPIO端口指定管脚的方向和模式 如 GPIODirModeSe(GPIO_PORTA_BASE,GPIO_PIN_2,GPIO_DIR_MODE_IN) 函数设置PA2为输入。
而 void GPIOPinTypeGPIOInput(unsigned long ulPort, unsigned char ucPins)设置所选GPIO端口指定的管脚为高阻输入模式。如 GPIOPinTypeGPIOInput(GPIO_PORTA_BASE,GPIO_PIN_2);设置PA2脚为高阻输入模式。
不知道是否可以如上理解,或者哪位大侠有更深层次的分析,求解,谢谢。
|