本帖最后由 wowu 于 2018-9-5 12:09 编辑
直接上一些片上硬件、一些常用器件的封装库GitHub链接:
STM32F4:https://github.com/InfiniteYuan1/STM32F407DriverLib
STM32F1:https://github.com/InfiniteYuan1/STM32f103DriverLib 用C++进行嵌入式程序开发,甚至是裸系统程序。开发起来比C语言更方便架构搭建与程序管理。
#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文件中定义的不一致,编译报错。
|