Ctrl+C、Ctrl+Z对应的0x03和0x1A,在串口发送的时候,需要发送十六进制的数据,而不是字符
奋斗STM32中的USART_OUT函数,参数默认是发送字符串
但是进入到USART_OUT的函数实现的地方,可以看到USART_SendData()这个函数是可以发送十六进制数据
在程序中加入 USART_SendData(USART1,0x1A) 即可发送字符串,可以看到串口助手接收端收到一个向右的箭头→
下表摘自:http://www.crifan.com/files/doc/docbook/char_encoding/release/html/char_encoding.html#tbl.ascii_ctrl
| 十进制 | 十六进制 | 控制字符 | 转义字符 | 说明 | Ctrl + 下列字母 |
|---|
| 0 | 00 | NUL | \0 | Null character(空字符) | @ |
| 1 | 01 | SOH | | Start of Header(标题开始) | A |
| 2 | 02 | STX | | Start of Text(正文开始) | B |
| 3 | 03 | ETX | | End of Text(正文结束) | C |
| 4 | 04 | EOT | | End of Transmission(传输结束) | D |
| 5 | 05 | ENQ | | Enquiry(请求) | E |
| 6 | 06 | ACK | | Acknowledgment(收到通知/响应) | F |
| 7 | 07 | BEL | \a | Bell(响铃) | G |
| 8 | 08 | BS | \b | Backspace(退格) | H |
| 9 | 09 | HT | \t | Horizontal Tab(水平制表符) | I |
| 10 | 0A | LF | \n | Line feed(换行键) | J |
| 11 | 0B | VT | \v | Vertical Tab(垂直制表符) | K |
| 12 | 0C | FF | \f | Form feed(换页键) | L |
| 13 | 0D | CR | \r | Carriage return(回车键) | M |
| 14 | 0E | SO | | Shift Out(不用切换) | N |
| 15 | 0F | SI | | Shift In(启用切换) | O |
| 16 | 10 | DLE | | Data Link Escape(数据链路转义) | P |
| 17 | 11 | DC1 | | Device Control 1(设备控制1) /XON(Transmit On) | Q |
| 18 | 12 | DC2 | | Device Control 2(设备控制2) | R |
| 19 | 13 | DC3 | | Device Control 3(设备控制3) /XOFF(Transmit Off) | S |
| 20 | 14 | DC4 | | Device Control 4(设备控制4) | T |
| 21 | 15 | NAK | | Negative Acknowledgement(拒绝接收/无响应) | U |
| 22 | 16 | SYN | | Synchronous Idle(同步空闲) | V |
| 23 | 17 | ETB | | End of Trans the Block(传输块结束) | W |
| 24 | 18 | CAN | | Cancel(取消) | X |
| 25 | 19 | EM | | End of Medium(已到介质末端/介质存储已满) | Y |
| 26 | 1A | SUB | | Substitute(替补/替换) | Z |
| 27 | 1B | ESC | \e | Escape(溢出/逃离/取消) | [ |
| 28 | 1C | FS | | File Separator(文件分割符) | \ |
| 29 | 1D | GS | | Group Separator(分组符) | ] |
| 30 | 1E | RS | | Record Separator(记录分隔符) | ^ |
| 31 | 1F | US | | Unit Separator(单元分隔符) | _ |
| 32 | 20 | SP | | White space | [Space] |
| 127 | 7F | DEL | | Delete(删除) | ? |