|
3芯积分
tm4c123用串口读取数据时,数据能读,但是iic上的数据却读不了了(没加串口前是能读的)
为甚么会冲突
#include "User_Uart.h"
#include "driverlib/uart.h"
#include "inc/hw_uart.h"
/*
*函数名: User_Uart_Init(void)
*描述 :串口初始化函数
*输入 :无
*输出 :无
*调用 :内部调用
*/
void User_Uart_Init(void)
{
SysCtlPeripheralEnable(SYSCTL_PERIPH_UART1);
SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOB);
GPIOPinConfigure(GPIO_PB0_U1RX);
GPIOPinConfigure(GPIO_PB1_U1TX);
GPIOPinTypeUART(GPIO_PORTB_BASE, GPIO_PIN_0 | GPIO_PIN_1);
ROM_UARTConfigSetExpClk(UART1_BASE, ROM_SysCtlClockGet(), 115200,
(UART_CONFIG_WLEN_8 | UART_CONFIG_STOP_ONE |UART_CONFIG_PAR_NONE));
UARTIntEnable(UART1_BASE, UART_INT_RX | UART_INT_RT);
}
//串口发送函数
void UARTSend(const uint8_t *pucBuffer, uint32_t ulCount)
{
while(ulCount--)
{
//将要发送的字符写进UART
// UARTCharPutNonBlocking(UART1_BASE, *pucBuffer++);
UARTCharPut(UART1_BASE, *pucBuffer++);
}
}
//串口接收中断服务程序
void UARTIntHandler(void)
{
uint32_t ulStatus;
//获取中断状态
ulStatus = UARTIntStatus(UART1_BASE, true);
//清除中断标志
UARTIntClear(UART1_BASE, ulStatus);
//直到串口FIFO中没有数据时才退出循环
while(UARTCharsAvail(UART1_BASE))
{
//读串口接收的字符并回发
UARTCharPutNonBlocking(UART1_BASE,UARTCharGetNonBlocking(UART1_BASE));
}
}
|
|