由于控制串口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
}

最新文章

  1. 设计模式之迪米特原则(LOD)(最少知识原则)
  2. BZOJ 2179: FFT快速傅立叶
  3. 1-Spark高级数据分析-第一章 大数据分析
  4. Journey Of Code组组员贡献率
  5. 传智播客JavaWeb day01 快捷键、XML
  6. H264句法和语法总结(二)NAL层语法
  7. 如何通过wifi在android手机上安装调试应用
  8. 重力加速度陀螺仪传感器MPU-6050(一)
  9. 在win10 64位下编译,提示[C++ Error] E2075 Incorrect project override option: (x86)\borland\cbuilder6\lib\vcl60.csm
  10. QJ系列笔记
  11. IOS 学习笔记(3) 视图UITabbarController
  12. 你知道OneNote的OCR功能吗?office lens为其增大威力,中文也识别
  13. AOP:代理思想 (没有考虑到Spring)
  14. Caused by: org.apache.ibatis.exceptions.TooManyResultsException: Expected one result (or null) to be returned by selectOne(), but found: 2
  15. Spring源码工程导入Eclsipse缺少两个jar文件
  16. Qt 学习-----helloword
  17. java 中文繁简体转换工具 opencc4j
  18. 欢迎大家使用Druid,常见问题在这里解答,希望对大家有所帮助
  19. oracle:the password has expired
  20. Oracle 项目中 SQL 脚本更新方式

热门文章

  1. Requests发送带cookies请求
  2. 还记得第一个看到的Flutter组件吗?
  3. 基于《仙剑奇侠传柔情版》利用Java的简单实现(一)
  4. iOS开发:十六进制颜色转UIColor
  5. 记一次有趣的thinkphp代码执行
  6. Spring02——Spring 中 Bean 的生命周期及其作用域
  7. OpenCV-Python 对极几何 | 五十一
  8. Pandas 精简实例入门
  9. PyCharm3.0 快捷键
  10. nginx负载均衡例子