Thread 中讨论的其他器件:EK-TM4C123GXL
我在其他端口上有几个正常工作的中断、但我无法使中断在端口 A 上工作。 工作方式如下:
// RmtRxd 中的 B0
// B1 out RmtTxd
// B2 out SCL LCD
// B3 I/O SDA LCD
// B4输入 模式开关
// B5在 锁定开关中
// TP37 pu 中的 B6
// TP15 pu 中的 B7
// I2C0 & UART1 //
GPIO_PORTB_AFSEL_R |= 0x0F; // Alt 功能: I2C0和 UART1。
GPIO_PORTB_PCTL_R &=~Ω(0x00001111); //将多路复用器引脚连接到 I2C0和 UART1。
GPIO_PORTB_PCTL_R |= 0x00001111; //
GPIO_PORTB_ODR_R |= 0x08; //开漏极垫。
GPIO_PORTB_DATA_R = 0x02; //输出高电平。
GPIO_PORTB_PUR_0xC0 ; //上拉。
GPIO_PORTB_DIR_= 0x02; //输出。
GPIO_PORTB_DEN_R = 0xFF; //全部打开。
IntRegister (INT_GPIOB、PortB_Interrupt); //寄存器中断处理程序。
GPIO_PORTB_IBE_R = MODE_Button_BIT | LOCK_button_BIT; //在两个边沿上中断。
GPIO_PORTB_IM_R = MODE_Button_BIT | LOCK_button_BIT; //启用中断。
请注意 MODE_BUTTON_BIT 为0x10、LOCK_button_bit 为0x20。
但以下情况不起作用:
// A0 in RxD/
// A1 out TXD/
//在 TP33 pu 中为 A2
// BattPwrSense v6.0中的 A3
//在 TP35 pu 中为 A4
// TP36 pu 中的 A5
// A6 (输出) SCL2 USB
// A7 (I/O) SDA2 USB PU
GPIO_PORta_AFSEL_R = 0x03; // Alt 功能: UART0。
GPIO_Porta_PCTL_R = 0x00000011; //
GPIO_PORta_PUR_R = 0xB4; //上拉。
GPIO_PORta_den_R = 0x0B; //全部打开。
IntRegister (INT_GPIOA、PORTA_Interrupt);//寄存器中断处理程序。
GPIO_PORta_IBE_R = PA_SW_SENSE_BIT; //在两个边沿上中断。
GPIO_PORta_IM_R = PA_SW_SENSE_BIT; //启用中断。
谢谢、Doug
P.S.、如果需要、我将使用 Sourcery CodeBench IDE。