使用C++封装库在MDK上建STM32开发工程

来源:互联网 发布:软件项目开发管理制度 编辑:程序博客网 时间:2024/06/06 14:23

直接上一些片上硬件、一些常用器件的封装库GitHub链接:
STM32F4:https://github.com/InfiniteYuan1/STM32F407DriverLib
STM32F1:https://github.com/InfiniteYuan1/STM32f103DriverLib

用C++进行嵌入式程序开发,甚至是裸系统程序。开发起来比C语言更方便架构搭建与程序管理。

  1. 简单的一个例子使用USART
#include "USART.h"USART com(1,115200);void main(){    com<<"test string\r\n";    while(1)    {    }}
  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文件中定义的不一致,编译报错。
0 0
原创粉丝点击