我对 Tiva 很陌生、而且微处理器一般而言、因此很抱歉、我的问题似乎很基本。 我已经阅读了相关的技术讲座材料并看到了一些示例代码、但我仍然不理解我的代码不起作用的原因。 我将向 GPIO 引脚 B6馈送 PWM 信号。 我尝试在捕获模式下配置两个计时器、Timer0A 应在上升沿触发 ISR、TIMER0B 应在下降沿触发 ISR。 我已按照在研讨会中的说明更改了相应的启动文件、并且能够使研讨会示例正常工作、但是我似乎无法让计时器在捕获模式下工作。 当我进行调试时、我可以看到 GPIO PB6寄存器中的数据发生了变化、但从未调用过 ISR。 这是我的代码。
#include #include #include #include #include include "driverlib/pin_map.h" #include "inc/hw_memmap.h" #include "inc/hw_types.h" #include "inc/hw_gpio.h" #include "driverlib/mdio.h" #include "driverlib/mdriver.h"#include "driverlib#driver.h"#include "driverlib#driverlib.driver.h"#include "driverlib#driverlib#driver.h"#driverlib#driverlib#include "driver.h/driverlib#include "driverlib#driver.h"#include "driverlib#driverlib#driverlib#driver.h"#include "driverlib#driverlib#driver.h"#include "driverlib#driverlib#driver.h"#driverlib#driverlib#driver.h"#include "driverlib#include "driverlib#driverlib#driver.h"#driverlib#driver.h"#include "driverlib#driverlib#driverlib#driver.h"#include "driverlib.md. //读取 GPIO 引脚的当前状态(蓝色 LED)和 //将相反状态写回 if (GPIOPinRead (GPIO_PORTF_BASE、GPIO_PIN_2) { GPIOPinWrite (GPIO_PORT_BASE、GPIO_PIN_1|GPIO_PIN_2|GPIO_PIN_3、0); }GPIOPIN_BASE (GPIO_POINTE_INTE_GPIORT0) 、GPIORT0 (GPIO_PER_INT_GPIORT0)、GPIO_INBENTRIP_POIN_IN_INBENTRIP_POINT (GPIORT0)、GPIORT0)、GPIORP0 (GPIORT0)、GPIOR_IN_IN_IN_IN_IN_IN_IN_IN_INTRIP_IN_INB_INTRIP_INTE_IN_INTRIP_POINT (GPIORT0)、GPIORT0)、GPIORT0 (GPIOR_IN_IN_IN_IN_IN_IN_INT_ else { GPIOPinWrite (GPIO_PORTF_BASE、GPIO_PIN_2、4); } // * main.c * / int main (void){ SysClockSet (SYSCTL_4|SYSCTL_USE_PLL|SYSCTL_USE_PLL|SYSCTAL_16MHz|SysCtl_OSC_MAIN )、GPIO_PERIPB_GPTO_6_PHIN (GPIO_PEL)、GPIO_PERIPB_TO_TO_PHIN (GPIO_PEL) GPIO_PIN_TYPE_STD_WPU); GPIOPinConfigure (GPIO_PB6_T0CCP0); GPIOPCtlPinTypeTimer (GPIO_PORTB_BASE、GPIO_PIN_6); //启用 GPIO 时钟 SysEnable (SYSCTL_Periph_GPIOF); //将 GPIO 引脚配置为输出 GP_PIN_TRIP_0_TRIP_TIME_TRIP_TRIP_TRIP_TIME_TRIP_TRIP_TRIP_TRIP_TRIP_TRIP_TRIP_TRIP_TRIP_TRIP_0_TRIP_TRIP_TRIP_TRIP_TRIP_TRIP_TRIP_TRIP_0_TRIP_TRIP_TRIP_TRIP_TRIP_TRIP_TRIP_TRIP_TRIP_TRIP_TRIP_TRIP_TRIP_0 (GPIO_TRIP_TRIP_TRIP_TRIP_TRIP_TRIP_TRIP_TRIP_TRIP_TRIP_TRIP_TRIP_0); Timer_A、TIMER_EVENT_POS_EDGE); TimerControlEvent (TIMER0_BASE、TIMER_B、TIMER_EVENT_NEG_EDGE); TimerIntEnable (TIMER0_BASE、TIMER_CAPA_EVENT); TimerIntEnable (TIMER0_BASE、TIMER_CAPB_EVENT); TimerIntRegister (TIMER0_BASE、 Timer_A、RisingEdgeInt); TimerIntRegister (TIMER0_BASE、TIMER_B、FallingEdgeInt); TimerIntClear (TIMER0_BASE、TIMER_CAPA_EVENT); TimerIntClear (TIMER0_BASE、TIMER_CAPB_EVENT); //使处理器响应中断 IntMasterEnable (); IntEnable (INT_TIMER0A); IntEnable (INT_TIMER0B); //使能处理器响应中断 IntMasterEnable (TIMER0 ) ;timer_base (TIMER0);timer0 (timer_return);timer_timer 0 (while)