ocrobot:kit:arduino_star_kit:tutorial05
差别
这里会显示出您选择的修订版和当前版本之间的差别。
两侧同时换到之前的修订记录前一修订版 | |||
ocrobot:kit:arduino_star_kit:tutorial05 [2017/10/04 07:08] – 弘毅 | ocrobot:kit:arduino_star_kit:tutorial05 [2023/06/07 04:23] (当前版本) – 外部编辑 127.0.0.1 | ||
---|---|---|---|
行 1: | 行 1: | ||
+ | ======串口输出====== | ||
+ | < | ||
+ | 这个例程展示如何用串口输出ASCII表。 | ||
+ | </ | ||
+ | 如果需要输出数据时,可以使用串口输出。在OCROBOT控制板上,USB输出数据其实就是串口输出数据。 | ||
+ | 以MANGO为例,MANGO的USB接口通过一个USB转TTL芯片连接到D0,D1端口。让USB输出或者输入数据时,其实就相当于D0,D1输出或者输入数据。(MANGO下可以断开这种强制的USB与串口连接,后面教程会介绍。) | ||
+ | =====代码===== | ||
+ | <code cpp> | ||
+ | /* | ||
+ | ASCII table | ||
+ | |||
+ | | ||
+ | */ | ||
+ | void setup() { | ||
+ | // | ||
+ | Serial.begin(9600); | ||
+ | // 显示标题,以终止线结束 | ||
+ | Serial.println(" | ||
+ | } | ||
+ | |||
+ | // 第一个ascii字符" | ||
+ | int thisByte = 33; | ||
+ | // 你也可以用单引号 | ||
+ | // 例如' | ||
+ | //int thisByte = ' | ||
+ | |||
+ | void loop() { | ||
+ | // 显示原始值,原始二进制值。串口监视器解析所有的字节类型为ascii,所以33就是' | ||
+ | Serial.write(thisByte); | ||
+ | |||
+ | Serial.print(", | ||
+ | // 以ascii编码的十进制字符串显示 | ||
+ | // 十进制是Serial.print() 和 Serial.println()默认使用的格式 | ||
+ | Serial.print(thisByte); | ||
+ | // 但是你可以修改为别的想要的格式 | ||
+ | // | ||
+ | |||
+ | // Serial.print(thisByte, | ||
+ | |||
+ | |||
+ | Serial.print(", | ||
+ | // 作为16进制字符串显示 | ||
+ | Serial.print(thisByte, | ||
+ | |||
+ | Serial.print(", | ||
+ | // 8进制 | ||
+ | Serial.print(thisByte, | ||
+ | |||
+ | Serial.print(", | ||
+ | // 2进制 | ||
+ | // 终止线: | ||
+ | Serial.println(thisByte, | ||
+ | |||
+ | // | ||
+ | if(thisByte == 126) { // 这里使用 if (thisByte == ' | ||
+ | // 循环 | ||
+ | while(true) { | ||
+ | continue; | ||
+ | } | ||
+ | } | ||
+ | // 到下一个字符 | ||
+ | thisByte++; | ||
+ | } | ||
+ | </ | ||
+ | =====效果示意图===== | ||
+ | {{: | ||
+ | <WRAP center round tip 100%> | ||
+ | begin() | ||
+ | |||
+ | 将串行数据传输速率设置为位/ | ||
+ | 语法: | ||
+ | | ||
+ | 参数: | ||
+ | | ||
+ | |||
+ | |||
+ | print() | ||
+ | |||
+ | 以人们可读的ASCII文本形式打印数据到串口输出。此命令可以采取多种形式。每个数字的打印输出使用的是ASCII字符。浮点型同样打印输出的是ASCII字符,保留到小数点后两位。Bytes型则打印输出单个字符。字符和字符串原样打印输出。Serial.print()打印输出数据不换行,Serial.println()打印输出数据自动换行处理。例如: | ||
+ | |||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | |||
+ | 也可以自己定义输出为几进制(格式);可以是BIN(二进制,或以2为基数),OCT(八进制,或以8为基数),DEC(十进制,或以10为基数),HEX(十六进制,或以16为基数)。对于浮点型数字,可以指定输出的小数数位。例如: | ||
+ | |||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | |||
+ | 你可以通过基于闪存的字符串来进行打印输出,将数据放入F()中,再放入Serial.print()。例如 Serial.print(F(“Hello world”)) 若要发送一个字节,则使用 Serial.write()。 | ||
+ | 语法: | ||
+ | | ||
+ | | ||
+ | 参数: | ||
+ | | ||
+ | | ||
+ | 返回: | ||
+ | | ||
+ | |||
+ | println() | ||
+ | |||
+ | 说明:打印数据到串行端口,输出人们可识别的ASCII码文本并回车 (ASCII 13, 或 ‘\r’) 及换行(ASCII 10, 或 ‘\n’)。此命令采用的形式与Serial.print ()相同 。 | ||
+ | 语法: | ||
+ | | ||
+ | | ||
+ | 参数: | ||
+ | val: 打印的内容 – 任何数据类型都可以 | ||
+ | | ||
+ | 返回: | ||
+ | | ||
+ | | ||
+ | |||
+ | | ||
+ | </ | ||
+ | |||
+ | [[ocrobot: |