找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1646|回复: 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构造的字符串通过串口发送给上位机??
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
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 单片机教程网

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