[STM32F7] 串口通信的字符串的数值的识别

[复制链接]
 楼主| zch305 发表于 2019-3-25 10:24 | 显示全部楼层 |阅读模式
void SendData(unsigned char ch)
{
    SBUF = ch;                 //写数据到UART数据寄存器
                while(TI == 0);
                TI = 0;
}

/*----------------------------
发送字符串
----------------------------*/
void SendString(char *s)
{
    while (*s)                  //检测字符串结束标志
    {
        SendData(*s++);         //发送当前字符
    }
}
void wendu1()
{
int xianshi7;
xianshi7=value;
SendString("xianshi7");
}
value值是可变的,怎样让串口发送的是value值,而不是xianshi7.
iDiy 发表于 2019-3-25 11:04 | 显示全部楼层
int xianshi7;
char buf[16];
xianshi7=value;
sprintf(buf,"%d",xianshi7);
SendString(buf);
稳稳の幸福 发表于 2019-3-25 12:55 | 显示全部楼层
你把引号去掉不就行了。
稳稳の幸福 发表于 2019-3-25 12:55 | 显示全部楼层
SendString(xianshi7+‘0’);
稳稳の幸福 发表于 2019-3-25 12:56 | 显示全部楼层
这样,那个第一是个数字,然后+'0'转化成字符数字。
稳稳の幸福 发表于 2019-3-25 12:56 | 显示全部楼层
一看楼主是新手,跟我当你一样迷糊。
huzi2099 发表于 2019-3-25 18:27 | 显示全部楼层
字符还是数值是由数据类型来决定的,串口发送的数据类型需要你自己定义出一个格式,如果只一个字节是没有办法区分的,比如0x37和字母'7'
要自己做格式封包
捉虫天师 发表于 2019-3-25 22:42 | 显示全部楼层
收发的格式要一致。
玛尼玛尼哄 发表于 2019-3-25 23:40 | 显示全部楼层
收发格式不同就这样了
磨砂 发表于 2019-4-10 08:50 | 显示全部楼层
转换一下就可以
晓伍 发表于 2019-4-10 08:59 | 显示全部楼层
转一个格式就行呀
八层楼 发表于 2019-4-10 09:09 | 显示全部楼层
你不能加那个双引号
观海 发表于 2019-4-10 09:16 | 显示全部楼层
SendString("xianshi7");这个不对
您需要登录后才可以回帖 登录 | 注册

本版积分规则

11

主题

21

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部