All Projects → FASTSHIFT → Arduino For Keil

FASTSHIFT / Arduino For Keil

Licence: mit
A lightweight Arduino framework for Keil projects.

Programming Languages

c
50402 projects - #5 most used programming language
cpp
1120 projects

Projects that are alternatives of or similar to Arduino For Keil

Platform Ststm32
ST STM32: development platform for PlatformIO
Stars: ✭ 201 (+16.86%)
Mutual labels:  arduino, stm32
Send altitude cocoos
IoT program for Arduino Uno / STM32 Blue Pill (libopencm3) that reads BME280 temperature + humidity + altitude sensors, via I2C or SPI with DMA and multitasking. Sends sensor data to Sigfox via Wisol Sigfox module on UART. Runs on cocoOS task scheduling library http://www.cocoos.net
Stars: ✭ 24 (-86.05%)
Mutual labels:  arduino, stm32
Logic Analyzer
Logic Analyzer, for Arduino, AVR, ESP8266 and STM32 with a very nice working processing interface, you could run it also on any Android device.
Stars: ✭ 203 (+18.02%)
Mutual labels:  arduino, stm32
Runcpm
RunCPM is a multi-platform, portable, Z80 CP/M 2.2 emulator.
Stars: ✭ 192 (+11.63%)
Mutual labels:  arduino, stm32
Tft espi
Arduino and PlatformIO IDE compatible TFT library optimised for the STM32, ESP8266 and ESP32 that supports different driver chips
Stars: ✭ 1,215 (+606.4%)
Mutual labels:  arduino, stm32
Blog
A set of various projects based on ESP8266, ESP32, ATtiny13, ATtiny85, ATtiny2313, ATmega8, ATmega328, ATmega32, STM32 and more.
Stars: ✭ 198 (+15.12%)
Mutual labels:  arduino, stm32
Mqtt via esp01
TCP/UDP Applicaton for UNO/MEGA/STM32 using ESP8266's AT firmware.
Stars: ✭ 23 (-86.63%)
Mutual labels:  arduino, stm32
Jled
Non-blocking LED controlling library for Arduino and friends.
Stars: ✭ 197 (+14.53%)
Mutual labels:  arduino, stm32
Awesome Canbus
🚛 A curated list of awesome CAN bus tools, hardware and resources
Stars: ✭ 73 (-57.56%)
Mutual labels:  arduino, stm32
Stm32 Ota
STM32-OTA on Arduino IDE
Stars: ✭ 72 (-58.14%)
Mutual labels:  arduino, stm32
Ntc thermistor
[For Arduino and STM32] Library for working with a NTC thermistor.
Stars: ✭ 19 (-88.95%)
Mutual labels:  arduino, stm32
Stm32generic
Generic implementation of Arduino for STM32 boards
Stars: ✭ 98 (-43.02%)
Mutual labels:  arduino, stm32
Tinygo
Go compiler for small places. Microcontrollers, WebAssembly (WASM/WASI), and command-line tools. Based on LLVM.
Stars: ✭ 9,068 (+5172.09%)
Mutual labels:  arduino, stm32
Lwmem
Lightweight dynamic memory manager library for embedded systems with memory constraints. It implements malloc, calloc, realloc and free functions
Stars: ✭ 92 (-46.51%)
Mutual labels:  arduino, stm32
Tinyframe
A simple library for building and parsing data frames for serial interfaces (like UART / RS232)
Stars: ✭ 151 (-12.21%)
Mutual labels:  arduino, stm32
Pzem004t
Arduino communication library for Peacefair PZEM-004T Energy monitor
Stars: ✭ 165 (-4.07%)
Mutual labels:  arduino
Espmqttclient
Wifi and MQTT handling for ESP8266 and ESP32
Stars: ✭ 169 (-1.74%)
Mutual labels:  arduino
Amstomqttbridge
Minimalistic system to read AMS/HAN data from electrical meter
Stars: ✭ 165 (-4.07%)
Mutual labels:  arduino
Ultrasonic Hc Sr04
Ultrasonic HC-SR04 library for Arduino IDE
Stars: ✭ 163 (-5.23%)
Mutual labels:  arduino
Make
📖📖📖📖📖 写给软件工程师看的硬件编程指南
Stars: ✭ 170 (-1.16%)
Mutual labels:  arduino

Arduino for Keil

1.概要

这是一个轻量级的Arduino框架,使STM32系列单片机兼容Arduino语法,在Keil上进行编译调试。

相对于传统开发方式的优势:

1.与Arduino共用生态,降低学习门槛,简化开发过程。

2.关键部分使用了 寄存器+宏 的优化方式,减少函数调用开销,提升运行效率。

3.简化的Arduino框架,相对stm32duino与HAL库,拥有更小的代码体积、更快的编译和执行速度。

2.使用

底层基于 AT32/STM32标准外设库 二次封装,安装之后才能正常编译,下载链接位于下方。

AT32F4xx标准外设库

STM32F0xx标准外设库

STM32F10x标准外设库

STM32F3xx标准外设库

STM32F4xx标准外设库

STM32L1xx标准外设库

注意 如果您已经安装了更高版本的pack,需要使用keil自带的包管理器将高版本的pack进行Remove

一般用法可以直接参照Arduino语法

高级用法参考Example内的示例。

第三方库移植参考第三方库移植示例

支持与寄存器和标准外设库的函数混用,保证开发的灵活性:

void setup()
{
    pinMode(PA0,OUTPUT);                //使用Arduino函数将配置PA0为输出模式
}

void loop()
{
    GPIOA->BSRR = GPIO_Pin_0;           //使用寄存器将PA0电平拉高
    delay(1000);                        //延时一秒
    GPIO_ResetBits(GPIOA, GPIO_Pin_0);  //使用标准外设库的函数将PA0电平拉低
    delay(1000);                        //延时一秒
}

3.系统框架

image

4.注意

 1.请不要删除"main.cpp"中的main函数。 
 2.添加第三方库函数的时候要加入完整的路径,以及.cpp源文件. 
 3.由于平台的不同,有的函数库可能要进行修改才能正常编译,具体修改方式请按照编译器的提示,或者可以提交Issues。 
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].