|
按照常理来说,对于IO脚来说VH遇到VL,那么一般人一定会想当然的以为结果是VL。事实是这样的吗?特权同学就遇上了这么个很让人郁闷的问题。
当时在调一个液晶控制板,板子是新做的,自己动手焊接(水平有限,给后来的故事埋下了伏笔)。一切OK,就把早就写好仿真过的代码烧进去,然后接口部分是一个51的单片机,同样烧进备好的代码。本来就是先做一个很简单的指令测试,控制板部分是一个CPLD,一方面做MCU接口,接收指令(各种传送数据方式)和数据(缓存到RAM中);另一方面事实扫描LCD显示驱动。奇怪的是测试一条写数据指令,让LCD现实上半屏幕全红色下半屏幕全白色。指令控制方面MCU先是使用了内部的一个清屏指令,将LCD全清白色,然后使用一条写入一个数据后X坐标自增,如下做了一个简单的遍历处理。
for(m=0;m1.7V判断为VIH,而这个基本属于边界值的1.65V都在输入CPLD时被判定为VIH了。所以就出现了最后的现象。
感觉问题一点点解开了,于是扯开两条短路线,重新上电测试,一切步入正轨。看来问题果然如此,两个IO短路的的确确不会只输出一个简单的VL,这个4245就给了一个1.65V,而别的器件若出现这个情况会怎样呢?我不知道,但是有一点现在是可以肯定的,两个IO短路的输出结果需要根据这两个IO的电路本身进行判断。
任何问题都不可以想当然。 |
|