串行通讯

**TTL解释:**一般数字IC的0与1信号的电压,分别是0和5v(或电源电压),这种准位又称为TTL或逻辑准位。高于电源电压一半,表示1。低于0.8,表示0。

**RS-232C解释:**电压准位介于±3~±15v,高于3v的准位为0,也称为Space(空格),低于-3v的准位为1,又称为Mark(标记),-3v和+3v之间的信号则是不确定值

开始传输数据之前,RS-232的传送(Tx)与接收(Rx)都处于高位状态,传送数据时,他将送出一个代表“开始”的起始位(start bit,低电位),接着才送出真正的数据内容(称为数据位),每一组数据的长度可以是5至~8个位,通常选用8个位。
一组数据位后面,会跟着代表传送完毕的停止位停止位通常占用1位,某些低俗的设备要求使用2位。

串口发送

void setup() {
 Serial.begin(9600);	//设置波特率为9600
}

void loop() {
   char s='A';	//这是一个字符,会自动转意为ACII码。
   //数组声明,中括号可以留空。
   char str[]="Arduino";	//会自动存储为char str[]={'A','r','d','u','i','n','o','\0'}



	Serial.print("asd");  //串口输出asd
	Serial.print()
	\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
	//设置串口的输出格式

Serial.print(3.14159); 	//默认只会输出后面的两位小数3.14
Serial.print(3.14159,0); //省略后面的小数
Serial.print(3.14159,4);		//输出后面的4位小数,3.1415

Serial.print(42,BIN);		//将数据转换为二进制输出101010
							//其中BIN(二进制)		可以换为DEC(10进制)    HEX(16进制)		OCT(8进制)
}


串口接收

void setup() {
 Serial.begin(9600);	//设置串口通讯的波特率
 

}

void loop() {
 if(Serial.available())	//判断串口中Serial.available()是否有数据,若没有数据,将返回0
 {
	Serial.read();		//从串口中Serial.read()读取第1位数据,并删除。若没有将返回-1
}

}




串口通讯中:电脑会把信息分成字符和字符串。
字符串:电脑无法翻译。需要使用“”(双引号)括起来。
字符:电脑会将其翻译为ACII码,需要使用‘’(单引号括起来)。在串口通讯中,电脑会将字符串以字符的形式放在数组中,且最后一位都会自动添加’\0’或者0或者Null。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值