[技术问答] 92F7003的串口0使用T2做波特率发生器要如何设置?

[复制链接]
249|5
 楼主 | 2018-6-11 15:00 | 显示全部楼层 |阅读模式
92F7003的串口0使用T2做波特率发生器要如何设置?
| 2018-6-12 08:01 | 显示全部楼层
最简单的方法是uart0直接调用赛元已做好的固件库函数,不用看寄存器配置

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
 楼主 | 2018-6-12 09:23 | 显示全部楼层
一笑遥 发表于 2018-6-12 08:01
最简单的方法是uart0直接调用赛元已做好的固件库函数,不用看寄存器配置:

...

个人比较喜欢直接操作寄存器,这样方便、简洁、效率高、还便以维护
| 2018-6-12 20:30 | 显示全部楼层
这有
void init_uart_mode1(void)
{
    SCON=0X50;         //方式1,允许接收数据
    PCON |=0X80;       //方式1
        T2CON=0x35;               //定时器2产生波特率
        T2MOD=0x03;        //16位自动重载定时器模式
        TMCON=0X04;
        RCAP2H=(65536-20)/256;                       
        RCAP2L=(65536-20)%256;
        TR2=0;
//          ET2=1;
           TR2=1;
        EUART=1;
}

void uart()interrupt 4
{       
        if(TI)
        {
                TI=0;                           //中断进来要把TI清0
        }
        if(RI)                                   //接收中断
        {
                RI=0;                           //中断进来要把RI清0       
                RI_FLAG=1;
        }
}

 楼主 | 2018-6-13 10:46 | 显示全部楼层
奔跑吧 发表于 2018-6-12 20:30
这有
void init_uart_mode1(void)
{

多谢!,试了可用  。
| 2018-7-12 21:21 | 显示全部楼层
无论哪种操作都需要了解寄存器
扫描二维码,随时随地手机跟帖
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复

您需要登录后才可以回帖
登录 | 注册
高级模式
我要创建版块 申请成为版主

论坛热帖

快速回复 返回顶部 返回列表