今天在使用stm32微控制器的時候,發現了一個奇怪的現象,偵錯程式經常識別不到微控制器,給微控制器重新上電後有時就正常,但重新下載又無法識別。剛開始以為是偵錯程式壞了,於是更換了偵錯程式,但沒有換偵錯程式的杜邦線,還是相同的問題,因此把偵錯程式故障排除了。然後又嘗試了降低SW頻率、更換除錯線,問題還是依舊。
最後把懷疑物件轉移到了微控制器上。我把偵錯程式接到另外一個微控制器核心板上,多次除錯都能正常識別。於是便認為是微控制器的問題。然後更換了一個核心板,把原來的線路都連線到了新的核心板上。又進行了幾次除錯之後,發現原來的問題又出現了。這時,我便無法理解這奇怪的現象了。
我又想到,微控制器除了無法被偵錯程式識別還有另一個奇怪的現象,就是有一個定時器會自己停止,在除錯時檢視定時器使能暫存器是使能的,但時定時器並沒有計數。根據這些現象,我感覺微控制器似乎是被什麼東西給干擾了。這時,我想到了我給微控制器定時器輸入的一個輸入捕獲是5V的電平,這個訊號是過零比較器的輸出訊號,一個頻率1K的訊號。雖然這個引腳是不支援5V電平輸入的,但是因為之前了在單片非5V忍受的引腳輸入過5V的訊號,當時並沒有遇到問題,所以我也就沒有對這個訊號處理就直接輸入給微控制器了,然後我把這個IO上串連了一個5.1K電阻再接入原來的訊號,所有的故障都消失了。
這次經歷讓我意識到,一些看似沒多大問題的不規範做法可能會給我們帶來一些隱患。在這裡我使用透過電阻給IO輸入5V訊號,雖然解決了問題,但這樣的操作也是不可取的,是我為了偷懶的做法。還有,意外停止的定時器並不是輸入捕獲5V訊號的那一個定時器,這種找不到規律的現象也說明可能是遇到了干擾。
對這個問題簡單的記錄一下,希望可以對大家提供一些幫助。
STM32在不支援5V輸入IO口輸入5V電平帶來的奇怪現象
相關文章
- Python輸入和輸出(IO)Python
- 詳解Java中的IO輸入輸出流!Java
- IO流的位元組輸入輸出流(InputStream,OutputStream)
- Win10電腦搜狗輸入法無法輸入中文及輸入法欄不見了的解決方法Win10
- Java IO輸入輸出及亂碼問題Java
- Java IO之有緩衝的文字輸入Java
- 記錄---實現一個支援@的輸入框
- imemode 控制輸入法,控制輸入框的輸入法
- stm32配合xshell串列埠輸入串列埠
- JNI 在命令列視窗輸入字元,不顯所輸入字元,顯指定的掩飾符命令列字元
- 帶內串列埠 在串列埠中輸入命令串列埠
- 如何使用Mac Os X 自帶輸入法輸入生僻字Mac
- Oracle帶輸入輸出引數的儲存過程Oracle儲存過程
- Ubuntu進修條記-SCIM奇怪符號輸入Ubuntu符號
- 電腦輸入法不見了怎麼調出來 win10系統調不出輸入法怎麼解決Win10
- 輸入輸出
- ubuntu 16.04 + Qt 5.10 creator 下支援搜狗輸入法輸入中文UbuntuQT
- Qt 實現文字輸入框,帶字數限制QT
- [java IO流]之 基本資料型別輸入輸出流Java資料型別
- WriteFile 奇怪的現象
- 從一次輸入框無法輸入的bug,談如何限制輸入框輸入型別型別
- ncurses輸入函式:字元+字串的輸入函式字元字串
- cad動態輸入框不見了 cad動態輸入框怎麼調出來
- 實現一個帶浮動標籤的輸入框
- react輸入框輸入中文bugReact
- Mac自帶中文輸入法提示條不見了的找回方法Mac
- scp不輸入密碼進行檔案傳輸密碼
- word怎麼輸入帶圈字元?字元
- 輸入輸出流
- 資料的輸入輸出
- Python的輸入輸出Python
- [java IO流]之 鍵盤顯示器輸入輸出流(System)Java
- 實現多子型別輸入法:如何在 HarmonyOS中載入不同的輸入模式型別模式
- Bootstrap 支援的一個特性—輸入框組boot
- win10 lol顯示輸入不支援怎麼調回來_win10 lol顯示輸入不支援如何修復Win10
- element-ui 輸入框el-input 輸入長度限制元件不生效UI元件
- linux中的輸入與輸出管理(重定向輸入,輸出,管道符)Linux
- C++中的檔案輸入/輸出(3):掌握輸入/輸出流 (轉)C++