![]() |
發(fā)布時間: 2023-4-29 20:15
正文摘要:因為關(guān)于stm32匯編教程很少,翻遍網(wǎng)頁也只找到兩個例程。而且無法編譯。所以勞煩大家,好不容易找到一個程序樣板如圖,還是編譯無法通過!! |
咱們還是老老實實用C,說什么匯編效率比C高的,那說的是大神寫的。大部分人寫的匯編都是又臭又長。編譯器不開優(yōu)化效率都比他高。 |
你對EQU這種非常不規(guī)范的寫法的熱愛,也太深沉了。 LDR R0,=RCC 這實際上是個偽指令,真實指令是: LDR R0,RCC RCC DCD 0x40021018 你這個代碼還有優(yōu)化空間,17行可以刪除,19行改成: STR R1,[R0,#12] c編譯器生成的代碼比你自己瞎寫的效率高多了。 |
lyonkon 發(fā)表于 2023-4-30 18:45 看過權(quán)威指南進(jìn)階就不用看書了,打開庫例程,編譯選擇生成s文件,看s文件里面怎么寫的就知道了。 看看你發(fā)的這個帖子:關(guān)于STM32單片機(jī)點亮c13口led燈程序 端口寄存器理解 主貼貼出來的匯編代碼 再看看這本權(quán)威指南: ![]() 打紅叉那部分你可以不看 ![]() 這半張紙的內(nèi)容已經(jīng)足以說明你寫的匯編文件就沒有一句話是對的,你根本就沒看過書,就敢寫文件? |
Hephaestus 發(fā)表于 2023-4-30 15:50 看視頻推薦,買了一本cortx-m3權(quán)威指南,但上面沒有例程,匯編只是一帶而過。其他書籍也沒敢買。上面這個問題我解決了,接下來準(zhǔn)備匯編點燈,看了下《指南》發(fā)現(xiàn)EQU指令和51單片機(jī)不一樣,mov指令只針對核心寄存器,外設(shè)寄存器賦值現(xiàn)在不會,如果你有這方面書籍,請推薦一本 |
又想著要搞匯編,怎么寫匯編的書也不看,項目里面現(xiàn)成的匯編文件不去看,沒個一百年你這匯編是學(xué)不會的。 |
Powered by 單片機(jī)教程網(wǎng)