用户工具

站点工具


learing:examples:asciitable

差别

这里会显示出您选择的修订版和当前版本之间的差别。

到此差别页面的链接

两侧同时换到之前的修订记录前一修订版
后一修订版
前一修订版
zh:learing:examples:asciitable [2016/02/04 02:58] 弘毅learing:examples:asciitable [2023/06/07 04:23] (当前版本) – 外部编辑 127.0.0.1
行 1: 行 1:
 +====== ASCII Table (ASCII码表)======
 +
 +<WRAP left round info 65%>
 +通过制作字符表和对应的ASCII值对应的的二进制,八进制,十进制,十六进制值演示了高级的串口打印功能。更多关于ASCII的信息请看asciitable.com 
 +</WRAP>
 +
 +<WRAP left round box 100%>
 +===== ALPHA MEGA328-U核心 =====
 +==== 硬件 ====
 +
 +  * [[ocrobot:alpha:mega328-u:main|ALPHA MEGA328-U]]
 +
 +==== 搭建电路 ====
 +
 +  - USB线连接计算机与ALPHA MEGA328-U。
 +
 +==== 代码 ====
 +
 +
 +<code cpp>/*
 +  ASCII table
 + 
 + 打印符值的所有字可能的格式
 +*/
 +void setup() { 
 + //初始化串口通讯
 +  Serial.begin(9600); 
 + // 显示标题,以终止线结束
 +  Serial.println("ASCII Table ~ Character Map"); 
 +
 +
 +// 第一个ascii字符"!" 是数字33
 +int thisByte = 33; 
 +// 你也可以用单引号
 +// 例如'!' 也是33,所以你可以这样:
 +//int thisByte = '!';  
 +
 +void loop() { 
 +  // 显示原始值,原始二进制值。串口监视器解析所有的字节类型为ascii,所以33就是'!'
 +  Serial.write(thisByte);    
 +
 +  Serial.print(", dec: "); 
 +  // 以ascii编码的十进制字符串显示
 +  // 十进制是Serial.print() 和 Serial.println()默认使用的格式
 +  Serial.print(thisByte);      
 +  // 但是你可以修改为别的想要的格式
 +  //下面这一句有没有注释掉都是会工作的
 +
 +  // Serial.print(thisByte, DEC);  
 +
 +
 +  Serial.print(", hex: "); 
 +  // 作为16进制字符串显示
 +  Serial.print(thisByte, HEX);     
 +
 +  Serial.print(", oct: "); 
 +  // 8进制
 +  Serial.print(thisByte, OCT);     
 +
 +  Serial.print(", bin: "); 
 +  // 2进制
 +  // 终止线:
 +  Serial.println(thisByte, BIN);   
 +
 +  //如果到了'~' 或者 126就停止 
 +  if(thisByte == 126) {     // 这里使用 if (thisByte == '~')也是可以的
 +    // 循环
 +    while(true) { 
 +      continue; 
 +    } 
 +  } 
 +  // 到下一个字符
 +  thisByte++;  
 +}</code>
 +
 +ASCII表 ~ 字符表
 +<code>
 +
 +!, dec: 33, hex: 21, oct: 41, bin: 100001
 +", dec: 34, hex: 22, oct: 42, bin: 100010
 +#, dec: 35, hex: 23, oct: 43, bin: 100011
 +$, dec: 36, hex: 24, oct: 44, bin: 100100
 +%, dec: 37, hex: 25, oct: 45, bin: 100101
 +&, dec: 38, hex: 26, oct: 46, bin: 100110
 +', dec: 39, hex: 27, oct: 47, bin: 100111
 +(, dec: 40, hex: 28, oct: 50, bin: 101000
 +), dec: 41, hex: 29, oct: 51, bin: 101001
 +*, dec: 42, hex: 2A, oct: 52, bin: 101010
 ++, dec: 43, hex: 2B, oct: 53, bin: 101011
 +,, dec: 44, hex: 2C, oct: 54, bin: 101100
 +-, dec: 45, hex: 2D, oct: 55, bin: 101101
 +., dec: 46, hex: 2E, oct: 56, bin: 101110
 +/, dec: 47, hex: 2F, oct: 57, bin: 101111
 +0, dec: 48, hex: 30, oct: 60, bin: 110000
 +1, dec: 49, hex: 31, oct: 61, bin: 110001
 +2, dec: 50, hex: 32, oct: 62, bin: 110010
 +3, dec: 51, hex: 33, oct: 63, bin: 110011
 +4, dec: 52, hex: 34, oct: 64, bin: 110100
 +5, dec: 53, hex: 35, oct: 65, bin: 110101
 +6, dec: 54, hex: 36, oct: 66, bin: 110110
 +7, dec: 55, hex: 37, oct: 67, bin: 110111
 +8, dec: 56, hex: 38, oct: 70, bin: 111000
 +9, dec: 57, hex: 39, oct: 71, bin: 111001
 +:, dec: 58, hex: 3A, oct: 72, bin: 111010
 +;, dec: 59, hex: 3B, oct: 73, bin: 111011
 +<, dec: 60, hex: 3C, oct: 74, bin: 111100
 +=, dec: 61, hex: 3D, oct: 75, bin: 111101
 +>, dec: 62, hex: 3E, oct: 76, bin: 111110
 +?, dec: 63, hex: 3F, oct: 77, bin: 111111
 +@, dec: 64, hex: 40, oct: 100, bin: 1000000
 +A, dec: 65, hex: 41, oct: 101, bin: 1000001
 +B, dec: 66, hex: 42, oct: 102, bin: 1000010
 +C, dec: 67, hex: 43, oct: 103, bin: 1000011
 +D, dec: 68, hex: 44, oct: 104, bin: 1000100
 +E, dec: 69, hex: 45, oct: 105, bin: 1000101
 +
 +</code>
 +
 +
 +</WRAP>
 +
 +<WRAP left round box 100%>
 +===== ALPHA 8F328D-U核心 =====
 +==== 硬件 ====
 +
 +==== 搭建电路 ====
 +
 +==== 代码 ====
 +</WRAP>
 +
 + 
 +<WRAP left round box 100%>
 +===== MangoII =====
 +
 +==== 硬件要求 ====
 +
 +|OCROBOT控制器|
 +|导线|
 +
 +把控制器连接上电脑
 +
 +==== 代码 ====
 +
 +
 +<code cpp>/*
 +  ASCII table
 + 
 + 打印符值的所有字可能的格式
 +*/
 +void setup() { 
 + //初始化串口通讯
 +  Serial.begin(9600); 
 + // 显示标题,以终止线结束
 +  Serial.println("ASCII Table ~ Character Map"); 
 +
 +
 +// 第一个ascii字符"!" 是数字33
 +int thisByte = 33; 
 +// 你也可以用单引号
 +// 例如'!' 也是33,所以你可以这样:
 +//int thisByte = '!';  
 +
 +void loop() { 
 +  // 显示原始值,原始二进制值。串口监视器解析所有的字节类型为ascii,所以33就是'!'
 +  Serial.write(thisByte);    
 +
 +  Serial.print(", dec: "); 
 +  // 以ascii编码的十进制字符串显示
 +  // 十进制是Serial.print() 和 Serial.println()默认使用的格式
 +  Serial.print(thisByte);      
 +  // 但是你可以修改为别的想要的格式
 +  //下面这一句有没有注释掉都是会工作的
 +
 +  // Serial.print(thisByte, DEC);  
 +
 +
 +  Serial.print(", hex: "); 
 +  // 作为16进制字符串显示
 +  Serial.print(thisByte, HEX);     
 +
 +  Serial.print(", oct: "); 
 +  // 8进制
 +  Serial.print(thisByte, OCT);     
 +
 +  Serial.print(", bin: "); 
 +  // 2进制
 +  // 终止线:
 +  Serial.println(thisByte, BIN);   
 +
 +  //如果到了'~' 或者 126就停止 
 +  if(thisByte == 126) {     // 这里使用 if (thisByte == '~')也是可以的
 +    // 循环
 +    while(true) { 
 +      continue; 
 +    } 
 +  } 
 +  // 到下一个字符
 +  thisByte++;  
 +}</code>
 +Output
 +
 +ASCII Table ~ Character Map
 +<code cpp>
 +
 +!, dec: 33, hex: 21, oct: 41, bin: 100001
 +", dec: 34, hex: 22, oct: 42, bin: 100010
 +#, dec: 35, hex: 23, oct: 43, bin: 100011
 +$, dec: 36, hex: 24, oct: 44, bin: 100100
 +%, dec: 37, hex: 25, oct: 45, bin: 100101
 +&, dec: 38, hex: 26, oct: 46, bin: 100110
 +', dec: 39, hex: 27, oct: 47, bin: 100111
 +(, dec: 40, hex: 28, oct: 50, bin: 101000
 +), dec: 41, hex: 29, oct: 51, bin: 101001
 +*, dec: 42, hex: 2A, oct: 52, bin: 101010
 ++, dec: 43, hex: 2B, oct: 53, bin: 101011
 +,, dec: 44, hex: 2C, oct: 54, bin: 101100
 +-, dec: 45, hex: 2D, oct: 55, bin: 101101
 +., dec: 46, hex: 2E, oct: 56, bin: 101110
 +/, dec: 47, hex: 2F, oct: 57, bin: 101111
 +0, dec: 48, hex: 30, oct: 60, bin: 110000
 +1, dec: 49, hex: 31, oct: 61, bin: 110001
 +2, dec: 50, hex: 32, oct: 62, bin: 110010
 +3, dec: 51, hex: 33, oct: 63, bin: 110011
 +4, dec: 52, hex: 34, oct: 64, bin: 110100
 +5, dec: 53, hex: 35, oct: 65, bin: 110101
 +6, dec: 54, hex: 36, oct: 66, bin: 110110
 +7, dec: 55, hex: 37, oct: 67, bin: 110111
 +8, dec: 56, hex: 38, oct: 70, bin: 111000
 +9, dec: 57, hex: 39, oct: 71, bin: 111001
 +:, dec: 58, hex: 3A, oct: 72, bin: 111010
 +;, dec: 59, hex: 3B, oct: 73, bin: 111011
 +<, dec: 60, hex: 3C, oct: 74, bin: 111100
 +=, dec: 61, hex: 3D, oct: 75, bin: 111101
 +>, dec: 62, hex: 3E, oct: 76, bin: 111110
 +?, dec: 63, hex: 3F, oct: 77, bin: 111111
 +@, dec: 64, hex: 40, oct: 100, bin: 1000000
 +A, dec: 65, hex: 41, oct: 101, bin: 1000001
 +B, dec: 66, hex: 42, oct: 102, bin: 1000010
 +C, dec: 67, hex: 43, oct: 103, bin: 1000011
 +D, dec: 68, hex: 44, oct: 104, bin: 1000100
 +E, dec: 69, hex: 45, oct: 105, bin: 1000101
 +</code>
 +
 +...
 +</WRAP>