使用axi_uart16550 IP
本文介绍如何使用axi_uart16550这个IP来输出打印信息。
这里关于如何使用vivado搭建工程不做描述,与我们通用的microblaze工程是一致的。
我们只是针对c代码如何编写做出说明:
#include“xuartns550_l.h”
#define UART_BASEADDR XPAR_UARTNS550_0_BASEADDR
#define UART_CLOCK_HZ XPAR_UARTNS550_0_CLOCK_FREQ_HZ
#define UART_BAUDRATE 115200
#define STDOUT_BASEADDR XPAR_AXI_UART16550_0_BASEADDR
void init_uart()
{
XUartNs550_SetBaud(UART_BASEADDR, UART_CLOCK_HZ, UART_BAUDRATE);
XUartNs550_SetLineControlReg(STDOUT_BASEADDR, XUN_LCR_8_DATA_BITS);
}
init_uart();
在c代码中贴入上述的库函数调用,宏定义,以及init_uart函数的声明;然后在main函数的开始执行uart的初始化函数。设置波特率以及标准输出的端口;在后续如果想要输出打印信息,调用print和xil_printf函数即可。
签名:20201015 olivercao 著