完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
各位大佬,求教我要通过串口发送一个小于65535的五位数,目前是把每一位数拆开来,分别放到了一个数组里,然后依次发送,但是这样的话,相当于一个数就占了5个字节
而一个小于65535的5位数,实际上只需要2个字节,有没有什么办法是可以通过2个字节就把这个5位数发出去的吗? |
|
相关推荐
1个回答
|
|
可以这样,例如 uint16_t send_dat=2020
send_reg=send_dat>>8; //send_rge为串口的数据寄存器,将send_dat的高八位先给串口数据寄存器 send_reg=send_dat; //再把send_dat的低八位赋值给串口数据寄存器 这只是一个伪代码,说明一个思路。当然,你这么发送的话,串口接收把拆分的两个八位数据合成成十六位数据也必须按照这样合成,先接收的是高八位,最后接收的是低八位。 uint16_t rec_dat; //待接收的数据 rec_dat=send_reg; //接收第一个数据(源数据的高八位,第一个字节) rec_dat<<=8; rec_dat|=send_reg; //将高低八位组成一个完成的16位数据 |
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
232 浏览 2 评论
《DNK210使用指南 -CanMV版 V1.0》第九章 打印输出实验
182 浏览 0 评论
stm32f407+ksz8863rlli概率性ping不通
883 浏览 1 评论
嵌入式学习-飞凌嵌入式ElfBoard ELF 1板卡-常见网络服务搭建之NFS服务搭建
439 浏览 0 评论
求助:辉芒微芯片 FDM B11GBMH 的信息及开发环境安装
512 浏览 0 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
11318 浏览 31 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-9-29 20:10 , Processed in 0.593031 second(s), Total 72, Slave 56 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号