用STC8G1K08A單片機做一個音頻電平指示器,需要高速采樣信號。手冊說支持800Khz,那兩通道44.1kHz綽綽有余。
寫代碼,測試,結果發現,會偶爾有轉換結果=0的情況出現。(已在ADC腳接1/2vcc電壓,正常時結果為511)
加大采樣時間,無果
加大通道選擇時間,無果
降低ADC轉換速度,無果
結果換了一顆芯片,代碼沒動,好了。
詭異的是,過了半小時,這顆新換上來的芯片也不行了,這難道還有壽命問題。
是、電話STC售后,第一個技術給了參考工程,直接編譯下載,串口看數據,沒問題,但是采樣速度太慢無法滿足要求。后來一步步改,改到高采樣率,問題依舊。
再電話STC另一個技術,讓ADC對地接一顆103電容,照做后發現,串口居然會丟字符。沒錯,再ADC腳加電容結果串口偶爾丟一個字符……
丟字符.png (21.27 KB, 下載次數: 46)
下載附件
2022-8-24 17:23 上傳
然后讓下載ISP工具里面的例程,還是丟字符。
8G ISP 例程.png (20.74 KB, 下載次數: 50)
下載附件
2022-8-24 17:24 上傳
但是,我把這個再帶的例程刷到另一塊STC8A8K的核心板上,居然正常運行,同一個HEX文件。
百般不得其解。
STC技術說是干擾問題。我心想,干擾應該是亂碼,不應該是丟字符,但是死馬當活馬醫,就試試吧。
把8A8K芯片刷個空的不影響IO的程序進去。
再把8G1K08A芯片插在這個板子上的串口上
奇跡出現了
不丟字符了,ADC也正常了……
簡直是玄學。
這個是正常的能用的340,用的內置振蕩器
正常好用的340.png (476.96 KB, 下載次數: 51)
下載附件
2022-8-24 17:29 上傳
這個是外置晶振的,用起來有問題的。
當然我換過芯片,燒過一顆。
這個是廣州電子展南京沁恒展臺送的。正兒八經南京沁恒官方出品。
有問題的340.png (1.32 MB, 下載次數: 48)
下載附件
2022-8-24 17:29 上傳
真是太奇怪了,后來把串口波特率調到921600bps都很正常,沒丟字符,無法解釋。
有什么情況后面再來更新。
故障情況與這個2020年的帖子非常相似。
搜索" STC8A8K64單片機ADC輸入受干擾"
|