Skip to content

FASTSHIFT/Arduino-For-Keil

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Arduino for Keil

1. 概述

Arduino for Keil 是 Arduino 框架的一个轻量级实现,旨在使 AT32/STM32 系列单片机能够支持 Arduino 语法,并在 Keil 环境中进行高效的编译与调试。

相对于传统开发方法的优势

  1. 共享Arduino生态:通过利用广泛的 Arduino 库资源(详见 Arduino Libraries),降低了学习曲线,简化了开发流程。
  2. 优化的硬件操控方式:采用 寄存器 + 宏 的优化策略,减少了函数调用的开销,从而提升了程序的运行效率。
  3. 精简的框架设计:相较于 stm32duinoHAL 库,本项目拥有更小的代码体积和更快的编译与执行速度,实现了资源与性能的最佳平衡。

2. 使用方法

  1. 安装对应平台的固件包(详见 Packs)。

注意事项:如果您已安装了更高版本的固件包,请使用 Keil 自带的包管理工具进行卸载(Remove)操作。

  1. 打开 Keilduino/Platform 文件夹,选择对应的 MCU 型号。
  2. 打开 MDK-ARM 文件夹内的 Keil 工程,进行开发:

灵活的开发模式

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

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

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

3.系统框架图

image

4.注意事项

  • 保留主函数:请勿删除 main.cpp 文件中的 main 函数。
  • 第三方库管理:在添加第三方库时,请确保提供完整的路径,并包含 .cpp 源文件。
  • 兼容性与调试:由于不同平台的差异性,部分函数库可能需要进行适当的修改以满足编译需求。具体修改方法可参考编译器错误提示,或在 issues 中提交问题。