发新帖本帖赏金 20.00元(功能说明)我要提问
返回列表
打印
[开发工具]

使用arduino快速开发stm32

[复制链接]
1891|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的开发环境。点击这个网址。
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");







使用特权

评论回复

打赏榜单

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

评论
21小跑堂 2022-7-4 10:02 回复TA
利用Arduino快速搭建stm32开发环境,可方便用户快速实现方案,加速测试流程。但是弊端也很不友好,注意使用环境哦 
沙发
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看着舒服

使用特权

评论回复
5
51xlf|  楼主 | 2022-6-28 21:33 | 只看该作者
match007 发表于 2022-6-28 21:15
怎么感觉不如mdk看着舒服

可以使用图形化软件

使用特权

评论回复
6
51xlf|  楼主 | 2022-6-28 21:34 | 只看该作者
match007 发表于 2022-6-28 21:15
怎么感觉不如mdk看着舒服

调试部分,确实不如mdk。

使用特权

评论回复
7
match007| | 2022-7-3 14:28 | 只看该作者
51xlf 发表于 2022-6-28 21:34
调试部分,确实不如mdk。

也有习惯的问题吧,好东西,总会脱颖而出

使用特权

评论回复
8
robincotton| | 2022-7-8 09:36 | 只看该作者
arduino支持stm32哪些芯片呢  

使用特权

评论回复
9
maudlu| | 2022-7-9 13:21 | 只看该作者
stlink可以下载?

使用特权

评论回复
10
albertaabbot| | 2022-7-9 17:44 | 只看该作者
这个可以,不知道效果怎么样  

使用特权

评论回复
11
dengdc| | 2022-7-10 17:08 | 只看该作者
不如mdk看着舒服

使用特权

评论回复
12
andygirl| | 2022-10-3 09:52 | 只看该作者
就是是不是免费的吧

使用特权

评论回复
13
Uriah| | 2022-10-3 10:30 | 只看该作者

利用协议、加密算法或这些算法中的安全漏洞来进行攻击

使用特权

评论回复
14
Bblythe| | 2022-10-3 13:29 | 只看该作者

small 模式下未指存储类型的变量默认为data型

使用特权

评论回复
15
51xlf|  楼主 | 2022-10-3 20:00 | 只看该作者
andygirl 发表于 2022-10-3 09:52
就是是不是免费的吧

免费的,arduino都是开源的软件的。                  

使用特权

评论回复
发新帖 本帖赏金 20.00元(功能说明)我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

535

主题

9597

帖子

23

粉丝