- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第03章 Arduino基本函数概要1
串行数据传输时,数据是一位一位地在通信线上传输的,先由具有几位总线的计算机内的发送设备,将几位并行数据经并--串转换硬件转换成串行方式,再逐位经传输线到达接收站的设备中,并在接收端将数据从串行方式重新转换成并行方式,以供接收方使用。 串行数据传输的速度要比并行传输慢得多,但对于覆盖面极其广阔的公用电话系统来说具有更大的现实意义。 2.单工、半双工、全双工通信 根据信息的传送方向,串行通讯可以进一步分为单工、半双工和全双工三种。信息只能单向传送为单工;信息能双向传送但不能同时双向传送称为半双工;信息能够同时双向传送则称为全双工。 A B Baudrate(波特率):每秒钟传输的二进制位数 bit/s Arduino中串口通信是通过HardwareSerial类来实现的,在头文件 HardwareSerial.h 中定义了一个HardwareSerial类的对象Serial,直接使用类的成员函数就可简单地实现串口通信。 (1) Serial.begin(speed) 3. Arduino串口通信 设置串行每秒传输数据的速率(波特率)。 在通讯时,可使用的值:300, 1200, 2400,4800, 9600, 14400, 19200, 28800, 38400, 57600 或115200。 (2) Serial.available() 返回值为int类型。 回传有多少位元组(bytes)的资料尚未被read()函数读取,如果回传值是0代表所有序列埠上资料都已经被read()函数读取。 (3) Serial.read() 读串口并返回收到的数据。 (4) Serial.print(data) 从串行端口输出数据,默认为十进制。 (5) Serial.print(data,encoding) 从串行端口输出数据data,encoding为编码格式可以取值如下数据。 DEC : 十进制,默认方式 HEX : 十六进制方式 OCT : 八进制方式 BIN : 二进制方式 BYTE : 以byte进行传送,显示以ASCII方式 (6) Serial.println、Serial.println(data,encoding) 同Serial.print、Serial.println,但输出的数据会自动换行。 (7) Serial.flush( ) 有时因为资料速度太快,超过程序处理资料的速度,此时可使用此函数清除缓冲区内的数据。经过此函数可以确保缓冲区(buffer)内的数据都是最新的。 实践操作1: 本次操作,Arduino通过其串口接收来自与其相连的PC机传来的数据,然后根据PC机的指令完成对不同 硬件连接: 图10 Arduino串行输入硬件连接实物图 参考代码: void setup() { pinMode( 3, OUTPUT); pinMode( 10, OUTPUT); Serial.begin(9600); } void loop() { if(Serial.available()) { switch(Serial.read()) { case 1: digitalWrite(3,HIGH);break; case 2:digitalWrite(10,HIGH);break; } }//end if delay(1000); } 实践操作2: 本次操作,Arduino通过其串口向与其相连的PC机发送数据,然后PC机将接收到的数据显示出来。 图11 Arduino串行输出硬件连接原理图 参考代码: void setup() { Serial.begin(9600);//可分别测试其它波特率 } void loop() { Serial.println(“Hello World”); //可分别测试 print ,println //还可测试println(data,encoding)函数 } 注意:串行通信波特率的设置要求通信双发相同,否则通 信不成功。 图12 Arduino串口通信波特率设置图 3
文档评论(0)