# ArmCpp **Repository Path**: drawtech/ArmCpp ## Basic Information - **Project Name**: ArmCpp - **Description**: No description available - **Primary Language**: C++ - **License**: Not specified - **Default Branch**: basic - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 2 - **Forks**: 0 - **Created**: 2019-05-30 - **Last Updated**: 2021-11-02 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # ArmCpp 基本工程 ## 简介 STM32F405/F407/F415/F417的基本工程,C++版本,基于ArmCpp的MspLib,面向对象的风格。 已经实现延时函数,你可以直接使用如下调用: ````C++ Os.uWait(100);//延时100us Os.mWait(100);//延时100ms ```` 实现全局时间功能: ```` Ck.TimeInUs();//获取从开机到现在经过的时间。 ```` 实现串口功能: ```` Com.Tx<<"Hello"; Com.Flush();//发送"Hello"到串口 Com.ReadLine();//读取一行字符串,存在Com.Txb里面 ```` ## 如何使用 程序执行顺序如下: 先执行Core/Core.cpp里面的Core函数,这里进行核心初始化,包括RCC和NVIC,外设模块的时钟使能也放在这里。 ![3](.Readme_images/b4cc3c92.png) ![4](.Readme_images/67dea6ac.png) 接下来是调用C++的静态构造函数,全局对象的构造函数都在这里执行。 ![5](.Readme_images/8f61660d.png) ![6](.Readme_images/791ff706.png) 最后执行Main.cpp里面的Main函数 ![7](.Readme_images/9e1e8a71.png) ![8](.Readme_images/e26118b4.png) 用户只需要在Core函数里配置时钟和全局中断,在Main函数里实现自己的功能即可。 默认状况下,时钟配置为144MHz主频(外部晶振25MHz)。 ## 如何获取 git地址: > git@gitee.com:drawtech/ArmCpp.git 在Clion环境下可从版本控制获取工程 ![1](.Readme_images/83ae5088.png) ![2](.Readme_images/422b1095.png) ## 依赖工具 - arm-none-eabi-gcc - openocd - 支持Cmake的IDE(Clion)或Cmake+Make ## 测试条件 - Linux+Clion+arm-none-eabi-gcc+openocd - Stlink V2 - 电子科技大学409 ArmPcb开发板 ![9](.Readme_images/b8c26b65.png)