TI中文支持网
TI专业的中文技术问题搜集分享网站

UART中断问题

我是想通过UART2接收外面传感器的数据,再通过UART2发送给UART5打印出来数据,结果中断服务函数一直进不去。

UART2配置如下

step by step:

楼主,

     因为不知道你用芯片的具体型号,所以假定管脚设置应该没错,但是看你初始化程序中注释掉的那些应该是需要的。

一般uart初始化包括下面几个部分:

管脚初始化;

uart参数设定

uart中断使能

下面是一个初始化的程序,需要自己改下IO口:

// // Enable the peripherals used by this example. // ROM_SysCtlPeripheralEnable(SYSCTL_PERIPH_UART0); ROM_SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOA);

// // Enable processor interrupts. // ROM_IntMasterEnable();

// // Set GPIO A0 and A1 as UART pins. // GPIOPinConfigure(GPIO_PA0_U0RX); GPIOPinConfigure(GPIO_PA1_U0TX); ROM_GPIOPinTypeUART(GPIO_PORTA_BASE, GPIO_PIN_0 | GPIO_PIN_1);

// // Configure the UART for 115,200, 8-N-1 operation. // ROM_UARTConfigSetExpClk(UART0_BASE, g_ui32SysClock, 115200, (UART_CONFIG_WLEN_8 | UART_CONFIG_STOP_ONE | UART_CONFIG_PAR_NONE));

// // Enable the UART interrupt. // ROM_IntEnable(INT_UART0); ROM_UARTIntEnable(UART0_BASE, UART_INT_RX | UART_INT_RT);

chuan fang:

回复 step by step:

问题已破,谢谢。不过还有一点疑惑,我现在用得是16M系统频率,如果提到80M的话,UART分频系数改为8,波特率除数也得做改动了啊,然而闭源函数ROM_UARTConfigSetExpClk这怎么办?

我现在用得是LM4F232H5QD,跟TM4C123GH有什么差别吗?

step by step:

回复 chuan fang:

楼主,

    ROM_UARTConfigSetExpClk()函数中间的参数就有当前主频以及你想获得的波特率,函数自己回去运算得到分频值的。LM4F232H5QD对应的Tiva新的料号为TM4C123GH6PGE

Wellin Zhang:

回复 chuan fang:

另外补充一点。所有的Tivaware是开源的,ROM_只是表示该库函数固化在ROM中。 其源代码与driverlib/urat.c是一样的。

赞(0)
未经允许不得转载:TI中文支持网 » UART中断问题
分享到: 更多 (0)