返回列表 发新帖我要提问本帖赏金: 20.00元(功能说明)

[开发工具] 使用arduino快速开发stm32

[复制链接]
2818|17
 楼主| 51xlf 发表于 2022-6-28 15:51 | 显示全部楼层 |阅读模式
本帖最后由 51xlf 于 2022-7-1 17:39 编辑

#申请原创#  @21小跑堂  
1。环境搭建
大多的时候都是使用的是keil或者iar开发stm32,里面很多的库都是需要自己来写的。不利于快速的开发stm32的产品。
这里介绍如何使用arduino快速的实现stm32产品的开发,集成了很多的库函数可以直接使用的。Arduino简单的开发方式使得开发者更快的完成自己的项目开发,大大节约了学习的成本,缩短了开发的周期。
当然了arduino开发也是有它的缺陷,有的时候一些莫名其妙的问题出现,不如使用在其他的IDE开发的简单方便。
首先,要搭建arduino IDE的开发环境。点击这个网址。
  1. https://www.arduino.cc/en/software
最新版本的是1.8.19,点击下载zip文件,解压就可以使用了。
1.jpg
你可以直接跳过,点击“Just Download”下载文件

2.png
把压缩文件解压,得到如下的文件夹。这个就是开始开发avr的arduino开发板了,这个还是很简单的,用法也简单。
集成的库函数,可以直接调用,没有必要自己重新编写库函数的。用法简单。

3.png
需要在文件夹里面--hardware里面添加上,stm32的支持文件 。现在奉上下载连接
  1. https://github.com/rogerclarkmelbourne/Arduino_STM32
打包下载这个库,得到是压缩文件,重命名为Arduino_STM32,解压以后放在编译环境的hardware文件夹里面。
6.png
如下所示,1是指的要放置的文件夹,2是avr的支持库,3是stm32的支持库。
4.png
这样打开,arduino ide环境,就能看到当前已经支持stm32的开发了。
查找目录如下:
  1. 工具--开发板-stm32的板子

7.png

2. 软件开发
新建工程文件,并保存该工程文件。
8.png

arduino编程分为两个部分。setup是初始化,loop是持续运行的文件,相当于while的功能。
  1. void setup() {
  2.   // put your setup code here, to run once:

  3. }

  4. void loop() {
  5.   // put your main code here, to run repeatedly:

  6. }
arduino IDE中引脚跟keil不一样,他是直接使用的宏定义实现的,这里使用的是stm32最小系统实现的开发,
这块开发板自带一个LED在PC13上,所以使用这个引脚做测试。实现的效果是绿色的LED间隔1s闪烁的功能。
9.png
编写代码如下:
  1. void setup() {
  2.   // put your setup code here, to run once:
  3.   pinMode(PC13, OUTPUT);//初始化该引脚PC13为输出的引脚,控制LED闪烁
  4. }

  5. void loop() {
  6.   // put your main code here, to run repeatedly:
  7.   digitalWrite(PC13, HIGH);//将PC13引脚置为高电平
  8.   delay(1000);//演示函数,使用是内部的延时函数
  9.   digitalWrite(PC13, LOW);
  10.   delay(1000);
  11. }
3 硬件烧录
arduino是串口或者使用stlink烧录程序的。
如果使用串口烧录,USB转TTL的TXD连接到PA10,RXD连接到PA9;boot0置1(接到3.3V) ,boot1置0(接地)。
11.png
我这里使用的是stlink烧写程序的。(使用的是nucleo板子上的stlink)
从工具-upload mothed-stlink。
10.png
看看演示效果。
12.png

4.功能扩展
这里再测试一下串口吧。stm32的串口配置还是比较复杂的,但是在arduino IDE开发串口就没有那么复杂了,简单的串口初始化,配置波特率就可以。
  1.   Serial.begin(9600);
  2.   Serial.println("hello, 21ic");







打赏榜单

21小跑堂 打赏了 20.00 元 2022-07-04
理由:恭喜通过原创文章审核!请多多加油哦!

评论

利用Arduino快速搭建stm32开发环境,可方便用户快速实现方案,加速测试流程。但是弊端也很不友好,注意使用环境哦  发表于 2022-7-4 10:02
diweo 发表于 2022-6-28 16:38 | 显示全部楼层
其实就是用C++稍微封装了一下,没啥大不了的。
 楼主| 51xlf 发表于 2022-6-28 19:20 | 显示全部楼层
diweo 发表于 2022-6-28 16:38
其实就是用C++稍微封装了一下,没啥大不了的。

确实简单了。  
match007 发表于 2022-6-28 21:15 | 显示全部楼层
怎么感觉不如mdk看着舒服
 楼主| 51xlf 发表于 2022-6-28 21:33 | 显示全部楼层
match007 发表于 2022-6-28 21:15
怎么感觉不如mdk看着舒服

可以使用图形化软件
 楼主| 51xlf 发表于 2022-6-28 21:34 | 显示全部楼层
match007 发表于 2022-6-28 21:15
怎么感觉不如mdk看着舒服

调试部分,确实不如mdk。
match007 发表于 2022-7-3 14:28 | 显示全部楼层
51xlf 发表于 2022-6-28 21:34
调试部分,确实不如mdk。

也有习惯的问题吧,好东西,总会脱颖而出
robincotton 发表于 2022-7-8 09:36 | 显示全部楼层
arduino支持stm32哪些芯片呢  
maudlu 发表于 2022-7-9 13:21 | 显示全部楼层
stlink可以下载?
albertaabbot 发表于 2022-7-9 17:44 | 显示全部楼层
这个可以,不知道效果怎么样  
dengdc 发表于 2022-7-10 17:08 | 显示全部楼层
不如mdk看着舒服
andygirl 发表于 2022-10-3 09:52 | 显示全部楼层
就是是不是免费的吧
Uriah 发表于 2022-10-3 10:30 | 显示全部楼层

利用协议、加密算法或这些算法中的安全漏洞来进行攻击
Bblythe 发表于 2022-10-3 13:29 | 显示全部楼层

small 模式下未指存储类型的变量默认为data型
 楼主| 51xlf 发表于 2022-10-3 20:00 | 显示全部楼层
andygirl 发表于 2022-10-3 09:52
就是是不是免费的吧

免费的,arduino都是开源的软件的。                  
您需要登录后才可以回帖 登录 | 注册

本版积分规则

551

主题

9967

帖子

24

粉丝
快速回复 在线客服 返回列表 返回顶部