JZ2440串口打印字符作为调试

来源: 电子工程世界
新闻行业新闻

/*

 * 初始化UART0

 * 57600,8N1,无流控

 */

void uart0_init(void)

{

    GPHCON  |= 0xa0;    // GPH2,GPH3用作TXD0,RXD0

    GPHUP   = 0x0c;     // GPH2,GPH3内部上拉


    ULCON0  = 0x03;     // 8N1(8个数据位,无较验,1个停止位)

    UCON0   = 0x05;     // 查询方式,UART时钟源为PCLK

    UFCON0  = 0x00;     // 不使用FIFO

    UMCON0  = 0x00;     // 不使用流控

    UBRDIV0 = UART_BRD; // 波特率为115200

}


/*

 * 发送一个字符

 */

void putc(unsigned char c)

{

    /* 等待,直到发送缓冲区中的数据已经全部发送出去 */

    while (!(UTRSTAT0 & TXD0READY));

    

    /* 向UTXH0寄存器中写入数据,UART即自动将它发送出去 */

    UTXH0 = c;

}


void puts(char *s)

{

    int i = 0;

    while (s[i])

    {

        putc(s[i]);

        i++;

    }

}


文章来源于: 电子工程世界原文链接

本站所有转载文章系出于传递更多信息之目的,且明确注明来源,不希望被转载的媒体或个人可与我们联系,我们将立即进行删除处理。