异步通信

所谓异步通信,是指数据传送以字符为单位,字符与字符间的传送是完全异步的,位与位之间的传送基本是同步的。



异步串行通信的特点可以概括如下

1)以字符为单位传送信息

2)相邻两字符间的间隔是任意长

3)因为一个字符中的比特们长度有限,所以需要的接收时钟和发送时钟只要相近就可以

4)异步方式的特点简单地说就是:字符间异步,字符内部各位同步



异步串行方式的数据格式

1)1位起始位,规定为低电平0

2)5~8位数据位,即要传送的有效信息

3)1位奇偶校验位

4)1~2位停止位,规定为高电平1


同步串行

所谓同步通信,是指数据传送是以数据块(一组字符)为单位,字符与字符之间、字符内部的位与位之间都同步。


同步串行通信的特点可以概括为

1)以数据块为单位传送信息

2)在一个数据块(信息帧)内,字符与字符间无间隔

3)因为一次传输的数据块中包含的数据较多,所以接收时钟与发送时钟严格同步,通常要有同步时钟


同步串行方式的数据格式

1)两个同步字符作为一个数据块(信息帧)的起始标志

2)n个连续传送的数据

3)两个字节循环冗余校验码(CRC)


例子

  1. #include "2410lib.h"

  2. void  uart0_test(void);

  3. int main(int argc,char **argv)

  4. {

  5. sys_init();

  6. uart_printf("\n Embest Arm S3CEB2410 Evaluation Board\n");

  7. while(1)

  8. {

  9. uart0_test();

  10. }

  11. }

  12. void uart0_test()

  13. {

  14. char cInput[256];

  15. UINT8T ucInNo=0;

  16. char c;

  17. uart_init(0,115200,0);

  18. uart_printf("\n UART0 Communication Test Example\n");

  19. uart_printf(" Please input words, then press Enter:\n");

  20. while(1)

  21. {

  22. c=uart_getch();

  23. uart_printf("%c",c);

  24. if(c!='\r')          //enter key

  25. cInput[ucInNo++]=c;

  26. else

  27. {

  28. cInput[ucInNo]='\0';

  29. break;

  30. }

  31. }

  32. delay(1000);

  33. uart_printf("\n The words that you input are: \n %s\n",cInput);

  34. uart_printf(" end.\n");

  35. }

本文转自infohacker 51CTO博客,原文链接:http://blog.51cto.com/liucw/1192995

【ARM】arm串行通信相关推荐

  1. linux 重定位arm,Arm linxu启动过程分析(一)

    本文着重分析 FS2410 平台 linux-2.6.14 内核启动的详细过程,主要包括: zImage 解压缩阶段. vmlinux 启动汇编阶段. startkernel 到创建第一个进程阶段三个 ...

  2. [ARM] ARM处理器寻址方式

    ARM处理器寻址方式 寻址方式是处理器根据指令给出的地址码字段来寻找物理地址的方式. 1.立即寻址 立即寻址也称为立即数据寻址,在立即寻址中的操作码字段后面的地址码部分就是操作数据本身,在数据包含在指 ...

  3. [ARM] ARM处理器的7种工作模式和2种工作状态

    转载:https://blog.csdn.net/ly930156123/article/details/79219303 两种工作状态 1.ARM状态:32位,ARM状态执行字对齐的32位ARM指令 ...

  4. linux 3d性能测试 arm,ARM嵌入式平台性能测试

    By Toradex 秦海 在新项目需要选择一个全新的基于ARM嵌入式处理器平台的时候,难免会需要对新平台的性能进行评估,这时候有几种思路可以进行参考,一是ARM芯片厂家发布的性能指标,不过大多数是基 ...

  5. mplayer linux arm,ARM移植MPlayer

    原标题:ARM移植MPlayer 奋斗了一晚上,多方查找资料,终于将交叉编译成功了,小记经验于此. MPlayer版本:MPlayer-1.0rc2.tar.bz2: :cross-3.2.tar.b ...

  6. linux 多核 arm,ARM big.LITTLE巨细核架构在Linux和Android内核下多核调度算法

    在2013年,big.LITTLE宗族又添加了新的SoC完成,有2个Cortex-A15+3个Cortex-A7核的ARM的参阅测验芯片TC2,以及在三星Galaxy S4手机中运用的Samsung- ...

  7. 一美分成就ARM ARM到底是做什么的?

    昨日软银确认以234亿英镑(约合2215亿元人民币)收购芯片研发巨头ARM,成为亚洲企业在英国完成的最大规模的并购交易. ARM并不为公众所知,它是隐藏在巨头身后的巨头.ARM商业模式是对其他硬件厂商 ...

  8. arm,asic,dsp,fpga,mcu,soc各自的特点

    arm,asic,dsp,fpga,mcu,soc各自的特点 人工智能受到越来越多的关注,许多公司正在积极开发能实现移动端人工智能的硬件,尤其是能够结合未来的物联网应用,对于移动端人工智能硬件的实现方 ...

  9. 计算机组成原理 — ARM 体系结构

    目录 文章目录 目录 ARM ARM 的架构 x86 架构与 ARM 架构的区别 ARM 的技术实现 ARM ARM 架构过去称作进阶精简指令集机器(Advanced RISC Machine,更早称 ...

  10. ARM的嵌入式Linux移植体验之操作系统

    转自:[url]http://dev.yesky.com/153/2527653.shtml[/url] 06-08-13 08:00 作者: 宋宝华 出处: 天极开发 责任编辑:方舟 在笔者撰写的& ...

最新文章

  1. 一文掌握Conda软件安装:虚拟环境、软件通道、加速solving、跨服务器迁移
  2. 使用JAXP对xml文档进行DOM解析基础
  3. ubuntu修改根用户密码
  4. .NET中的中文简繁体转换
  5. 2.3.3 mysql 权限系统介绍
  6. select count(*)底层究竟干了啥么?
  7. 【线性代数本质】4:矩阵乘法本质
  8. 9款很棒的网页绘制图表JavaScript框架脚本
  9. 使用FastReport报表工具生成标签打印文档
  10. OFD版式Java开发组件——cnofd
  11. 董明珠赞同取消住房公积金 格力员工每人一套房
  12. UVALive 6959 - Judging Troubles
  13. 51单片机汇编密码锁(可修改密码,课程设计,含论文)!(大三上)
  14. depth, bedgraph, bigwig之间的联系与区别
  15. Latex的Visual Studio Code+SumatraPDF环境配置(自用)
  16. Nginx转发https访问的实现
  17. 码分多址CDMA及计算(简单易懂)
  18. Snapchat正挑战Facebook统治地位 激战短消息
  19. C++的Json解析库:jsoncpp
  20. 10分钟教你用Python玩转微信之抓取好友个性签名制作词云

热门文章

  1. 【转】c# winform 打包部署 自定义界面 或设置开机启动
  2. UWP 矢量字体图标(iconfont)使用
  3. 使用jQuery开发一个响应式超酷整合RSS信息阅读杂志
  4. ARM平台硬件时钟中断周期HZ值计算
  5. htm、html、shtml网页区别
  6. 分类算法之朴素贝叶斯分类(Naive Bayesian classification)
  7. 用init-connect+binlog实现用户操作追踪【转】
  8. 怎样查看哪些程序占用了swap空间
  9. 探索--是测试的必须品
  10. Arduino可穿戴开发入门教程LilyPad和LilyPad Simple的介绍