历史上的今天
返回首页

历史上的今天

今天是:2025年01月23日(星期四)

正在发生

2020年01月23日 | 【ARM】串行通信

2020-01-23 来源:eefocus

异步通信

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


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

 

   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 

 3 void  uart0_test(void);

 4 

 5  

 6 

 7 int main(int argc,char **argv)

 8 

 9 {

10 

11    sys_init();

12 

13    uart_printf("n Embest Arm S3CEB2410 Evaluation Boardn");

14 

15 while(1)

16 

17    {

18 

19        uart0_test();

20 

21    }        

22 

23 }

24 

25 void uart0_test()

26 

27 {

28 

29 char cInput[256];

30 

31    UINT8T ucInNo=0;

32 

33 char c;

34 

35    uart_init(0,115200,0);

36 

37    uart_printf("n UART0 Communication Test Examplen");    

38 

39    uart_printf(" Please input words, then press Enter:n");

40 

41 while(1)

42 

43    {

44 

45        c=uart_getch();

46 

47        uart_printf("%c",c);

48 

49 if(c!='r')          //enter key

50 

51            cInput[ucInNo++]=c;

52 

53 else

54 

55        {

56 

57            cInput[ucInNo]='';

58 

59 break;

60 

61        }

62 

63    }

64 

65    delay(1000);    

66 

67    uart_printf("n The words that you input are: n %sn",cInput);      

68 

69    uart_printf(" end.n");  

70 

71 }

推荐阅读

史海拾趣

ECLIPSE公司的发展小趣事

尽管Eclipse是一个开源项目,但其背后也有着商业化的运作。一些公司看到了Eclipse的潜力,纷纷推出了基于Eclipse的商业产品。这些产品不仅继承了Eclipse的优秀特性,还加入了一些独特的功能和服务,以满足不同客户的需求。通过商业化运作,Eclipse的影响力得到了进一步扩大。

FILTRONETICS Inc公司的发展小趣事

进入21世纪后,FILTRONETICS意识到全球化市场的重要性,开始积极开拓国际市场。公司加强了与国际客户的沟通与合作,参加了多个国际电子展会,展示了公司的技术和产品。同时,公司还在海外设立了分支机构,以便更好地服务当地客户。通过不懈的努力,FILTRONETICS成功打入多个国际市场,并赢得了众多国际客户的信赖和支持。

APEM公司的发展小趣事

随着公司规模的扩大,APEM开始实施国际化发展战略。1975年,APEM在欧洲创建了首家附属公司,随后又在英国、突尼斯、比利时、荷兰和卢森堡等地成立分公司。这些举措不仅扩大了APEM的市场份额,也提升了其在国际市场的知名度。

E. Dold & Söhne KG公司的发展小趣事

在E. Dold & Söhne KG公司的发展历程中,品质始终是公司最重视的方面之一。公司严格把控原材料采购、生产过程和产品检验等环节,确保每一件产品都符合高标准的质量要求。这种对品质的执着追求使得E. Dold & Söhne KG公司的产品在市场上赢得了广泛的认可和信任。

ELDECO公司的发展小趣事

在电子记录仪(ELD)市场刚刚兴起时,ELDECO公司凭借其在嵌入式系统领域的深厚积累,迅速推出了首款高性能、易集成的ELD产品。这款产品不仅满足了当时法规对车辆监控的要求,还通过创新的数据分析功能,帮助运输企业提高了运营效率。随着市场需求的不断增长,ELDECO公司继续加大研发投入,不断推出新产品和解决方案,逐渐在ELD市场确立了领先地位。

AKM [Asahi Kasei Microsystems]公司的发展小趣事

在激烈的市场竞争中,ELDECO公司始终坚持质量至上的原则。公司建立了严格的质量管理体系和检测机制,确保每一台出厂的ELD产品都符合高质量标准。同时,公司还注重售后服务体系建设,为客户提供及时、专业的技术支持和解决方案。正是凭借过硬的产品质量和优质的售后服务,ELDECO公司的ELD产品赢得了客户的广泛认可和信赖。

问答坊 | AI 解惑

华为PCB规范

希望对你有用…

查看全部问答>

想用2262,2272做遥控小车,怎样才能使小车前进的同时转弯?

想用2262,2272做个遥控小车,可这个芯片在同一时段只能有一个端口输出,前进时就不能转弯了,不知道该怎样解决,请大家想想,给点思路,用单片机控制也行。…

查看全部问答>

请教如何在Win CE 下开发Driver【或寻北京兼职人员】

想请教一下如何开发Win CE 下的Dirver。 开发流程,用到的技术,是怎么样子的。 希望能帮忙找点例子和相关的文档。 我这边有个嵌入式的项目,目前准备自学后再做。 也希望能得到嵌入式工程师的帮助,大家一起接下这个单子。 如果有兴趣的可以 ...…

查看全部问答>

nios 2 开发

我将生成的elf 文件下载到板上的过程中出现如图的错误 我该如何去解决 谢谢…

查看全部问答>

ST7-DVP3多少钱?

                                 用rlink太痛苦了,好点的多少钱?…

查看全部问答>

用图片教你识别各种电子器件

用图片教你识别各种电子器件,很不错,从最简单的电阻 电容 到复杂的引脚众多的IC芯片,蛮实用的。允许我赚点小钱啊,多多包涵。。。      …

查看全部问答>

LM3S9B92板子少了个作键盘的程序和PC连接

连接之后PC机没有反映,驱动怎么装? 各位赐教!谢谢!…

查看全部问答>

CPLD执行一条语句需要多少时间

verilog中 比如always @(posedge clk)//CLK频率为125MHZ. 8ns周期 begin ...... end 实际begin end中的语句执行一次 要多少时间啊…

查看全部问答>

430循迹程序

#include #define TR_1_H        P1IN|=BIT1      //P1.1 #define TR_1_L        P1IN&=~BIT1     //P1.1 #define TR_2_H   & ...…

查看全部问答>

贡献launchpad 内部测温通过串口传输给PC

最近玩launchpad,写了个简单的小程序通过msp430g2553内部测量温度,然后通过串口通信上传给电脑,但是没有加上校正,只能简单的使用…

查看全部问答>