历史上的今天
今天是:2024年11月19日(星期二)
2018年11月19日 | 串口UART学习笔记
2018-11-19 来源:eefocus
一、谈谈对串口UART的理解
1.交代计算机中常见的几种硬件(CPU和外设)通信方式:GPIO/UART/IIC/SPI/1-WIRE。
2.UART的定义:通用串行异步收发器。
串行和并行的对比:距离 速度 抗干扰性
2.1 异步:CPU的速度要远远快于外设,势必要考虑数据同步(发玩还要确保接收正确)
数据同步方法:异步和同步
同步:“低放高取”。不仅仅需要数据线,还需要一根时钟控制信号线。利用时钟控制信号线来实现双方的数据同步。
IIC总线和SPI总线就是采用同步方式。
3.UART串口的三种工作方式:单工、半双工、全双工。
二、如何利用异步实现UART的数据同步
答案在UART的数据传输协议中。
UART数据传输协议:空闲位、起始位、数据位、奇偶校验位、停止位。
空闲位:CPU和外设不再进行数据传输时,数据线上一直发送空闲位,“1” 有效。
起始位:CPU和外设进行数据传输时,首先在数据线上要发送一个起始位信号,有效位数:1bit。
数据位:指定有效的数据位数,5/6/7/8,一般为8。
上一篇:谈谈单片机裸奔的程序框架
下一篇:单片机PWM调制技术
史海拾趣
|
本信息来自合作QQ群:电子工程师技术交流(12425841) 群主在坛子ID:Kata 麻烦推荐个运放,能测出1mV左右电压,失真比较小 用OP07可以不? … 查看全部问答> |
|
用keil编码1114的i2c,我在设置了编译优化选项之后出现了巨大的问题。索性,在取消掉所有的优化选项后i2c通信已经正常。 可惜结果仍然不正确,我就跟代码。这时候才发现一个无法理解的问题。我在funcA()里调用funcB()时传入一个静态myVar ...… 查看全部问答> |
|
如题,公司用的是ANTDATA公司出的DTGS-800模块,虽然也带有文档说明,但我觉得不够详细,所以特来发帖提问,希望大家踊跃发言,问题如下: 1、读取短信的时候,怎样才能不改变短信的状态呢?例如,执行了以下AT命令 AT+UGSM=1 返回OK(DTGS-800支 ...… 查看全部问答> |
|
求助:PWM输出8.2KHZ1:1的方波,为什么在4.3K有个的很强频率分量 设置如下: unsigned short pwmizhouqi=256; LPC_TMR16B1->TCR = 0; LPC_SYSCON->SYSAHBCLKCTRL |= (1PIO1_9 = 0X01; LPC_TMR16B1->MR0 = pwmizhouqi/2; LPC ...… 查看全部问答> |
|
原帖不能编辑了,就新开一帖在这里,望斑竹谅解 目前为止,基于launchpad和nrf24l01的单向收发已经实现,程序在下面放出,还有很多要改进的,仅供参考。欢迎高手拍砖。 学习经历: 1.收到板子后查了下资料,发现很丰富啊,于是 ...… 查看全部问答> |
|
我用的是MPLAB ICE和PICC编译PIC16F722,之前编译什么的都没问题,重装系统后再安装后就再也编译不成功了,提示No installed compiler driver supports device 16F722。 编译PIC16F505没有问题。每次点Project-Select Language Toolsuite后HI-TECH ...… 查看全部问答> |




