Arduino for Keil 是 Arduino 框架的一个轻量级实现,旨在使 AT32/STM32 系列单片机能够支持 Arduino 语法,并在 Keil 环境中进行高效的编译与调试。
- 共享Arduino生态:通过利用广泛的 Arduino 库资源(详见 Arduino Libraries),降低了学习曲线,简化了开发流程。
- 优化的硬件操控方式:采用 寄存器 + 宏 的优化策略,减少了函数调用的开销,从而提升了程序的运行效率。
- 精简的框架设计:相较于 stm32duino 和 HAL 库,本项目拥有更小的代码体积和更快的编译与执行速度,实现了资源与性能的最佳平衡。
- 安装对应平台的固件包(详见 Packs)。
注意事项:如果您已安装了更高版本的固件包,请使用 Keil 自带的包管理工具进行卸载(Remove)操作。
- 打开 Keilduino/Platform 文件夹,选择对应的 MCU 型号。
- 打开 MDK-ARM 文件夹内的 Keil 工程,进行开发:
- 对于基本应用,用户可以直接参考 Arduino 官方文档。
- 对于更复杂的开发需求,可以参考 Example 中的示例代码。
- 第三方库的移植请参考 Arduino 库移植指南。
支持与寄存器和标准外设库函数的混合使用,确保开发的灵活性:
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 秒
}
- 保留主函数:请勿删除
main.cpp
文件中的main
函数。 - 第三方库管理:在添加第三方库时,请确保提供完整的路径,并包含
.cpp
源文件。 - 兼容性与调试:由于不同平台的差异性,部分函数库可能需要进行适当的修改以满足编译需求。具体修改方法可参考编译器错误提示,或在 issues 中提交问题。