stm32編譯時出現error147 d的錯誤,該怎麼

2021-12-27 06:21:59 字數 2112 閱讀 1649

1樓:小小辣椒

keill環境下,使用stm32編譯時出現error: #147-d的錯誤的解決方法:

1、右鍵我的電腦-管理-本地使用者和組-使用者-把裡面你的中文使用者名稱改成英文。

2、右鍵我的電腦-屬性 右下-計算機名稱、域和工作組設定-更改設定- 改成英文。

3、把mdk安裝在英文目錄。

stm32是基於arm® cortex® m 處理器核心的 32位快閃記憶體微控制器,為mcu使用者開闢了一個全新的自由開發空間,並提供了各種易於上手的軟硬體輔助工具。

stm32 mcu融高效能、實時性、數字訊號處理、低功耗、低電壓於一身,同時保持高整合度和開發簡易的特點。業內最強大的產品陣容,基於工業標準的處理器,大量的軟硬體開發工具,讓stm32微控制器成為各類中小專案和完整平臺解決方案的理想選擇。按核心架構分為不同產品系列。

stm32中文官網:

此外,使用者還可以直接報名參加stm32全國研討會、stm32峰會、技術培訓等。

2樓:匿名使用者

看看你的函式定義和函式宣告的型別是不是一樣的

stm32 keil 編譯時出現這樣的錯誤是什麼意思? 10

3樓:匿名使用者

1.將中文路徑改為英文路徑

2.去掉檔案的只讀屬性

3.用做out輸出的資料夾也不要是中文

4樓:匿名使用者

重新編譯一下 應該就可以了 一般給的歷程裡面都沒有輸出檔案

stm32編譯時出錯問題解決

5樓:緶蓷狗巴

對於比較小的程式,一般只有一個c檔案和一個標頭檔案,全域性變數我們通常會直接定義在c檔案中,在程式之前加int i定義。如果要在標頭檔案中定義有以下兩種方法:用extern來宣告:

extern int i;這一句只是對變數 i 進行宣告,在c檔案的程式之前必須加上int i進行定義。extern int i=0;這一句宣告和定義都做了。 對於大一點的程式,有很多c檔案和標頭檔案,這個時候全域性變數就必須在標頭檔案中宣告(不需要初始化),然後在一個c檔案中定義(該初始化的要初始化)。

如果在標頭檔案中定義,則編譯的時候會出現重複定義的錯誤。如果只有標頭檔案中宣告就會出現沒有定義有警告。 *** error l104:

multiple public definitions symbol: k module: 222.

obj (222)出現上述錯誤則是因為變數k重複定義,把你的標頭檔案中的變數定義前加extern(只是變數宣告不用初始化),再在某一個你要呼叫該變數的c檔案的程式之前再定義(注意第一個呼叫的c檔案要負責附帶初始化該變數,其他呼叫的c檔案就不需要初始化過程啦)一下就可以了。另外: 下次最好能把程式貼出來stm32編譯時出錯問題解決

stm32程式編譯出現錯誤,請各位幫忙

6樓:12345額時代

stm32程式編譯出現錯誤,是設定錯誤造成的,解決方法如下:

1、首先開啟stm32 st-link utility,依次選擇「file ->open file...」或者按快捷鍵「ctrl + o」準備開啟一個燒錄檔案。

2、找到需要燒錄的hex檔案,選擇「開啟」。

3、軟體會將該hex檔案載入到視窗,同時會在下面的訊息框顯示檔案的校驗碼。

4、然後點選選單欄的「target ->connect」開始連線目標。

5、開始連線目標,成功後會在軟體工具欄左側顯示目標晶片資訊,同時會在下面的訊息框進行相關提示。

7樓:匿名使用者

對於變數的宣告不能放在可執行語句後面,必須在開頭宣告變數。

也就是說,要將gpio_inittypedef gpio_initstructure挪到systeminit()之前。

8樓:迪迪de部落格

這個錯誤的意思是變數的宣告不能出現在可執行語句塊之後,也就是你的gpio初始化結構體宣告應該放在pd埠時鐘使能之前,把gpio_inittypedef gpio_initstructure;放在rcc_apb2periphclockcmd(rcc_apb2periph_gpiod,enable);前面就好了。

keil編寫stm32時總是提示缺少af檔案這檔案到底

你是不是複製別人的工程檔案,來學習。雖然它們可以編譯通過,但執行時就會出錯說在你指定的檔案路徑下找不到axf檔案。你必須指定它的路徑。指定它方法是 按alt f7出現 options for target 在裡面選擇 output 選卡,點選 select folder objects.選擇你的ax...

STM32的CAN迴環模式正常,但是正常模式,兩個STM

1 波特率是否一樣 2 rxd引腳是否上拉輸入,txd是否 開漏輸出 上拉 或推輓輸出 3 是否接了終端電阻 你好,請問您是怎麼解決的?stm32 can 正常模式接收失敗 線用迴環模式測試,如果迴環模式通過,則表示can匯流排驅動無問題,只和外部電路有關。如果迴環都接收不到說明是程式問題。stm3...

用stm32產生pwm訊號控制步進電機,頻率和佔空比怎麼弄啊

你這個是bai初始化程式,子程式可用定 du時器 中斷子程zhi序細分spwm,也可dao以pwm中斷計數內細分,定時器細分佔用mcu資源容少,pwm中斷的話佔用資源比較大但精度高。spwm可以用查存放正弦波陣列取得,也可以用內部數學函式產生,或者將正弦函式初始化調到陣列再查表 stm32的pwm ...