使用普通的USB轉TTL模塊,STC-ISP工具,可以給板子正常下載程序,然后突發奇想,用手里的ZigBee模塊來實現無線下載。接線是:ZigBee模塊接USB轉TTL模塊,連接電腦,然后另一個ZigBee模塊連接單片機。
單片機和電腦可以通過ZigBee模塊正常雙向通訊。
已經完成了自動下載的功能,就是點擊下載后不用手動冷啟動。
但是使用ZigBee下載的時候,就出現下面的問題。
點擊下載,出現下面的信息:
正在檢測目標單片機 ...
單片機型號: STC12C5A60S2
固件版本號: 7.1.4I
當前芯片的硬件選項為:
. 下次冷啟動后系統時鐘源為外部晶體振蕩器
. 當前的時鐘頻率: 19.485MHz
. 振蕩器放大增益使能
. 復位引腳仍為復位腳
. RESET2引腳上無外部低壓檢測復位功能
. 上電復位時增加額外的復位延時
. 上電復位時,硬件不啟動內部看門狗
. 上電自動啟動內部看門狗時的預分頻數為 : 256
. 空閑狀態時看門狗定時器停止計數
. 啟動看門狗后,軟件可以修改分頻數,但不能關閉看門狗
. P1.0和P1.1與下次下載無關
. 下次下載用戶程序時,不擦除用戶EEPROM區
單片機型號: STC12C5A60S2
固件版本號: 7.1.4I
下載失敗 ! (6.85)
請確定是否有新版軟件,請及時更新 !
單片機的現象是:
點擊下載,單片機復位,然后STC-ISP顯示信息一直到固件版本號,然后此時單片機就開始運行用戶代碼了,然后過一會(大概5S左右)出現下載失敗和后面的字樣。
使用有線正常下載的時候信息是這樣:
正在檢測目標單片機 ...
單片機型號: STC12C5A60S2
固件版本號: 7.1.4I
當前芯片的硬件選項為:
. 下次冷啟動后系統時鐘源為外部晶體振蕩器
. 當前的時鐘頻率: 11.059MHz
. 振蕩器放大增益使能
. 復位引腳仍為復位腳
. RESET2引腳上無外部低壓檢測復位功能
. 上電復位時增加額外的復位延時
. 上電復位時,硬件不啟動內部看門狗
. 上電自動啟動內部看門狗時的預分頻數為 : 256
. 空閑狀態時看門狗定時器停止計數
. 啟動看門狗后,軟件可以修改分頻數,但不能關閉看門狗
. P1.0和P1.1與下次下載無關
. 下次下載用戶程序時,不擦除用戶EEPROM區
單片機型號: STC12C5A60S2
固件版本號: 7.1.4I
正在重新握手 ... 成功 [0.875"]
當前的波特率: 230400
正在擦除目標區域 ... 完成 ! [2.891"]
芯片出廠序列號 : D17EC3DA0B17C8
正在下載用戶代碼 ... 完成 ! [5.968"]
正在設置硬件選項 ... 完成 ! [0.031"]
更新后的硬件選項為:
. 下次冷啟動后系統時鐘源為外部晶體振蕩器
. 當前的時鐘頻率: 11.059MHz
. 振蕩器放大增益使能
. 復位引腳仍為復位腳
. RESET2引腳上無外部低壓檢測復位功能
. 上電復位時增加額外的復位延時
. 上電復位時,硬件不啟動內部看門狗
. 上電自動啟動內部看門狗時的預分頻數為 : 256
. 空閑狀態時看門狗定時器停止計數
. 啟動看門狗后,軟件可以修改分頻數,但不能關閉看門狗
. P1.0和P1.1與下次下載無關
. 下次下載用戶程序時,不擦除用戶EEPROM區
. 芯片出廠序列號 : D17EC3DA0B17C8
單片機型號: STC12C5A60S2
固件版本號: 7.1.4I
操作成功 !
ZigBee的波特率設置為9600,用ZigBee下載的時候最大最小波特率都設置為了9600。
所以就是想請教一下大佬們,這大概是什么方面的問題呀。
我想的是不是因為ZigBee通信的延時造成了單片機在檢測合法命令流的時候未檢測到,然后直接運行了用戶代碼。
下面是兩種下載方式的演示,第一個是有線,第二個是無線
有線.gif (17.92 MB, 下載次數: 194)
下載附件
有線下載
2021-8-24 23:35 上傳
有線下載
無線.gif (12.2 MB, 下載次數: 196)
下載附件
無線下載
2021-8-24 23:36 上傳
無線下載
|