单片机通过led传送调试信息有什么好方法吗?[询问帖]

2020-01-26 12:50发布

本帖最后由 willX 于 2013-10-24 14:40 编辑

最近在做一个单片机设计,没有串口或者数码管来输出调试信息,只能用一个LED灯通过“亮”、“灭”的方式传送1字节信息,
看到LED灯后能根据闪烁的某种信息,将这个字节记下来。

应该通过什么方式好呢?比如我现在想到的一种方式是:
1. 有发送的信息时,LED开始点亮。
2. 发送逻辑“1”的时候灯会按照100ms的周期闪烁2下。
3. 发送逻辑“0”的时候灯会按照100ms的周期闪烁1下。
4. 发送结束,LED灯熄灭。没有数据的空闲时期LED常灭。
这样在发送数据0x5a时(二进制01011010),灯会按照:单双单双双单双单 的方式闪烁。
但是在实际使用中就会发现,在单片机发送信号的时候,很难记得住闪烁的次数,记录下的数据也经常错。

而我同学使用的是节拍型的记录方式,比如亮灭灭亮是1001,亮亮灭灭是1100,这样做虽然方便记录,但是一遇到连续的逻辑1或者逻辑0时很容易记错。
要是有能用一个LED灯输出调试信息的方法就好了。不知道路过的大侠有没有做过类似方案的,留下点建议吧,不胜感激的。~~~~(>_<)~~~~
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
23条回答
willX
2020-01-27 15:40
huangjiyue 发表于 2013-10-24 15:47
模拟串口,只要TXD就行!目前来说最简单的方式!还是建议找带JTAG的来折腾!如果是极其低端的,怎么也有仿 ...

只是个很小的功能,表示出4位数就行,不很占资源,又能表示16种不同的状态,用起来足够又不会影响程序内部结构。这样的好方法应该不是串口能搞定的吧?
况且如果备用出来的那个IO不是串口TXD怎么办?软串口?光是发送逻辑就是上百行代码,虽然可以表示无穷的状态,但是调用串口发送程序很容易干扰单片机原有的程序进程,本来只是延时现在变成跳转还启动了计时器启动了中断。有违初衷啊~

一周热门 更多>