使用arduino快速开发stm32
本帖最后由 51xlf 于 2022-7-1 17:39 编辑#申请原创#@21小跑堂
1。环境搭建
大多的时候都是使用的是keil或者iar开发stm32,里面很多的库都是需要自己来写的。不利于快速的开发stm32的产品。
这里介绍如何使用arduino快速的实现stm32产品的开发,集成了很多的库函数可以直接使用的。Arduino简单的开发方式使得开发者更快的完成自己的项目开发,大大节约了学习的成本,缩短了开发的周期。
当然了arduino开发也是有它的缺陷,有的时候一些莫名其妙的问题出现,不如使用在其他的IDE开发的简单方便。
首先,要搭建arduino IDE的开发环境。点击这个网址。
https://www.arduino.cc/en/software最新版本的是1.8.19,点击下载zip文件,解压就可以使用了。
你可以直接跳过,点击“Just Download”下载文件
把压缩文件解压,得到如下的文件夹。这个就是开始开发avr的arduino开发板了,这个还是很简单的,用法也简单。
集成的库函数,可以直接调用,没有必要自己重新编写库函数的。用法简单。
需要在文件夹里面--hardware里面添加上,stm32的支持文件 。现在奉上下载连接
https://github.com/rogerclarkmelbourne/Arduino_STM32打包下载这个库,得到是压缩文件,重命名为Arduino_STM32,解压以后放在编译环境的hardware文件夹里面。
如下所示,1是指的要放置的文件夹,2是avr的支持库,3是stm32的支持库。
这样打开,arduino ide环境,就能看到当前已经支持stm32的开发了。
查找目录如下:
工具--开发板-stm32的板子
2. 软件开发
新建工程文件,并保存该工程文件。
arduino编程分为两个部分。setup是初始化,loop是持续运行的文件,相当于while的功能。
void setup() {
// put your setup code here, to run once:
}
void loop() {
// put your main code here, to run repeatedly:
}arduino IDE中引脚跟keil不一样,他是直接使用的宏定义实现的,这里使用的是stm32最小系统实现的开发,
这块开发板自带一个LED在PC13上,所以使用这个引脚做测试。实现的效果是绿色的LED间隔1s闪烁的功能。
编写代码如下:
void setup() {
// put your setup code here, to run once:
pinMode(PC13, OUTPUT);//初始化该引脚PC13为输出的引脚,控制LED闪烁
}
void loop() {
// put your main code here, to run repeatedly:
digitalWrite(PC13, HIGH);//将PC13引脚置为高电平
delay(1000);//演示函数,使用是内部的延时函数
digitalWrite(PC13, LOW);
delay(1000);
}3 硬件烧录
arduino是串口或者使用stlink烧录程序的。
如果使用串口烧录,USB转TTL的TXD连接到PA10,RXD连接到PA9;boot0置1(接到3.3V) ,boot1置0(接地)。
我这里使用的是stlink烧写程序的。(使用的是nucleo板子上的stlink)
从工具-upload mothed-stlink。
看看演示效果。
4.功能扩展
这里再测试一下串口吧。stm32的串口配置还是比较复杂的,但是在arduino IDE开发串口就没有那么复杂了,简单的串口初始化,配置波特率就可以。
Serial.begin(9600);
Serial.println("hello, 21ic");
其实就是用C++稍微封装了一下,没啥大不了的。 diweo 发表于 2022-6-28 16:38
其实就是用C++稍微封装了一下,没啥大不了的。
确实简单了。 怎么感觉不如mdk看着舒服 match007 发表于 2022-6-28 21:15
怎么感觉不如mdk看着舒服
可以使用图形化软件 match007 发表于 2022-6-28 21:15
怎么感觉不如mdk看着舒服
调试部分,确实不如mdk。 51xlf 发表于 2022-6-28 21:34
调试部分,确实不如mdk。
也有习惯的问题吧,好东西,总会脱颖而出 arduino支持stm32哪些芯片呢 stlink可以下载? 这个可以,不知道效果怎么样 不如mdk看着舒服 就是是不是免费的吧
利用协议、加密算法或这些算法中的安全漏洞来进行攻击
small 模式下未指存储类型的变量默认为data型
andygirl 发表于 2022-10-3 09:52
就是是不是免费的吧
免费的,arduino都是开源的软件的。
页:
[1]