|
本帖最后由 AAAL 于 2013-7-9 21:14 编辑
Bascom-AVR环境下,如何通过串口输出HEX16进制的内容呢?
我的下位机,需要通过一些控制协议命令和上位机沟通,比方说“7F 00 01 10 80 01 C5 CC CF AA B6 AB 2F 7F ”
7F 00为控制协议的开始,2F 7F为控制协议的截至。
我要把“7F 00 01 10 80 01 C5 CC CF AA B6 AB 2F 7F ”通过串口发出去,让上位机串口调试软件的接收区域以HEX16进制方式显出我的这个控制协议。
但是,我绞尽脑汁想不出该怎么写这个语句,正在努力百度和google中……
望坛友能指点一二谢谢
以下代码,能够做到16进制HEX格式的数据通过串口送到PC接收了。仔细学习阅读一下,哈哈- $regfile = "m8def.dat"
- $crystal = 8000000
- $hwstack = 40
- $swstack = 16
- $framesize = 32
- Dim Temp As Byte
- Dim Lssj(29) As Byte
- Dim Js As Byte
- Dim I As Byte
- Dim Bz0 As Byte '通讯结束标志,主程序开始处理
- Dim Bz1 As Byte '中断开始接收标志
- On Urxc Receive_isr
- Enable Urxc '使能接收中断
- Enable Interrupts '使能全局中断
- Bz1 = 0
- Bz0 = 1
- Js = 1
- Do
- If Bz0 = 0 Then
- Printbin Lssj(1) , 29
- Bz0 = 1
- End If
- Loop
- End
- Receive_isr:
- Temp = Udr
- If Temp = &H7F Then Bz1 = 0
- If Bz1 = 0 Then
- Lssj(js) = Temp
- Incr Js
- If Js = 30 Then
- Bz0 = 0
- Bz1 = 1
- Js = 1
- End If
- End If
- Return
- End
复制代码 |
阿莫论坛20周年了!感谢大家的支持与爱护!!
知道什么是神吗?其实神本来也是人,只不过神做了人做不到的事情 所以才成了神。 (头文字D, 杜汶泽)
|