分享

write()与print()一个写入,一个从串口输出

 大漠 2012-10-14

write()

说明

写入二级制数据到串口。发送的数据以一个字节或者一系列的字节为单位。如果写入的数字为字符,需使用print()命令进行代替。

语法

Serial.write(val) 
Serial.write(str) 
Serial.write(buf, len) 
Arduino Mega还支持:Serial1,Serial2,Serial3 (替代Serial)

参数

val: 以单个字节形式发的值 
str: 以一串字节的形式发送的字符串 
buf: 以一串字节的形式发送的数组 
len: 数组的长度

返回结果

byte 
write() 将返回写入的字节数,但是否使用这个数字是可选的

例子

void setup(){
  Serial.begin(9600);
}
 
void loop(){
  Serial.write(45); // 发送一个值为45的字节, 返回45的ASCII码所代表的字符
 
   int bytesSent = Serial.write(“hello”); //发送字符串“hello”,返回该字符串的长度.
}

print()

说明

以人们可读的ASCII文本形式打印数据到串口输出。此命令可以采取多种形式。每个数字的打印输出使用的是ASCII字符。浮点型同样打印输出的是ASCII字符,保留到小数点后两位。Bytes型则打印输出单个字符。字符和字符串原样打印输出。Serial.print()打印输出数据不换行,Serial.println()打印输出数据自动换行处理。例??/p>

  • Serial.print(78)输出为??8??/div>
  • Serial.print(1.23456)输出为??.23??/div>
  • Serial.print(“N??输出为“N??/div>
  • Serial.print(“Hello world.??输出为“Hello world.??/div>

也可以自己定义输出为几进制(格式);可以是BIN(二进制,或??为基数),OCT(八进制,或??为基数),DEC(十进制,或??0为基数),HEX(十六进制,或以16为基数)。对于浮点型数字,可以指定输出的小数数位。例??/p>

  • Serial.print(78,BIN)输出为??001110??/div>
  • Serial.print(78,OCT)输出为??16??/div>
  • Serial.print(78,DEC)输出为??8??/div>
  • Serial.print(78,HEX)输出为??E??/div>
  • Serial.println(1.23456,0)输出为????/div>
  • Serial.println(1.23456,2)输出为??.23??/div>
  • Serial.println(1.23456,4)输出为??.2346??/div>

你可以通过基于闪存的字符串来进行打印输出,将数据放入F()中,再放入Serial.print()。例??Serial.print(F(“Hello world??) 若要发送一个字节,则使Serial.write()?

语法

Serial.print(val) 
Serial.print(val,格式)

参数

val:打印输出的值 - 任何数据类型 
格式:指定进制(整数数据类型)或小数位数(浮点类型)

返回

字节 print()将返回写入的字节数,但是否使用(或读出)这个数字是可设定的

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多