串口编程

您所在的位置:网站首页 asc转16进制 串口编程

串口编程

2024-07-15 08:19| 来源: 网络整理| 查看: 265

串口编程 - ascii字符与16进制的相互转换

如需转载请标明出处:http://blog.csdn.net/itas109 QQ技术交流群:129518033

文章目录 串口编程 - ascii字符与16进制的相互转换前言1. 16进制转换为16进制ascii字符2. ascii字符转换为16进制

前言

计算中所有数据的存储和运算都是使用二进制表示的,这种表示法便于计算机处理,但不便于人类理解。因此便产生了信息编码的概念。

信息编码(Information Coding),即用不同的代码与各种信息中的基本单位组成部分建立一一对应的关系。如计算机中常用的信息编码ASCII码。

串口通信中数据传输也都是使用二进制。为了便于展示或存储,会存在ascii字符与16进制之间的转换,如以ascii方式发送数据,对方以16进制方式进行展示或者以16进制方式发送,对方以ascii方式展示等。

1. 16进制转换为16进制ascii字符

用途:

可用于串口数据接收时,将16进制数据转换为16进制ascii字符串口调试助手hex显示

示例:0x30 直接展示为 30 两个ascii码

#include #include int main() { int recLen = 0; char hexChar[3];// two bit hex + '\0' char * receiveStr = NULL; receiveStr = new char[1024]; // mock read // recLen = p_sp->readAllData(str); receiveStr[0] = 0x00; receiveStr[1] = 0x11; receiveStr[2] = 0x22; receiveStr[3] = 0x33; receiveStr[4] = 0x44; recLen = 5; // convert to hex string for (int i = 0; i < recLen; i++) { snprintf(hexChar, sizeof(hexChar), "%02X", receiveStr[i] & 0xFF);// two bit hex + '\0' hexChar[sizeof(hexChar) - 1] = '\0'; std::cout = '0') && (charStr[i] = 'A') && (charStr[i] = 'a') && (charStr[i] = '0' && charH = 'a' && charH = 'A' && charH


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3