#include "inc/hw_ints.h"
#include "inc/hw_memmap.h"
#include "inc/hw_types.h"
#include "driverlib/debug.h"
#include "driverlib/gpio.h"
#include "driverlib/interrupt.h"
#include "driverlib/pin_map.h"
#include "driverlib/rom.h"
#include "driverlib/sysctl.h"
#include "driverlib/watchdog.h"
#include "utils/uartstdio.h"
// 看门狗定时器中断服务程序,执行喂狗和闪烁用户指示灯功能。
void WatchdogIntHandler(void)
{
//清看门狗定时器中断服务程序
ROM_WatchdogIntClear(WATCHDOG0_BASE);
//翻转GPIOB6
ROM_GPIOPinWrite(GPIO_PORTB_BASE,GPIO_PIN_6,ROM_GPIOPinRead(GPIO_PORTB_BASE,GPIO_PIN_6)^GPIO_PIN_6);
}
// 该例程演示看门狗定时器的用法。
int main(void)
{
ROM_SysCtlClockSet(SYSCTL_SYSDIV_1|SYSCTL_USE_OSC|SYSCTL_OSC_MAIN|SYSCTL_XTAL_16MHZ);
// 使能本例程用到的外设功能单元UART1 GPIOB
ROM_SysCtlPeripheralEnable(SYSCTL_PERIPH_UART1);
ROM_SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOB);
GPIOPinConfigure(GPIO_PB4_U1RX);
GPIOPinConfigure(GPIO_PB5_U1TX);
ROM_GPIOPinTypeUART(GPIO_PORTB_BASE, GPIO_PIN_4 | GPIO_PIN_5);
// 配置UART1为115200波特率、8-N-1 数据模式。
UARTStdioInit(1);
UARTprintf("Watchdog example\n");
// 使能本例程用到的外设。
ROM_SysCtlPeripheralEnable(SYSCTL_PERIPH_WDOG0);
// 使能全局中断。
ROM_IntMasterEnable();
// 设置GPIO B6 为输出口
ROM_GPIOPinTypeGPIOOutput (GPIO_PORTB_BASE, GPIO_PIN_6);
ROM_GPIOPinWrite(GPIO_PORTB_BASE, GPIO_PIN_6, 0<<6);
// 使能看门狗定时器中断。
ROM_IntEnable(INT_WATCHDOG);
// 设置看门狗定时器的重载值
ROM_WatchdogReloadSet(WATCHDOG0_BASE, SysCtlClockGet()/100);
// 使能看门狗定时器的复位功能。
ROM_WatchdogResetEnable(WATCHDOG0_BASE);
// 启动看门狗定时器。
ROM_WatchdogEnable(WATCHDOG0_BASE);
// 死循环。
while(1);
}
板子是LM3S9B92,运行这个程序后现在用CCS不能debug了,是不是这个程序一直调用中断把JTAG锁死了?该怎么办才好呢
|