c及keil調試等
data,
keil調試(對debug用處極大),
關於c語言類型轉換
C的一些細節:
()&&()先計算前面若為0,後面不執行
a--先用後減 --a先減再用
char *p=“abc”將指針指向字符串首地址
int *p=(int *)0x123456789
數組初始化,所附數值個數小於數組長度時自動補0
函數參數為數組時 形參可以是數組或指針
static int fun ()靜態(內部)函數,只供本文件其他函數調用 修飾變量則只能被本文件引用
extern int fun()可被其他文件函數引用
x=p->name 去除地址p開始的結構體中的name的值給x
運算符從左至右 如a>b>n 若a=3,b=2,c=1 則前式等於0
int(*p)【4】指向一維數組的指針 int*p【4】 數組指針
int(*fun)(int a,int b)函數指針 int*a(int x,int y)返回值為指針的函數
INI
(文件擴展名)
主要存放用戶所做的選擇以及系統的各種參數。用戶可以通過修改INI文件,來改變應用程序和系統的很多配置
嵌入式c規範
標準:
1,代碼穩定,沒有隱患。
2,執行效率高。
3,可讀性高。
4,便於移植。
技巧:
1、盡量少用庫函數,便於不同的mcu和編譯器間的移植
2、選擇合適的算法和數據結構
用鏈表
3、使用盡量小的數據類型
執行速度降低。
4、使用自加、自減指令
5、減少運算的強度
(1)、求余運算。某數關於2的n次求余,可用位運算,如a%8可換為a&7
乘以或除以2n,都可以用移位的方法代替
、循環
對於一些不需要循環變量參加運算的任務可以把它們放到循環外面,這裏的任務包括表達式、函數的調用、指針運算、數組訪問等。
用自減延時函數。
7、查表
在程序中一般不進行非常復雜的運算,如浮點數的乘除及開方等,以及一些復雜的數學模型的插補運算,對這些即消耗時間又消費資源的運算,應盡量使用查表的方式,並且將數據表置於程序存儲區。如果直接生成所需的表比較困難,也盡量在啟了,減少了程序執行過程中重復計算的工作量。
其他點擊打開鏈接
c及keil調試等