keil4调试EK-LM3S811-ND突然程序烧不进去,提示找不到器件调了几个简单的程序用Keil4可以烧入,完全正常。烧了一次下面的程序后,以后就烧不进去了,提示没有器件实在不知道什么原因,请各位高手指到。程序是这样的:#include"hw_ints.h"
#include"hw_memmap.h"
#include"hw_types.h"
#include"debug.h"
#include"gpio.h"
#include"sysctl.h"
#include"uart.h"
#include"uart.h"
#include "interrupt.h"#define PIN0 GPIO_PIN_0
#define PIN1 GPIO_PIN_1#define PIN4 GPIO_PIN_4
#define PIN5 GPIO_PIN_5#ifdef DEBUG
void _error_(char *pcFilemane,unsigned long ulLine)
{
}
#endifvoid UARTIntHander(void)
{
unsigned long ulStatus;
ulStatus=UARTIntStatus(UART0_BASE,true);
UARTIntClear(UART0_BASE,ulStatus);
while(UARTCharsAvail(UART0_BASE))
{
UARTCharPutNonBlocking(UART0_BASE,UARTCharGetNonBlocking(UART0_BASE));
}
}
void UARTSend(const unsigned char *pucBuffer,unsigned long ulCount)
{
while(ulCount--)
{
UARTCharPutNonBlocking(UART0_BASE,*pucBuffer++);
}}int main(void)
{
SysCtlClockSet(SYSCTL_SYSDIV_1|SYSCTL_USE_OSC|SYSCTL_OSC_MAIN|SYSCTL_XTAL_6MHZ);
SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOA|SYSCTL_PERIPH_GPIOC); SysCtlPeripheralEnable(SYSCTL_PERIPH_UART0);
GPIOPadConfigSet(GPIO_PORTA_BASE|GPIO_PORTC_BASE,PIN1|PIN5,GPIO_STRENGTH_2MA,GPIO_PIN_TYPE_STD);
GPIOPadConfigSet(GPIO_PORTA_BASE|GPIO_PORTC_BASE,PIN0|PIN4,GPIO_STRENGTH_2MA,GPIO_PIN_TYPE_STD_WPU);
GPIODirModeSet(GPIO_PORTA_BASE|GPIO_PORTC_BASE,PIN1|PIN5,GPIO_DIR_MODE_OUT);
GPIODirModeSet(GPIO_PORTA_BASE|GPIO_PORTC_BASE,PIN0|PIN4,GPIO_DIR_MODE_IN); GPIOPinTypeUART(GPIO_PORTA_BASE,PIN1|PIN0);
UARTConfigSetExpClk(UART0_BASE,SysCtlClockGet(),1200,(UART_CONFIG_WLEN_8|UART_CONFIG_STOP_ONE|UART_CONFIG_PAR_NONE));
UARTIntEnable(UART0_BASE,UART_INT_RX|UART_INT_RT);
GPIOPinIntEnable(GPIO_PORTC_BASE,PIN4);
IntEnable(INT_UART0|INT_GPIOC);
IntMasterEnable();
UARTSend((unsigned char *)"ENTER TEXT:",13);
while(1)
{
}
}key.c
#include"hw_ints.h"
#include"hw_memmap.h"
#include"hw_types.h"
#include"debug.h"
#include"gpio.h"
#include"sysctl.h"
#include"uart.h"
#include"uart.h"
#include "interrupt.h"#define PIN4 GPIO_PIN_4
#define PIN5 GPIO_PIN_5void delay(unsigned long delay1)
{//unsigned char i;
for(;delay1;--delay1);
}
void GPIO_C_ISR(void)
{
unsigned char ucVal;
unsigned long ulStatus;
ulStatus=GPIOPinIntStatus(GPIO_PORTC_BASE,true);
GPIOPinIntClear(GPIO_PORTC_BASE,ulStatus);
if(ulStatus&PIN4)
{
ucVal=GPIOPinRead(GPIO_PORTC_BASE,PIN5);
GPIOPinWrite(GPIO_PORTC_BASE,PIN5,0x20);
delay(200000);
//SysCtlDelay(10*(TheSysClock/3000));
while(GPIOPinRead(GPIO_PORTC_BASE,PIN4)==0x00);
//SysCtlDelay(10*(TheSysClock/3000));
//delay(200000);
GPIOPinWrite(GPIO_PORTC_BASE,PIN5,~0x20);
delay(200000);
} } Startup.s 中改了
驱动图:
错误提示图:
调试设置:
楼主C0,C1,C2,C3是JTAG引脚,JTAG引脚被改成GPIO引脚了。
楼主换块811再试试吧。
一周热门 更多>