|
|||||||||||
| 技術(shù)交流 | 電路欣賞 | 工控天地 | 數(shù)字廣電 | 通信技術(shù) | 電源技術(shù) | 測(cè)控之家 | EMC技術(shù) | ARM技術(shù) | EDA技術(shù) | PCB技術(shù) | 嵌入式系統(tǒng) 驅(qū)動(dòng)編程 | 集成電路 | 器件替換 | 模擬技術(shù) | 新手園地 | 單 片 機(jī) | DSP技術(shù) | MCU技術(shù) | IC 設(shè)計(jì) | IC 產(chǎn)業(yè) | CAN-bus/DeviceNe |
求救:Mifare RC500 讀卡器芯片總是不能復(fù)位 |
| 作者:meee 欄目:單片機(jī) |
小弟目前正在開發(fā)一個(gè)基于Mifare RC500 的讀卡器,但上電后RC500寄存器的值總是復(fù)位不正常. 其PDF上說,在上電的時(shí)候能夠自動(dòng)復(fù)位內(nèi)部寄存器的值,或者通過置高RSTPD管腳.兩種方式我都試過了,還是不成功. 大蝦快來指點(diǎn)一下吧,愁啊~~ |
| 2樓: | >>參與討論 |
| 作者: 來與君 于 2005/6/15 16:10:00 發(fā)布:
通常是給RSTPD加一個(gè)復(fù)位電平 SleepMs(500); // wait after POR READER_RESET; // reset reader IC SleepMs(100); // wait READER_CLEAR_RESET; // clear reset pin SleepUs(100); 你怎么知道它復(fù)位不正常?是你讀的方式不對(duì)吧。 |
|
| 3樓: | >>參與討論 |
| 作者: meee 于 2005/6/15 16:49:00 發(fā)布:
非常感謝!! 謝謝大蝦指點(diǎn),我C用的不好,代碼用匯編寫的. 繼續(xù)向您討教: 通常是給RSTPD加一個(gè)復(fù)位電平 ______我加了1.5ms的復(fù)位高電平 SleepMs(500); // wait after POR ______這個(gè)是指上電后等待500us再對(duì)RC500進(jìn)行操作嗎? READER_RESET; // reset reader IC ______我的方式是先置低RSTPD,然后DELAY 1ms,再置高RSTPD 1.5ms,您看這樣有問題嗎? SleepMs(100); // wait ______delay100us ? READER_CLEAR_RESET; // clear reset pin ______您是在將RSTPD腳置高 100MS后再將其置低吧 ? SleepUs(100); 你怎么知道它復(fù)位不正常?______ 復(fù)位通過讀COMMAND寄存器的值(期望先為3FH,后為00H ), 發(fā)現(xiàn)為FFH,得知復(fù)位不成功啊. |
|
| 4樓: | >>參與討論 |
| 作者: 來與君 于 2005/6/15 17:28:00 發(fā)布:
RSTPD高電平有效 你應(yīng)該置高它,延時(shí)1~2毫秒,然后置低,這樣RC500才復(fù)位成功。 此時(shí),你可以去讀Command寄存器了。 |
|
| 5樓: | >>參與討論 |
| 作者: rfid2005 于 2005/6/15 17:50:00 發(fā)布:
這樣復(fù)位肯定成功,我的程序就是這么做的。 MFRST = 1; for(i=0; i<0x1fff; i++) { _nop_(); } MFRST = 0; for(i=0; i<0x1fff; i++) { _nop_(); } |
|
| 6樓: | >>參與討論 |
| 作者: rfid2005 于 2005/6/15 17:56:00 發(fā)布:
TO:來與君,上位機(jī)軟件程序有嗎?? TO:來與君,上位機(jī)軟件程序有嗎??我不會(huì)上位機(jī)程序,郁悶呀,以前做其他產(chǎn)品開發(fā)的時(shí)候,從來沒做過上位機(jī)程序,通過串口調(diào)試助手通過,其他軟件人員做了,可是這次需要做上位機(jī)程序呀。郁悶! |
|
| 免費(fèi)注冊(cè)為維庫(kù)電子開發(fā)網(wǎng)會(huì)員,參與電子工程師社區(qū)討論,點(diǎn)此進(jìn)入 |
Copyright © 1998-2006 m.58mhw.cn 浙ICP證030469號(hào) |