女朋友最近門禁卡丟了,居然花了幾十大洋去複製了乙個門禁卡,太敗家了。一次就是兩斤排骨,多掉兩次約等於半頭豬。乾脆自己寫個複製門禁卡的工程,一勞永逸豈不是美滋滋,在**十元買了rc522模組加幾個s50空白門禁卡就開始剛原始碼。但學習原始碼時發現個問題,找遍全網都沒答案。最後自己仔細看了下手冊勉強明白了,所以發出來分享一下,有錯的地方歡迎指正:
如圖是rc522復位函式的一部分,函式的第乙個引數是暫存器位址命令的巨集定義,第二個引數是寫到暫存器的值。檢視rc522資料手冊後了解了treloadregl,treloadregh是寫定時器的高低位,tmodereg暫存器的低四位與tprescalerreg是分頻係數。搜一下網上這部分內容,沒有人解釋一下為什麼向定時器寫30,分頻係數寫0xd3e(3390)。
預分頻暫存器寫0xd3e(3390),3390/6.78mhz=0.5ms。
計數暫存器寫30,30x0.5ms=15ms;
但是為什麼是15ms我還是搞不清,根據手冊可能是復位後需要的乙個啟動時間。
但是15ms與振盪器啟動時間相去甚遠,搞不懂為什麼這麼大。有朋友願意討論一下的話就再好不過了。目前還只是在研究**,rc522模組還沒到。到時候可以測試一下,看看把這個值改小會有什麼影響。
RC522複製門禁卡(二)
經過一天的奮戰,改了一下例程,做成了key1一鍵讀取s50所有扇區資料,key2可以一鍵寫入給另乙個s50。需要注意跳過每個扇區的第四塊,這是當前扇區的控制塊,就算寫的資料一樣,也會導致s50資料不可讀。之前不清楚這個,報廢了三塊s50門禁卡,都不能讀資料了。讀取家裡門禁卡資料並寫入乙個新的s50卡...
RC522寫塊0複製S50卡
覺得自己做事總是三分熱度,今天網上看見個不了解的東西去做,一做遇到問題又擱置在那裡,這樣真不好。對於rc522這個模組,大學的時候擼了一下,記得當時有個上位機可以讀寫卡片,配的51的程式,說實話用了stm32後完全忘了怎麼用51了,一直也沒把那個程式成功移植在stm32上面,畢業後中途弄過一次,也沒...
RC522 模組驅動程式
本文主要講述了基於 spi匯流排的 rc522 驅動程式的設計。描述了主控如何與從裝置通過 spi匯流排進行資料的讀寫。一 在spi 驅動中,有兩個重要的結構 spi device spi driver。1 spi device 的構建與註冊 spi device 板資訊用 spi board in...