51串口重定向

#include "stdio.h"

void Uart1Init(void)        //115200bps@11.0592MHz
{
    SCON = 0x50;        //8位数据,可变波特率
    AUXR |= 0x40;        //定时器时钟1T模式
    AUXR &= 0xFE;        //串口1悬着定时器1为波特率发生器
    TMOD &= 0x0F;        //选择定时器模式
    TL1 = 0xE8;        //设置定时初始值
    TH1 = 0xFF;        //设置定时初始值
    ET1 = 0;        //禁止定时器%d中断
    TR1 = 1;        //定时器1开始计时
}

void UART1_SendData(char dat)
{
    ES=0;            //关串口中断
    SBUF=dat;            
    while(TI!=1);    //等待发送成功
    TI=0;            //清除中断标志位
    ES=1;            //打开串口中断
}
void UART1_SendString(char *s)
{
    while(*s)//检测字符串结束符
    {
        UART1_SendData(*s++);//发送当前字符    }
}

//串口重定向

char putchar(char c)
{
    UART1_SendData(c);
    return c;
}
 

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值