本帖最后由 陳聖文 于 2019-2-23 17:07 编辑
小弟在使用兩顆MCU互傳資料的程式
傳輸本身正常
但是要大量寫入FLASH時卻變成異常
請各位幫我檢查是否有錯誤
給小弟意點建議
按照我的設計
主機傳指令給從機後
從機會在時間內傳送其要求的資料(1024 bytes的資料量)
然後主機成功接收資料後就會存進FLASH
目前畫面可以看到
主控的畫面(P0)的部分程式
是抓取來自從機的USART傳過來的資料
然後有開始接收資料後(顯示於P0的最右側的接收暫存器)
跳入從機的畫面(P1)的程式碼
--以上都正常,不正常的在下面--
等待接收完畢後一次2bytes存放進主機的FLASH
但是有機會變成一堆0x0000
單步執行不會出現
連續執行直到檢測到0x0000
暫停後 再在執行會恢復正常
如果不檢測0x0000
則會一路0x0000到底(如圖P0所示)
以下是主控的畫面(P0)
S.PNG (105.65 KB, 下载次数: 0)
下载附件
從機
2019-2-23 16:22 上传
如果我找到問題也會在此寫上
好,我再研究看看
總之結果再發給各位
我實在不想說...
台灣的FAE根本廢物
TMD的都只會用套件
擦寫的時候
核心不能跑?
那何必還要檢測BSY呢?
FLASH_RX.PNG (18.71 KB, 下载次数: 0)
下载附件
2019-2-25 10:28 上传
Wayne_FLASH___RX裡面
等待接收器完全停止
解鎖FLASH保護
開始寫入FLASH
鎖上保護鎖
实际上BSY是用于通过SWD或者SRAM烧写FLASH时用的,当然为了统一,手册中就没有区分了,检测BSY即使多此一举,也不会导致问题。
谢谢,我还在F1x的思维以为是10K次,这下有的情况要慎重了。
一周热门 更多>