使用C++封裝庫在MDK上建STM32開發工程
用C++進行嵌入式程式開發,甚至是裸系統程式。開發起來比C語言更方便架構搭建與程式管理。
- 簡單的一個例子使用USART
#include "USART.h"
USART com(1,115200);
void main()
{
com<<"test string\r\n";
while(1)
{
}
}
- 使用片外資源的一個例子
#include "USART.h"
#include "DPPrint.h"
int main(void)
{
USART com(USART1, 115200);
DPPrint DP(com);
DP.InitializePrint();
DP.PrintPageStart(0 ,0,384,640,0);
DP.rectangleDraw(0,0,384,576,5,1);
while(1)
{
}
}
extern "C"
{
void USART1_IRQHandler(void) //----USART1 IRQ----//
{
#ifdef USE_GPS
if(pGPS1){
pGPS1->GPS_IRQHandler();
return ;
}
#endif
#ifdef USE_USART1
pCOM1->IRQ();
#endif
#ifdef USE_USART1_DMA
pCOM1->IRQ();
#endif
}
}
- 首先宣告,這個main()所在的檔案必須是以.cpp檔案,不然編譯當成C語言進行編譯。C++可以呼叫C,C不能呼叫C++,這點要記住。
- extern “C” { } 用於告訴編譯器,大括號以內的東西以C的方式進行編譯。因為原來.C的標頭檔案被.CPP檔案包含了,那麼編譯器便按C++的方式進行編譯,導致與原來.C檔案中定義的不一致,編譯報錯。