打印
[S3C2440]

uart串口发送

[复制链接]
1233|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
zhang116115|  楼主 | 2014-7-31 20:33 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
#define ULCON0                 (*(volatile unsigned *)0X50000000)         //UART线控制寄存器
#define UCON0                  (*(volatile unsigned *)0X50000004)         //UART控制寄存器
#define UFCON0                 (*(volatile unsigned *)0X50000008)         //FIFO控制寄存器
#define UTRSTAT0         (*(volatile unsigned *)0X50000010)         //UART状态寄存器
#define UBRDIV0         (*(volatile unsigned *)0X50000028)        //波特率
#define UTXH0                  (*(volatile unsigned *)0X50000020)
#define URXH0                  (*(volatile unsigned *)0X50000024)
#define GPBDAT                 (*(volatile unsigned *)0X58000054)
#define TXD0READY   (1<<2)

void putc(unsigned char c)
{
    /* 等待,直到发送缓冲区中的数据已经全部发送出去 */
    while (!(UTRSTAT0 & TXD0READY));
    /* 向UTXH0寄存器中写入数据,UART即自动将它发送出去 */
    UTXH0 = c;
}
int TSmain()
{
        char buf;
        ULCON0 &=0XFFFFFF00;
        ULCON0 |=0X03;           //1位起始位,8位数据位
        UCON0  =0X0805;          //串口时钟PCLK,查询方式   1000 0000 0101
        UBRDIV0 =0X1A;           //波特率115200      
        while(1)
        {  
                /*if(UTRSTAT0 & 0X01)  //接收是否完毕 =1结束
                {
                        buf=URXH0;       //读取数据
                        while(!(UTRSTAT0 & 0X04));//是否允许发送 =1允许

                        UTXH0=buf;
                       
                } */
                putc('T');
        putc('e');
        putc('s');
        putc('t');
        }
       
        return 0;
}

相关帖子

沙发
zhang116115|  楼主 | 2014-7-31 20:34 | 只看该作者
为什么显示的一直是乱码,求解释,求拯救呀??

使用特权

评论回复
板凳
DST-IC代理| | 2014-8-1 15:04 | 只看该作者
可以试下EXAR的UART产品。
EXAR是UART和多协议收发器领域的行业领袖,有最齐全的接口产品。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

5

主题

39

帖子

0

粉丝