|
按照常理來說,對于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的電路本身進行判斷。
任何問題都不可以想當然。 |
|