找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1407|回复: 1
收起左侧

如何将sprintf构造的字符串通过单片机串口发送给上位机?

[复制链接]
ID:670111 发表于 2021-4-29 20:19 | 显示全部楼层 |阅读模式
本人在学习串口发送字符串的时候遇到问题,如下:(部分程序)       char buffer[100] = {0};
           str[0]=U8RH_data_H;
           str[1]=U8RH_data_L;
           str[2]=U8T_data_H;
           str[3]=U8T_data_L;
           str[4]=U8checkdata;
           sprintf(buffer,"temp is:%d℃,humi is:%dRH", str[2], str[0]);

初始化:
        TMOD = 0x20;          //定时器T1使用工作方式2
        TH1 = 253;        // 设置初值
        TL1 = 253;
        TR1 = 1;          // 开始计时
        SCON = 0x50;          //工作方式1,波特率9600bps,允许接收   
        ES = 1;
        EA = 1;           // 打开所以中断   
        TI = 0;
        RI = 0;

请问如何将我用sprintf构造的字符串通过串口发送给上位机??
回复

使用道具 举报

ID:240600 发表于 2021-4-29 22:14 | 显示全部楼层
本帖最后由 穿山跃海 于 2021-4-29 22:15 编辑

sprintf(CMD_UART_TxBuffer,"%s%s%d%s%d%s%d%s%s%s%s",CMD_Head_HAND,CMD_Space,Address_temp,CMD_Space,Device_num_temp,CMD_Space,Data1_temp,CMD_Space,CMD_Space,CMD_Space,CMD_End);Tx_Buffer_Len=strlen(CMD_UART_TxBuffer)
CRCValue      =MODBUS_CRC16((uint8_t*)CMD_UART_TxBuffer,Tx_Buffer_Len);
printf("OK\n\r");                                                                                                
printf("%s",CMD_UART_TxBuffer);                              

评分

参与人数 1黑币 +20 收起 理由
admin + 20 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表