打印
[STM32F7]

串口通信的字符串的数值的识别

[复制链接]
1169|52
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
zhanghqi|  楼主 | 2021-2-9 22:47 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
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.

使用特权

评论回复
沙发
wangzsa| | 2021-2-9 22:49 | 只看该作者

int xianshi7;
char buf[16];
xianshi7=value;
sprintf(buf,"%d",xianshi7);
SendString(buf);

使用特权

评论回复
板凳
wuhany| | 2021-2-9 22:53 | 只看该作者
你把引号去掉不就行了。

使用特权

评论回复
地板
zhaoxqi| | 2021-2-9 22:58 | 只看该作者

SendString(xianshi7+‘0’);

使用特权

评论回复
5
zhenykun| | 2021-2-9 23:00 | 只看该作者
这样,那个第一是个数字,然后+'0'转化成字符数字。

使用特权

评论回复
6
yszong| | 2021-2-9 23:04 | 只看该作者
一看楼主是新手,跟我当你一样迷糊。

使用特权

评论回复
7
stly| | 2021-2-9 23:06 | 只看该作者
字符还是数值是由数据类型来决定的,串口发送的数据类型需要你自己定义出一个格式,如果只一个字节是没有办法区分的,比如0x37和字母'7'
要自己做格式封包

使用特权

评论回复
8
pengf| | 2021-2-9 23:08 | 只看该作者
收发的格式要一致。

使用特权

评论回复
9
xxrs| | 2021-2-9 23:11 | 只看该作者
收发格式不同就这样了

使用特权

评论回复
10
yinxiangh| | 2021-2-9 23:13 | 只看该作者
转换一下就可以

使用特权

评论回复
11
zyf部长| | 2021-2-9 23:16 | 只看该作者
转一个格式就行呀

使用特权

评论回复
12
wuhany| | 2021-2-9 23:21 | 只看该作者
你不能加那个双引号

使用特权

评论回复
13
morrisk| | 2021-2-9 23:23 | 只看该作者
SendString("xianshi7");这个不对

使用特权

评论回复
14
zhanghqi|  楼主 | 2021-2-9 23:27 | 只看该作者

其实还是不大明白,我再琢磨琢磨吧,多谢了哈先

使用特权

评论回复
15
laocuo1142| | 2021-2-10 19:03 | 只看该作者
SendString("xianshi7");这个函数不对,应该输入是uint8的格式

使用特权

评论回复
16
晓伍| | 2021-3-2 23:28 | 只看该作者
更改编码方式

使用特权

评论回复
17
八层楼| | 2021-3-2 23:31 | 只看该作者
双引号换成单引号呢

使用特权

评论回复
18
观海| | 2021-3-2 23:33 | 只看该作者
转换一下格式

使用特权

评论回复
19
guanjiaer| | 2021-3-2 23:38 | 只看该作者
别用双引号就好了

使用特权

评论回复
20
heimaojingzhang| | 2021-3-2 23:41 | 只看该作者
写法还是有问题的

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

852

主题

11757

帖子

5

粉丝