生成ASICII码用于命令反馈

简介: 生成ASICII码用于命令反馈

说明

Sprintf 功能 把格式化的数据写入某个字符串缓冲区。

头文件

stdio.h

原型

int sprintf( char buffer, const charformat, [ argument] … );

转换字符

%% 印出百分比符号,不转换。

%c 整数转成对应的 ASCII 字元。

%d 整数转成十进位。

%f 倍精确度数字转成浮点数。

%o 整数转成八进位。

%s 整数转成字符串。

%x 整数转成小写十六进位。

%X 整数转成大写十六进位


代码


void SendRepayPacket(char*replay_cmd,unsigned int pCmdData)
{ unsignedchar pPacket[20];
unsignedshort wdLen = 0;
     unsignedchar btCheckSum = 0;
     unsignedchar i;
     unsignedchar pCmdData_buffer[20];
     unsignedshort sendBufferLen = 0;
     sprintf(pCmdData_buffer,"%s,%d,",replay_cmd,pCmdData);
     wdLen= strlen(pCmdData_buffer);
     pPacket[0]= DALI_STX;
     pPacket[1]= (wdLen + 1) & 0xFF;
     pPacket[2]= (wdLen + 1) >> 8;
     pPacket[3]= Address;
     for(i= 0;i<wdLen;i++)
     {
               pPacket[4+ i] = pCmdData_buffer[i];
     }       
     for(i=0;i< wdLen;i++)
     {
               btCheckSum+= pCmdData_buffer[i];
     }
     pPacket[4+ wdLen] = btCheckSum;
     pPacket[5+ wdLen] = DALI_ETX;
     sendBufferLen= wdLen + 5 + 1;
     MAX3485_UART_SendData(pPacket,sendBufferLen);
}



void SendRepayPacket_2(char*replay_cmd,unsigned int pCmdData,unsigned int pCmdData1)
{ unsignedchar pPacket[20];
unsignedshort wdLen = 0;
     unsignedchar btCheckSum = 0;
     unsignedchar i;
     unsignedchar pCmdData_buffer[20];
     unsignedshort sendBufferLen = 0;
     sprintf(pCmdData_buffer,"%s,%d,%d,",replay_cmd,pCmdData,pCmdData1);
     wdLen= strlen(pCmdData_buffer);
     pPacket[0]= DALI_STX;
     pPacket[1]= (wdLen + 1) & 0xFF;
     pPacket[2]= (wdLen + 1) >> 8;
     pPacket[3]= Address;
     for(i= 0;i<wdLen;i++)
     {
               pPacket[4+ i] = pCmdData_buffer[i];
     }       
     for(i=0;i< wdLen;i++)
     {
               btCheckSum+= pCmdData_buffer[i];
     }
     pPacket[4+ wdLen] = btCheckSum;
     pPacket[5+ wdLen] = DALI_ETX;
     sendBufferLen= wdLen + 5 + 1;
     MAX3485_UART_SendData(pPacket,sendBufferLen);
}


相关文章
|
3月前
|
SQL JavaScript 数据安全/隐私保护
多信息登录、检测用户信息是否完善且引导补全
多信息登录、检测用户信息是否完善且引导补全
|
2月前
|
存储 Linux
深入探索Linux命令:`chfn` - 修改用户指纹信息
`chfn`命令在Linux中用于修改用户的指纹信息,包括全名、办公室号码和电话等。用户可运行`chfn`无参数来修改自身信息,或以`sudo chfn username`修改其他用户信息。要查看指纹信息,可使用`finger`命令。指纹信息在服务器管理、系统日志记录和旧版终端界面中仍有其价值。
|
8月前
|
传感器 运维 网络协议
Modbus故障码速查手册(故障码含义、分析原因、详细解读)
当涉及到Modbus通信协议的故障排查和调试时,速查手册是一项极为重要的资源。了解故障码及其含义能够帮助工程师在通信问题出现时迅速定位和解决相关故障。 本篇文章旨在为读者提供一个方便快速查阅的资源,以便快速获取有关Modbus通信中可能出现的故障码的信息。通过仔细研究这些故障码,读者可以更有效地诊断和解决通信问题,减少故障排查的时间。
1037 0
|
PyTorch TensorFlow 算法框架/工具
福利:推荐你在线码代码
福利:推荐你在线码代码
90 0
|
存储
系统码的编译码与汉明码
系统码的编译码与汉明码
117 0
系统码的编译码与汉明码
|
算法 数据安全/隐私保护 UED
到银联的调试过程,总结,记录
到银联的调试过程,总结,记录
|
机器学习/深度学习 人工智能 算法
基于PaddleX的可疑人员电子图片信息检查
基于PaddleX的可疑人员电子图片信息检查
97 0
基于PaddleX的可疑人员电子图片信息检查
|
安全 Java 数据库
案例之授权码模式测试|学习笔记
快速学习案例之授权码模式测试
171 0
案例之授权码模式测试|学习笔记
|
XML 数据格式
模拟外线O口呼入时,看不到来电显示号码怎么处理?
模拟外线呼入时,看不到来电号码 1)将话机直接连接电话线,检查线路是否开通来电显示功能。若话机没有显示正确的号码,请与运营商联系。若号码正确,注意观察号码显示是在第一声振铃前还是在振铃一两声后。 2)进入“外线设置 > 模拟外线 > 高级”页面,查看来电检测是否开启(默认开启); 3)若开启,修改“系统配置 > 模拟外线 > 来电检测模式”,分别用振铃后、振铃前测试,直到与线路匹配。
|
移动开发
商户如何测试付款码(码升级专用流程)
码升级标准方案请参考该帖:https://openclub.alipay.com/read.php?tid=4353&fid=56  客户端要求    请将支付宝APP升级成最新版本(10.1.10及以上)  如何生成灰度码    1.申请成为临时灰度用户      step1. 扫支付宝提供的灰度用户申请码(沙箱环境也扫这个码)                   step2. 定制灰度码规格              step3. 提交表单      选择后,拉到最下方,点击提交。
924 12