小笨蛋 发表于 2012-9-14 17:20:22

大家喜欢用什么方式让单片机向电脑发出准确调试的数据?

大家喜欢用什么方式让单片机向电脑发出调试的数据?
就是确保得到的数据是准确的。

比如说我以前用过的一种用一个特定的字符做标记,后面紧跟着数据。比如发送:'a'+'\123'+'b'+'\234'..........但后用电脑解释出数据。
但是这种方式有点麻烦的是如果发送的数据恰好就是标记字符怎么办??

随后我又总结出了一些准确的方法,虽然很简单。。
第一种(最简单的):不停的发一个八位的待调试的值。
第二种:一个字大于等于16的就认为是命令字符,小于16的认为是数据,这样发送一个八位的数据就拆成两个四位,然后再与命令的高四位合成发送到电脑。
比如说我想发送两个数据123和234.假设命令我选择128和129就发送:0x80,0x07,0x0B,0x81,0x0e,0x0a.(其中0x80为128,123为0x7B,拆成了0x07和0x0b).
第三种(我最喜欢的):高四位携带命令,第四位携带数据,也是拆开一个字节,不过命令和数据是在一个字节,比如还是上面的例子,我就发送0X17,0X2B,0x3E,0x4A.

虽然已经能满足我的需要但是感觉效率有点低。大家用什么方式啊?最好不要用错误纠正的方法。因为这样就必须要同时用TXD和RXD了。。(本来只需要一根线的)

snoweaglemcu 发表于 2012-9-14 18:04:18

点灯.....写串口

inkfish321 发表于 2012-9-14 19:28:41

直接用宏把printf定义成TRACE1,TRACE2...j

memory4597 发表于 2012-9-14 19:43:09

一直用串口,楼主的方法学习了。

NJ8888 发表于 2012-9-14 19:47:23

挂调试器断点看
页: [1]
查看完整版本: 大家喜欢用什么方式让单片机向电脑发出准确调试的数据?