Introduction
============
Firstly, welcome to stm32plus, the C++ library that eases the burden of programming the STM32F030, F042, F051, F100, F103, F107 and F4 devices.
The main introduction and getting started guide can be found at [my website](http://www.andybrown.me.uk).
### Travis CI build status
A representative sample of the stm32plus configurations are configured to automatically build with the Travis CI system. The badge below shows the current state of the builds.
[![Build Status](https://travis-ci.org/andysworkshop/stm32plus.svg?branch=master)](https://travis-ci.org/andysworkshop/stm32plus)
How to compile the library
==========================
Before you can use the library you need to build it because, although much of the library is provided _header-only_ there is a substantial amount of compiled code that you must link to.
Please see the INSTALL.md file for detailed compilation instructions.
Releases
========
After cloning this repo you are going to have a choice of what to build based on the branches and tags that have been created. Your options are:
* Download a [release](https://github.com/andysworkshop/stm32plus/releases) and build from that. This is the safe option. Every now and then I will create a tag from the current master branch that represents a release. You can be sure that a release will be fully tested against all the supported MCUs.
* Checkout the `master` branch (the default) and build from that. This is the quite-safe option. The `master` branch is guaranteed to build on all MCUs but the examples may not have been fully regression tested.
* Checkout a named feature or bug-fix branch and build from that. This is the hardcore option. Feature branches that have not been merged back into `master` represent work in progress and should build but may be incomplete and have bugs.
Where are the examples?
=======================
In the _examples_ subdirectory you will find dozens of examples nearly all of which will work without modification on the F0, F1 and F4 devices. The examples are heavily commented to help you understand what's going on.
The examples are configured to run out-of-the-box on the following MCUs:
| Device | Flash | SRAM | CPU Clock | External Oscillator |
|--------|-------|------|-----------|---------------------|
| F40x | 1024Kb | 192Kb | 168Mhz | 8 MHz |
| F103 HD | 512Kb | 64Kb | 72 MHz | 8 MHz |
| F107 | 256Kb | 64Kb | 72 MHz | 25 MHz |
| F100 MD VL | 128Kb | 8Kb | 24 MHz | 8 MHz |
| F042 | 32Kb | 6Kb | 48 MHz | none (uses 8MHz internal) |
| F051 | 64Kb | 8Kb | 48 MHz | none (uses 8MHz internal) |
| F030 | 64Kb | 8Kb | 48 MHz | none (uses 8MHz internal) |
If your device is listed but your board has a different oscillator or core clock speed then you may need to adjust `System.c` in the `system` subdirectory
of the example that you are looking at. If your memory configuration is different then you will need to adjust `Linker.ld` in the `system` subdirectory.
Documentation
=============
HTML documentation can be found in the doc/html subdirectory. This documentation is auto-generated by the [doxygen](http://www.doxygen.org/) tool from the comments in the source code.
I freely admit that the documentation lags in both quantity and quality behind the code itself and it's a future task for me to improve it. In the meantime I hope that the heavily commented examples are enough to get you started.
Contributing
============
Contributions to stm32plus are welcome. Please follow these steps to ensure a smooth workflow:
* Clone the main stm32plus repo into your personal account and create a branch off `master` for your work. Give it a short meaningful name that allows people to get a good idea _at-a-glance_ of what you've done.
* When you're happy with your code, first do a merge back from the current master to ensure you're still compatible and then send me a pull request. I will code-review the pull-request and when we're all happy I will accept it and do the merge back into `master`.
Working in Eclipse
------------------
I do all my development in Eclipse Kepler using the CDT and the [GNU ARM Eclipse plugin](http://gnuarmeclipse.livius.net/blog/). The `.project` and `.cproject` files for the main library and all the examples are included. You can use Eclipse's import option on the root checkout directory to bring them all into your workspace in one go. I recommend that you create a _working set_ to contain all the stm32plus projects because there's a lot of them.
I have found that the recent updates to the plugin have been stable and non-breaking so you can probably just get the latest version. At the time of writing I am using version *1.10.2.201407190854* of the _Cross Compiler Support_ plugin.
How do I report a bug?
======================
If you think that you've found a bug then please enter an issue against the project on github. It really helps if you can give me enough information to reproduce the bug myself.
Alternatively you can fix it yourself and send me a pull-request.
A short walk around the directories
===================================
`/INSTALL.md`: The installation guide. This file explains how to build the library. If you read nothing else, read this!
`/SConstruct`: The top level scons build file, broadly equivalent to a Makefile for those that have not used scons before.
`lib/`: The root directory containing the library source code.
`lib/include`: The include files for the library. This directory and the parent stm32plus directory must be on the include path of any programs that you write. As of 2.0.0 the only include files that you need to know about are those in the `config` subdirectory. It should only ever be necessary to include `config/stm32plus.h` and one each for the peripherals that you want to use, for example `config/usart.h` or `config/spi.h`. These high level files take care of including everything else that they need.
`lib/src`: The C++ source files that make up the library. Everything in here is considered internal.
`lib/fwlib`: Source code to the ST Microelectronics standard peripheral libraries for the F0, F1 and F4 processors.
`examples/`: The examples that demonstrate the features of the library. There is one subdirectory for each example. All the examples follow the same general format. There is the main example source code and a `system` subdirectory. The `system` subdirectory is the same for every example and contains the startup and initialisation code required for the F0, F1 and F4 MCUs. The `SConscript` file takes care of selecting the appropriate code for your target MCU. To build modified example, run `scons` again from the root directory. scons is smart enough to only build changed files and their dependents.
`utils/bm2rgbi`: This PC utility is for converting graphics files (jpeg, png, gif etc.) into an internal format suitable for efficient transfer to a TFT. It also supports compression using the LZG format that results in files roughly the same size as a PNG. You'll need this utility if you decide to use the bitmap functions in the graphics library.
`utils/FontConv`: This PC utility is for converting TrueType bitmap fonts such as those you can download for free from www.dafont.com into font files suitable for compiling and using with the stm32plus text output graphics library functions.
`utils/LzgFontConv`: This PC utility is for converting TrueType vector anti-aliased fonts into compressed graphical representations suitable for compiling and using with the stm32plus bitmap text output graphics library functions.
A quick guide to flashing using OpenOCD
=======================================
At the time of writing the lastest version of openocd is 0.8.0 and it contains full support for the STM32 connected via JTAG and also via ST-Link (e.g. the STM32F4DISCOVERY and STM32VLDISCOVERY boards). The following guide assumes that you are using either Linux or Windows with a Unix-like shell (cygwin or mingw) and that you
没有合适的资源?快使用搜索试试~ 我知道了~
STM32 F0、F100、F103、F107 和 F4微控制器 的 C++ 库_C++_代码_相关文件_下载
共4574个文件
h:1647个
c:540个
asm:467个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
5星 · 超过95%的资源 1 下载量 132 浏览量
2022-07-06
17:28:20
上传
评论 1
收藏 24.17MB ZIP 举报
温馨提示
介绍 首先,欢迎使用 stm32plus,该 C++ 库可减轻 STM32F030、F042、F051、F100、F103、F107 和 F4 器件的编程负担。 Travis CI 构建状态 stm32plus 配置的代表性示例配置为使用 Travis CI 系统自动构建。下面的徽章显示了构建的当前状态。 更多详情、使用方法,请下载后阅读README.md文件
资源推荐
资源详情
资源评论
收起资源包目录
STM32 F0、F100、F103、F107 和 F4微控制器 的 C++ 库_C++_代码_相关文件_下载
(4574个子文件)
320x480_ili9481.262 600KB
12.262 300KB
0.262 300KB
15.262 300KB
1.262 300KB
11.262 300KB
2.262 300KB
14.262 300KB
3.262 300KB
8.262 300KB
10.262 300KB
6.262 300KB
7.262 300KB
9.262 300KB
5.262 300KB
13.262 300KB
4.262 300KB
12.262 300KB
0.262 300KB
15.262 300KB
1.262 300KB
11.262 300KB
2.262 300KB
14.262 300KB
3.262 300KB
8.262 300KB
10.262 300KB
6.262 300KB
7.262 300KB
9.262 300KB
5.262 300KB
13.262 300KB
4.262 300KB
320x240_landscape_mc2pa8201.262 225KB
320x240_portrait_mc2pa8201.262 225KB
progressBar.262 13KB
progressBar.262 13KB
progressBar.262 13KB
12.262 10KB
0.262 10KB
15.262 10KB
1.262 10KB
11.262 10KB
2.262 10KB
14.262 10KB
3.262 10KB
8.262 10KB
10.262 10KB
6.262 10KB
7.262 10KB
9.262 10KB
5.262 10KB
13.262 10KB
4.262 10KB
12.262 10KB
0.262 10KB
15.262 10KB
1.262 10KB
11.262 10KB
2.262 10KB
14.262 10KB
3.262 10KB
8.262 10KB
10.262 10KB
6.262 10KB
7.262 10KB
9.262 10KB
5.262 10KB
13.262 10KB
4.262 10KB
play.262 4KB
15.262 4KB
stop.262 4KB
60.262 4KB
20.262 4KB
40.262 4KB
10.262 4KB
30.262 4KB
5.262 4KB
play.262 4KB
15.262 4KB
stop.262 4KB
60.262 4KB
20.262 4KB
40.262 4KB
10.262 4KB
30.262 4KB
5.262 4KB
updown.262 2KB
updown.262 2KB
progressKnob.262 576B
progressKnob.262 576B
progressKnob.262 576B
320x480_ili9481.64 300KB
320x240_landscape_mc2pa8201.64 150KB
320x240_landscape.64 150KB
algorithm 1KB
Startup.asm 19KB
Startup.asm 19KB
Startup.asm 19KB
共 4574 条
- 1
- 2
- 3
- 4
- 5
- 6
- 46
资源评论
- qq_354485332023-09-22怎么能有这么好的资源!只能用感激涕零来形容TAT...
快撑死的鱼
- 粉丝: 2w+
- 资源: 9148
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- Keil C51 插件 检测所有if语句
- 各种排序算法java实现的源代码.zip
- 金山PDF教育版编辑器
- 基于springboot+element的校园服务平台源代码项目包含全套技术资料.zip
- 自动化应用驱动的容器弹性管理平台解决方案
- 各种排序算法 Python 实现的源代码
- BlurAdmin 是一款使用 AngularJs + Bootstrap实现的单页管理端模版,视觉冲击极强的管理后台,各种动画效果
- 基于JSP+Servlet的网上书店系统源代码项目包含全套技术资料.zip
- GGJGJGJGGDGGDGG
- 基于SpringBoot的毕业设计选题系统源代码项目包含全套技术资料.zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功