原创 【新UFUN试用体验】尝试使用Arduino IDE搭建UFUN2.0开发环境及LED闪灯

2019-11-24 12:41 3084 25 6 分类: MCU/ 嵌入式 文集: 雕爷学编程
第一篇《【新UFUN试用体验】兼具情怀与温度的学习板—开箱靓照》大致了解这板的基本情况(https://mbb.eet-china.com/blog/3894459-409545.html)。
这篇只是个尝试,真的惭愧,以前从未接触过STM32,而Arduino也是今年5月份开始学习的,基础差些,试试看,走哪算哪.......
众所周知,使用Arduino进行开发简单快捷,一个项目能很快的做好。以我自己的例子,小时候爱好过无线电,有点动手能力而已,但没有单片机的底子,编程语言基础也是零,只好选择Arduino可视化的图形编程来入门。几个月以来,从简单的干簧管模块开始,一边查资料学习,一边尝试做实验,同步发帖子(兼顾分享与交流)。上手一个新的传感器,先查相关资料了解基本情况,然后尝试做实验,不管程序是否能走通,都记录下来。分享的实验记录内容,主要是相关技术资料(网上搜集整理)+代码编程(Arduino)+图形编程(几种平台软件配合)+仿真编程(国产自主知识产权Linkboy),以务实解决问题为实验目标(走通能用)。说来好玩,这些做实验的传感器和执行器模块大部分见都没有见过,还有不少甚至没听说过(主要是在深圳电子市场上耐心淘来的)。因为没有把握,最早开贴Arduino系列实验目标——37种传感器与模块,后来升级为66种,再后来变成108种,至10月中旬止实际已经发帖135种实验了(成功率达95%以上),现在新的目标是168种(估计要推后到明年了)。所以说Arduino能风靡全球,成为入门电子DIY的首选是有一定道理的,确实兼容性非常棒,开发环境良好。Arduino的强大之处就在于它拥有完善的生态链,先前的贡献者可能已经写出了你需要的各种库文件。不论是读取温湿度传感器的数值还是利用液晶屏显示文字,亦或者仅仅是驱动舵机,你都能在网络上找到适用于Arduino的库函数。下面就开始新的尝试与实验:
第一步:安装Arduino IDE
arduino官网https://www.arduino.cc ,下载Arduino IDE页面 https://www.arduino.cc/en/Main/Software

最新版本是1.8.10,兼容各大平台,有安装版和免安装版二种。


第二步:下载安装Arduino SAM开发板

不安装这个开发板后编译会出现arm-none-eabi-g++错误

打开Arduino——工具——开发板管理器

然后搜索——SAM开发板并下载安装

安装成功是这样的



第三步:下载STM32F103RCT6用的Arduino开发板库

下载地址:https://github.com/rogerclarkmelbourne/Arduino_STM32  

下载后解压,将文件夹Arduino_STM32_master重命名为Arduino_STM32后复制到C:\Users\用户名\Documents\Arduino\hardware文件夹,如果没有hardware文件夹就新建一个(由于这个压缩包体积偏大,我下载好多次都失败了,后来在21ic下载站上用2元兑换了一个,呵呵,要解决问题,链接:http://dl.21ic.com/download/code/arduino_stm32-210074.html)。这个Arduino_STM32的库有40多M,包括文件:

有了这个库我们就可以让arduino IDE支持ufun学习板了。由于是第三方的库,所以需要自己手动安装。


第四步:打开Arduino IDE,选择工具——开发板——选择如下开发板

选择STM32F103RCT6,256KB Flash + 48kB SRAM



第五步:安装UFUN2.0的串口驱动(串口芯片CH340),打开Arduino IDE,要能识别板子

设置端口


第六步:下载安装flash_loader_demo_v2.8.0

flash loader demo是一款ST官方的flash下载软件,用于STM32F103,STM32F407,STM32F446单片机的串口下载程序。

支持Windows 98SE, 2000, XP, Vista, 7, 8, 8.1, 10系统。

如何安装:首先删除之前版本,从开始-设置-控制面板中-添加或删除程序,移除之前的版本后,再运行安装程序。目前版本是2.8.0,下载之后默认安装。

下载链接:https://www.st.com/en/development-tools/flasher-stm32.html   


第七步:更改ufun板子启动配置

STM32三种启动模式对应的存储介质均是芯片内置的,如下图:

(1)用户闪存 : 芯片内置的Flash。正常的工作模式。 

(2)SRAM: 芯片内置的RAM区,就是内存。可以用于调试。 

(3)系统存储器: 芯片内部一块特定的区域,芯片出厂时在这个区域预置了一段Bootloader,就是通常说的ISP程序。这个区域的内容在芯片出厂后没有人能够修改或擦除,即它是一个ROM区。启动的程序功能由厂家设置。

我们把ufun的BOOT0引脚拉高,进入系统存储器启动模式,这样就可以用ST的flash_loader进行程序的下载。如上图所示把ufun最右边的两个引脚短接在一起,就是拉高了BOOT0引脚。


第八步:使用flash_loader_demo_v2.8.0烧录bin文件

接上板子,打开软件,选择USB串口线的串口号(这里是COM5)

按开发板上重置键后按Next进入下一步(已能识别256K)

按Next进入下面界面,选择Download to device



第九步:从Git上https://github.com/rogerclarkmelbourne下载大佬的项目文件“STM32duino-bootloader-master”

如下页面中第二个文件,如果不导入安装这个库文件的话就无法编译生成STM32 对应的hex文件。

找到上图中圈着红线的BIN文件,下载到桌面,一会我们将用工具下载到ufun学习板中。

下载链接: https://github.com/rogerclarkmelbourne/STM32duino-bootloader/tree/master/binaries    

解压后放入C:\Users\用户\Documents\Arduino\hardware\Arduino_STM32中,并烧录,成功见下图


第十步:打开Arduino IDE,烧录LED闪灯程序

先确认烧录UFUN2.0开发板的6个配置

烧录的Blink程序如下(把UFUN板子的boot引脚继续拉高,按一下复位按键,然后放开)

  1. void setup() {
  2. pinMode(PA1, OUTPUT);
  3. }
  4. void loop() {
  5. digitalWrite(PA1, HIGH);
  6. delay(1000);
  7. digitalWrite(PA1, LOW);
  8. delay(1000);
  9. }

烧录成功是这样的


 忙乎一天,终于点亮板载蓝色LED



作者: 雕爷学编程, 来源:面包板社区

链接: https://mbb.eet-china.com/blog/uid-me-3894459.html

版权声明:本文为博主原创,未经本人允许,禁止转载!

文章评论3条评论)

登录后参与讨论

curton 2019-12-2 20:50

学习了

雕爷学编程 2019-11-26 12:32

nufuvcgx: 还有视频,板子看起来很好
还行,挺精致的板子

nufuvcgx 2019-11-26 08:52

还有视频,板子看起来很好
相关推荐阅读
雕爷学编程 2023-06-20 08:52
【雕爷学编程】Arduino动手做(117)---P10V706LED屏模组
37款传感器与执行器的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止这37种的。鉴于本人手头积累了一些传感器和执行器模块,依照实践出真知(一定要动手做)的理念,以学习和交流为...
雕爷学编程 2023-06-18 14:52
【雕爷学编程】Arduino动手做(116)---五向导航按键模块
37款传感器与执行器的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止这37种的。鉴于本人手头积累了一些传感器和执行器模块,依照实践出真知(一定要动手做)的理念,以学习和交流为...
雕爷学编程 2023-06-18 13:23
【雕爷学编程】Arduino动手做(115)---HB100多普勒雷达模块
37款传感器与执行器的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止这37种的。鉴于本人手头积累了一些传感器和执行器模块,依照实践出真知(一定要动手做)的理念,以学习和交流为...
雕爷学编程 2023-06-18 11:10
【雕爷学编程】Arduino动手做(114)---US-015高分辨超声波模块
37款传感器与执行器的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止这37种的。鉴于本人手头积累了一些传感器和执行器模块,依照实践出真知(一定要动手做)的理念,以学习和交流为...
雕爷学编程 2023-06-17 09:10
【雕爷学编程】Arduino动手做(113)---5110液晶屏模块
37款传感器与执行器的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止这37种的。鉴于本人手头积累了一些传感器和执行器模块,依照实践出真知(一定要动手做)的理念,以学习和交流为...
雕爷学编程 2023-06-17 06:36
【雕爷学编程】Arduino动手做(112)---2.4G24L01无线模块
37款传感器与执行器的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止这37种的。鉴于本人手头积累了一些传感器和执行器模块,依照实践出真知(一定要动手做)的理念,以学习和交流为...
我要评论
3
25
关闭 站长推荐上一条 /2 下一条