串口发送BCD码的问题,请大家帮帮忙啊!

ynmmk 2004-05-12 02:31:29
我用串口通信发送、接收数据,要把数据以BCD码的方式发送出去。

比如说获取计算机当前时间发送出去,就说现在的年份 year(now) 吧,

若把 year(now) 以BCD码用两个字节送出,即 20H 04H
请问应该怎么做啊?
...全文
285 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
ynmmk 2004-05-12
  • 打赏
  • 举报
回复
多谢楼上给的算法!
管用
Wenking003 2004-05-12
  • 打赏
  • 举报
回复
1、串口发送BCD码,必须按二进制方式发送。
2、每2个数字字符(0~9)为一组,组成BCD码,设为Lchar和Rchar
则:产生的BCD码采用byte类型字节,如:
BCDbyte=(ASC(Lchar)-&H30) * 16+ (ASC(Rchar)-&H30)
3、如果考虑字符包括A~F,则要对上面算法加以扩充。
ynmmk 2004-05-12
  • 打赏
  • 举报
回复
year(now)在VB里返回的四个字符“2004”,我现在的问题就是想把字符转换为BCD码,不知道该怎么做?
或者说能不能把“2004”的“20”和“04”分开做为BCD码分别存如两个BYTE中?
请问要怎么实现啊?
openforever 2004-05-12
  • 打赏
  • 举报
回复
请问楼主year(now) 如何转换为BCD吗??

谢谢

7,762

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧