1. simulink調用mpc574x的SDK
MPC574x是恩智浦公司出的一個系列的晶元,本人所接觸的主要是MPC5742,最近在調試MPC5742的CAN通信,使用S32自帶的SDK生成CAN驅動。通過網路的教程去完成,但是跟著教程走,不能跑通CAN的收發
2. Keil 編譯STM32 遇到異常怎麼解決
這個問題一般出現在移動庫,或者將兩個程序合並的時候報錯
原因是舊版的庫與新版的庫發生沖突了,沖突的原因是舊版和新版都定義了同一個東西,比如「s32」,於是就會發生重定義的報錯
解決這個問題的方法其實也不難,因為編寫程序的時候有一個防止重定義的宏,在新版的庫裡面添加這樣的一個宏就可以消除大部分的錯誤了
我們先找到從定義的地方,雙擊錯誤跟蹤到報錯的地方我們可以看到這里就是type定義的地方,看到上面有一個「#ifndef
__STM32F10x_TYPE_H」,這個就是舊版的宏,只要將這個宏在新版的相應位置定義一下就好
到新版的庫文件中,注意要消除只讀的設置,從錯誤來看,是「s32」發生了重定義,那麼就是說,新版的庫應該也是有「s32」的定義,於是用搜索功能,找到「s32」定義的地方
然後在這個定義的上方補充定義這個宏就可以解決一部分的問題了,添加這樣一段
#ifndef
__STM32F10x_TYPE_H//補充定義舊版的宏
#define
__STM32F10x_TYPE_H
#endif
#47-D:
incompatible
redefinition
of
macro
"SCS_BASE"
的錯誤解決方法也差不多,補充定義舊版宏即可解決大部分問題,這次是在core_cm3.c文件中,注意解鎖
3. Keil 編譯STM32 遇到異常怎麼解決
這個問題一般出現在移動庫,或者將兩個程序合並的時候報錯
原因是舊版的庫與新版的庫發生沖突了,沖突的原因是舊版和新版都定義了同一個東西,比如「s32」,於是就會發生重定義的報錯
解決這個問題的方法其實也不難,因為編寫程序的時候有一個防止重定義的宏,在新版的庫裡面添加這樣的一個宏就可以消除大部分的錯誤了
我們先找到從定義的地方,雙擊錯誤跟蹤到報錯的地方我們可以看到這里就是type定義的地方,看到上面有一個「#ifndef __STM32F10x_TYPE_H」,這個就是舊版的宏,只要將這個宏在新版的相應位置定義一下就好
到新版的庫文件中,注意要消除只讀的設置,從錯誤來看,是「s32」發生了重定義,那麼就是說,新版的庫應該也是有「s32」的定義,於是用搜索功能,找到「s32」定義的地方
然後在這個定義的上方補充定義這個宏就可以解決一部分的問題了,添加這樣一段
#ifndef __STM32F10x_TYPE_H//補充定義舊版的宏
#define __STM32F10x_TYPE_H
#endif
#47-D: incompatible redefinition of macro "SCS_BASE" 的錯誤解決方法也差不多,補充定義舊版宏即可解決大部分問題,這次是在core_cm3.c文件中,注意解鎖