8000 GitHub - siy/libstm32pp: A template peripheral library for the STM32 microcontrollers, written in C++.
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content
This repository was archived by the owner on Dec 8, 2023. It is now read-only.

siy/libstm32pp

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

/******************************************************************************* *

  • Copyright (C) 2012 Jorge Aparicio jorge.aparicio.r@gmail.com
  • This file is part of libstm32pp.
  • libstm32pp is free software: you can redistribute it and/or modify it under
  • the terms of the GNU Lesser General Public License as published by the Free
  • Software Foundation, either version 3 of the License, or (at your option)
  • any later version.
  • libstm32pp is distributed in the hope that it will be useful, but WITHOUT
  • ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  • FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
  • for more details.
  • You should have received a copy of the GNU Lesser General Public License
  • along with libstm32pp. If not, see http://www.gnu.org/licenses/.

******************************************************************************/

ABOUT

=====

libstm32pp is a template peripheral library for the STM32F1/STM32F2/STM32F4 family of microcontrollers(uC).

This library is written in C++, and uses heavily template metaprogramming, statics assertions, templates and enumerators.

All these features provide a memory efficient implementation, compile-time error-checking and strong typing.

INSTALLATION AND USE

====================

There is no installation, this is a header file only library.

To use this library, simply link the libstm32pp/include folder to your source.

The following files are important:

  • device_select.hpp Here the microcontroller family must be selected. (uncomment the family you are going to use)

  • clock.hpp Here the uC clocks can be configured. (be sure to call clk::initialize() as soon as possible in your program)

  • interrupt_cpp.hpp This is actually a source file that configures the uC interrupts. (include this file in a source file .cpp)

  • system_call_cpp.hpp This is actually a source file that implements the newlib hardware dependant functions. (include this file in a source file .cpp)

Check the "demo" folder for examples.

An editor with auto-complete feature is highly recommended for development using this library.

If you need an open source framework for development of these families of uCs, you should check the bareCortexM project:

(https://github.com/JorgeAparicio/bareCortexM)

It's a framework based on the Eclipse IDE and the GCC toolchain, for bare metal development of Cortex™ M Series processors.

LICENSE

=======

This project is licensed under the:

GNU Lesser General Public License (LGPL) version 3.

See COPYING.GPL3.txt and COPYING.LGPL3.txt for more details.

DISCLAIMER

==========

Cortex™ is a trademark of ARM Limited. ST, STM32 are trademarks of STMicroelectronics. All other trademarks are property of their respective owners.

About

A template peripheral library for the STM32 microcontrollers, written in C++.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 100.0%
0