NISO下的任意串口类printf函数的实现

来源:互联网 发布:屏幕扫描软件 编辑:程序博客网 时间:2024/06/09 13:48
/*串口1发送一个字节*/void Uart1_Send8bit(alt_u8 data) {    alt_u8 status ;    while(((status = IORD_16DIRECT(UART_1_BASE,8) & 0x40) != 0x40)) ; //等待缓存里面的数据发送完毕    status = IORD_16DIRECT(UART_1_BASE,8) ;//再次读取清除状态寄存器    IOWR_8DIRECT(UART_1_BASE,4,data) ;}/*从串口1发送n个字符*/void Uart1_SendNByte(char *str,int n){    while(n--)    {        Uart1_Send8bit(*str) ;        str++ ;    }}/*从串口uart1 发出信息的的类似printf函数*/void Uart1_printf(const char *format,...) {    va_list args;    int n;    static char xmon_outbuf[1024];    va_start(args, format);    n = vsnprintf(xmon_outbuf, sizeof(xmon_outbuf), format, args);    va_end(args);    Uart1_SendNByte(xmon_outbuf, n);}

原创粉丝点击