This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
我是 TM4C123G 的新手
如果我的代码正确、请任何人指导我
我尝试使用 PD6从 RDM6300 RFID 读卡器接收卡号
波特率:9600
8位
1个停止位
无奇偶校验
启用 FIFO
7/8满时中断
以下是我的代码:
#define UART_FR_RXFE 0x00000010 // UART 接收 FIFO 为空
#define UART_LCRH_WLEN_8 0x00000060 // 8位字长
#define UART_LCRH_Fen 0x00000010 // UART 启用 FIFO
#define UART_CTL_UARTEN 0x00000001 //启用 UART
void UART_Init (void){
SYSCTL_RCGCUART_R |= 0x04; //激活 UART2
SYSCTL_RCGCGPIO_R |= 0x08; //激活端口 D
while (((SYSCTL_PRGPIO_R&0x08)=0);
UART2_CTL_R = 0; //禁用 UART
UART2_IBRD_R = 104; //对于9600波特率,整数= 104 */
UART2_FBRD_R = 11; //对于9600波特率,分数= 11*/
UART2_LCRH_R =(UART_LCRH_WLEN_8|UART_LCRH_Fen);
UART2_CTL_R |= UART_CTL_UARTEN; //启用 UART
GPIO_PORTD_AFSEL_R |= 0x40; //在 PD6上启用 alt funt
GPIO_PORTD_DEN_R |= 0x40; //在 PD6上启用数字 I/O
GPIO_PORTD_PCTL_R =(GPIO_PORTD_PCTL_R&0x0F000000)+0x01000000; //将 PD6配置为 UART
GPIO_PORTD_AMSEL_R = 0; //禁用 PD 上的模拟功能
//启用中断
UART2_ICR_R &= 0x10; //清除接收中断
UART2_IM_R = 0x10;
NVIC_EN1_R =1;
NVIC_PRI8_R =(NVIC_PRI8_R&0xFFFFFFF0)|0x0000000A;//(g)优先级0
}
空 UART2_Handler (空)
{
char tag_arr[13];
uint16_t i=0;
unsigned char rx_data = 0;
UART2_ICR_R &= 0x10;//清除接收中断
RX_DATA = UART2_DR_R;//获取接收到的数据字节
LCD4bits_Data (Rx_DATA);
Tag_arr[i]=Rx_data;
i++;
}
您好 Arinze、
请 使用我们提供的 TivaWare (https://www.ti.com/tool/SW-TM4C)驱动程序库和示例项目来运行您的应用。
此致、
Ralph Jacobi