野火电子论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 10176|回复: 5

串口发送

[复制链接]
发表于 2015-12-5 16:55:18 | 显示全部楼层 |阅读模式
你好,火哥,我现在需要通过串口发送这样的格式:FFFF00000045,其中FFFF为固定的十六进制数,其余的八位是可调的十六进制数,问怎么实现。谢谢
回复

使用道具 举报

发表于 2015-12-5 17:54:33 | 显示全部楼层
拆分成字节,一个字节一个字节地发送
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-12-7 08:39:15 | 显示全部楼层
用的是火哥开发板的da和ad的例程,串口发送我用的是printf函数,是这样定义的:        while (1)
        {
               
               
        unsigned int a;
                a=0xf;

        printf("%x%x%x%x%08x\n",a,a,a,a,ADC_ConvertedValue);

   
        }
使用串口输出的结果是这样的:ffff0000098e
ffff0000098e
ffff0000098f
ffff0000098f
ffff00000992
ffff0000098e
ffff0000098f
ffff0000098f
ffff0000098f
ffff00000991
ffff0000098e
ffff00000990
ffff0000098e
ffff0000098f
ffff00000998
ffff0000098d
ffff00000990
ffff0000098f
ffff0000098f
ffff0000098e
ffff0000098f

其实我想要的也是这样形式的16进制数,可是当我在串口软件中选择hex的时候,显示的却是这种形式的ascii码形式的,请问怎么解决?
回复 支持 反对

使用道具 举报

发表于 2017-1-1 00:56:24 | 显示全部楼层
回复

使用道具 举报

发表于 2017-1-1 23:58:22 | 显示全部楼层
用心聆听07 发表于 2015-12-7 08:39
用的是火哥开发板的da和ad的例程,串口发送我用的是printf函数,是这样定义的:        while (1)
        {
               

printf本身输出的就不是hex码。。。所以你串口软件不需要勾选hex就可以正常使用了
回复 支持 反对

使用道具 举报

发表于 2017-1-2 00:03:26 | 显示全部楼层
将你的原数据 FF FF 00 00 00 45 变成6个字节的uint8_t数组 {0xFF, 0xFF, 0x00, 0x00, 0x00, 0x45},再用串口发送函数一个字节一个字节的发送出去即可。
你要记住,串口发送的操作是固定的,你只能决定怎么发送你的数据,还有,你都不讲你要输出什么模式,是hex模式还是文本模式?这也不一样的哦。
回复 支持 反对

使用道具 举报

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

本版积分规则

联系站长|手机版|野火电子官网|野火淘宝店铺|野火电子论坛 ( 粤ICP备14069197号 ) 大学生ARM嵌入式2群

GMT+8, 2025-1-14 02:45 , Processed in 0.041142 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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