zoukankan      html  css  js  c++  java
  • STC15W串口通信的一些梳理

    由于控制串口1进行通信移植到串口3出现了阻力,因此很有必要对串口通信进行更进一步的梳理》》》》

     

    一 STC15W串口对应引脚:

     由此我们得到四个串口引脚分别为:串口1:P3 .0 P3.1:串口2:P1.0 P1.1:串口3:P0.0 P0.1:串口4:  P0.2 P0.3。

    二 非中断法的串口通信:

    在信息的传输过程中,一个完整的串行数据帧包括发送起始位,发送的字节,和发送停止位。 波特率就是指单位时间的码元传输速率。因此,一个完整的信息传输如图所示:

    那么,如何配置这些寄存器呢?

    寄存器主要包括四大寄存器:

     

    1. SCON串行口控制寄存器我们主要使用SM0,SM1,REN。TI,RI。

     因此大多数配置SCON=0x50;同样,工作选择方式也多选择方式1.

     

    2. PCON

    这个寄存器我们主要使用他的最高位SMOD位:

     

     

     我们一般都使用SMOD=0;

    3.辅助寄存器AUXR,决定串口位1T 还是12T。

     5. ES 和 EA寄存器

    示例:

    void UartInit(void) //9600bps@11.0592MHz
    {
    SCON = 0x50; //8位数据,可变波特率
    AUXR |= 0x01; //串口1选择定时器2为波特率发生器
    AUXR |= 0x04; //定时器2时钟为Fosc,即1T
    T2L = 0xE0; //设定定时初值
    T2H = 0xFE; //设定定时初值
    AUXR |= 0x10; //启动定时器2
    }

     

    博客园
  • 相关阅读:
    顺便说说webservice
    了解c3p0,dbcp与druid
    静心己过
    慢慢来写SpringMVC基本项目
    关于druid的配置说明
    想法
    看见了别人的数据库题,随便写写
    Java 工具类
    Java 工具类
    使用JavaMail实现发送模板邮件以及保存到发件箱
  • 原文地址:https://www.cnblogs.com/wang-zefeng/p/12593287.html
Copyright © 2011-2022 走看看