寫Embedded的人最常碰到的就是C語言了,
在這邊整理一下幾個最初級也最基本的概念。
1. 以file為一物件,變數、函數分成私用(static)與公用。
儘量避免使用全域變數。
在令變數時就應決定作用範圍,愈小愈好。
外部物件要對私有變數賦值,寧可多寫一個function。
只對外露出function而不露出變數這很重要。
2. 同類的變數使用struct集合在一起。
如此一來要re-use也很方便。
3. 以物件為出發點去思考函數的寫法,而不是以方法為出發點。
例如在中斷處理的檔案中(ex. IRQ.c),
直接在裡面做事情並呼叫許多各物件的方法是不妥的。
不好的寫法:
// IRQ.c
void A_IRQ(void){
obj1xxx();
obj1yyy();
obj1zzz();
}
好的寫法:
// IRQ.c
void A_IRQ(void){
obj1IRQ();
}
// obj1.c
void obj1IRQ(void){
obj1xxx();
obj1yyy();
obj1zzz();
}
Initial的時候也是
不好的寫法
// RCC.c
void RCC_Conf (void){
obj1RCC_Conf();
obj2RCC_Conf();
}
// NVIC.c
void NVIC_Conf (void){
obj1NVIC_Conf();
obj2NVIC_Conf();
}
好的寫法
// Obj1.c
void Obj1_Init (void){
obj1RCC_Conf();
obj1NVIC_Conf();
}
// Obj2.c
void Obj2_Init (void){
obj2RCC_Conf();
obj2NVIC_Conf();
}
沒有留言:
張貼留言