初学LM3S8962,在我烧入一个被我改的例程后,再也检测不到芯片了。连以前能正常运行的程序都烧不进去了。请问这种样子的芯片还能拯救下吗?
下面是出问题的程序的主函数部分,不知道哪里出问题了。(是不是晶振出问题了?)
int main (void)
{
SysCtlClockSet(SYSCTL_SYSDIV_16 | SYSCTL_USE_PLL | SYSCTL_OSC_MAIN |
SYSCTL_XTAL_6MHZ); /* 设置晶振为时钟源 */
SysCtlPeripheralEnable(SYSCTL_PERIPH_UART0); /* 使能UART外设 */
SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOA); /* 使能GPIOA外设 */
SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOB); /* 使能GPIOB外设 */
IntMasterEnable(); /* 开总中断 */
GPIOPinTypeUART(GPIO_PORTA_BASE, UART0_PIN); /* 配置UART功能脚 */
/* 设置GPIO的A0和A1为UART引脚 */
/* (A0->RXD,A1->TXD) */
GPIODirModeSet(GPIO_PORTB_BASE, TXD_LED,
GPIO_DIR_MODE_OUT); /* 设置 GPIO B0和B1为输出口 */
GPIOPadConfigSet(GPIO_PORTB_BASE, TXD_LED, GPIO_STRENGTH_2MA,
GPIO_PIN_TYPE_STD); /* 配置PB6口为2ma驱动电流 */
/* 及PULL-PUSH类型 */
GPIOPinWrite(GPIO_PORTB_BASE, TXD_LED, 0); /* 初始化IO口 */
UARTConfigSet(UART0_BASE, 9600, (UART_CONFIG_WLEN_8 |
UART_CONFIG_STOP_ONE |
UART_CONFIG_PAR_NONE)); /* 配置UART 为 9600波特率 */
UARTIntClear(UART0_BASE, UART_INT_TX); /* 8-N-1模式发送数据 */
UARTIntEnable(UART0_BASE, UART_INT_TX); /* 设置UART中断类型 */
IntEnable(INT_UART0); /* UART中断使能 */
while(1) {
UARTSend(g_pucString, sizeof(g_pucString) - 1); /* 向UART发送一个字符串 */
GPIOPinWrite(GPIO_PORTB_BASE, TXD_LED,
GPIOPinRead(GPIO_PORTB_BASE, TXD_LED) ^ TXD_LED); /* 翻转GPIO B4 端口 */
}
}
此帖出自
小平头技术问答
谢谢指点,已成功解锁,虽然不是很明白问题到底是哪里出的。
我是用USB下程序的,也遇到检测不到硬件问题了,怎么解决啊
一周热门 更多>