Arduino下STM32串口通信及Stduino IDE试玩_stm32 arduino 串口通讯-程序员宅基地

技术标签: stm32  arduino  嵌入式  


前言

Arduino是一款便捷灵活、方便上手的开源电子原型平台。它构建于开放原始码simple I/O介面版,并且具有使用类似Java、C语言的Processing/Wiring开发环境。主要包含两个的部分:硬件部分是可以用来做电路连接的Arduino电路板;另外一个则是Arduino IDE,你的计算机中的程序开发环境。你只要在IDE中编写程序代码,将程序上传到Arduino电路板后,程序便会告诉Arduino电路板要做些什么了。
芯片:正点原子精英版(STM32F103ZET6)


下载安装Arduino IDE

安装包下载链接,提取码:hahy

安装

解压压缩包,双击安装Arduino。
在这里插入图片描述
如果不愿改变路径的话,直接按照默认方式即可。正在安装中ing…
在这里插入图片描述
安装完成后,对Arduino IDE进行配置。

配置

将压缩包里面Arduino_STM32文件拷贝到Arduino IDE的安装目录下的hardware下(C:\Program Files(x86)\Arduino\hardware)。
打开Arduino IDE,打开开发板管理器,安装Cortex-M3系列的编译支持文件。
在这里插入图片描述
此过程可能会有点漫长,选择在网速比较好的时候安装可能会好一点;如果过程中出现“安装错误”,可以试试重新安装,多次尝试即可完成安装。
安装中ing
在这里插入图片描述
显示安装完成,Bingo!
在这里插入图片描述
然后回到主面板,根据自己的芯片完成以下配置:

step 1

在这里插入图片描述

step 2

在这里插入图片描述

stp 3

这里使用的是串口下载,选择以下选项。

在这里插入图片描述

stp 4

选择对应串口

在这里插入图片描述
OK!完成配置,可以开始编程啦!

现在也完成了配置了,可以在Arduino IDE中进行编程啦!

硬件连接

硬件连接注意跳帽USB的连接:
在这里插入图片描述

Arduino IDE中的编程

编程初学者可以参考文章1文章2
在Arduino 中的编程也兼容C语言和C++的编程方式,所以也相对友好。

相关代码

Arduino中的代码主要分为两部分,分别是:setup()函数和loop()函数。
其中setup()函数只执行一次,而loop()函数会不断执行。

setup()函数:

int flag = 1;// 设置标志位
String Stop = "stop\n";
String Begin = "begin\n";
void setup() {
    
  // put your setup code here, to run once:
  Serial.begin(115200);// 开启串口,设置波特率为115200
  pinMode(PB5,OUTPUT);// 设置PB5引脚为输出,该引脚对应LED引脚
  digitalWrite(PB5, LOW);//LED灯的初始状态为灭
}

loop()函数:

void loop() {
    
  // put your main code here, to run repeatedly:
  if(flag == 1){
    
    Serial.print("Hello huyue!\n");// 串口输出函数
    digitalWrite(PB5, HIGH);// 设置LED灯的状态
    delay(800);// 延时
    digitalWrite(PB5, LOW);// 改变LED灯的状态
    delay(800);// 延时
    }
    usart();// 串口函数
}

usart()函数:

void usart(){
    
  String input = "";
  while(Serial.available()>0){
    
    input = Serial.available();
    }
    if(input == Stop){
    
      flag = 0;
      }
    if(input == Begin){
    
      flag = 1;
      }
  }

程序烧录

按照以下步骤进行程序的烧录:
在这里插入图片描述
其中,验证就相当于编译;上传就相当于下载。
注意:重新下载的时候需要按下复位键之后,再进行重新下载。

实验结果

在这里插入图片描述
输入stop后,停止输出。

Stduino试玩

Stduino IDE是一款面向32位处理器快速入门学习的集成开发平台,目前已经支持Arduino_Core_STM32框架,集聚快捷、高效、免费、开源、易得于一身,软件还集成了GDB调试功能。

下载安装包可以在官网下载对应文件。


Stduino IDE当前支持的功能有:

  • GDB调试
  • 封装库下载安装
  • 代码自动补全提示
  • 中英文模式
  • UTF-8\GBK编码格式
  • 代码快速格式化
  • SWD\串口程序下载&调试(已验证)
  • DFU程序下载方式(待验证)
  • USB HID程序下载方式(待验证)
  • maple DFU程序下载方式(待验证)
  • maple DFU2程序下载方式(待验证)
  • MassStorage程序下载方式(待验证)
  • 更多功能细节请搜索stduino.com进行了解

菜单栏
在这里插入图片描述
函数结构
在这里插入图片描述
这样的函数结构是跟Arduino是差不多的,都是一个启动函数,一个主函数的程序。

编译
在这里插入图片描述 在这里插入图片描述
点击号开始编译,第一次编译花费时间较长,第二次就会好一点。
编译成功就可以下载到板子里。
Stduino入门网站。

相对于Arduino来说,Stduino更为方便。

总结

问题:Arduino中使用STlink进行程序下载,显示能够上传成功,其中的LED灯也可以正常闪烁,但是在串口监视器上无法显示。

Arduino编程更加人性化和方便,了解了新的一个编程工具。但是上面那个问题还有待解决,请大佬指导指导。拜托!
Stduino IDE也是一款比较好用的编译工具,棒棒哒!

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/guyuewangyue/article/details/111180966

智能推荐

【Python学习】下载faceScrub人脸数据库 (多线程版本)_facescrub download-程序员宅基地

文章浏览阅读6.8k次,点赞4次,收藏2次。在上一篇博文中,我用单线程版本的Python来实现下载脚本,其中最大的不足在于它是单线程的,很慢。其实,下载网络图片是天然的具有并行性的,因为下载每一副图片都是独立的,甚至线程之间都不用交互。 -*- coding: utf-8 -*-"""Created on Tue Apr 07 20:19:38 2015@author: Chenriwei"""impo_facescrub download

eclipse导出jar包的问题总结_无法导出.jar 权限不够-程序员宅基地

文章浏览阅读1.1k次。eclipse各种打包方式第一种解决方案Copy requeired libraries libraries into a sub-forder next to the generated JAR选用这个选项,eclipse生成的jar包1.把自己写应用打成一个jar包,如:test.jar2.创建一个文件夹与该jar包同名并在其后面加"_lib",如:test_lib3._无法导出.jar 权限不够

CMWAP和CMNET的区别-程序员宅基地

文章浏览阅读586次。 有的朋友可能遇到这样的尴尬,办了个手机上网套餐结果一查详单上网费高的惊人。实际上就移动包月套餐来说一般指的是CMWAP方式的流量。我查询了些资料写一下两者的区别。 如果你对该部分没有任何兴趣,你可以这样理解:用普通手机(非智能手机,支持GPRS)上网就是CMWAP;用智能手机/手机连接电脑/移动专用双模网卡上网即CMNET/WLAN方式1.WAP GPRS WLAN CSDWAP(Wir_cmwap和cmnet的区别

Pixhawk_Ardupilot编译环境_Ubuntu_ubuntu20.04 pixhawk ardupilot 编译环境-程序员宅基地

文章浏览阅读4.3k次。Pixhawk_Ardupilot编译环境_Ubuntu本文是官网站的翻译!QQ:4862879Ubuntu的安装这里不讲,不会的自己去网上找吧!提前准备:经常出错的地方是运行安装脚本 这块,主要是 gcc-arm cross-compiler下载速度较慢,gcc-arm cross-compiler 点击下载可以提前下载好后先安装:tar _ubuntu20.04 pixhawk ardupilot 编译环境

关于最近抖音上很火的,给女友的相册的源代码_女友相册源码-程序员宅基地

文章浏览阅读3.1k次,点赞5次,收藏9次。关于最近抖音上很火的,给女友的相册的源代码<!DOCTYPE html><html> <head> <meta charset="utf-8" /> <audio autoplay="autoplay" controls="controls" loop="loop" preload="auto" src="改为你自己的音乐文件名"> 你的浏览器版本太低,不支持audio标签 <_女友相册源码

高科技:人工智能视频换脸,朱茵变杨幂,毫无违和感-程序员宅基地

文章浏览阅读7.8k次,点赞4次,收藏6次。近日,一条名为“将朱茵的黄蓉换成杨幂的脸”的话题在网上引起了很大的讨论。很多人不解什么叫把朱茵的黄蓉要换成杨幂?难道杨幂要怕《射雕英雄传》了?并没有!原来,有网友在利用现在先进的AI技术...

随便推点

EASY UI tree如何根据部分值来选中checkbox_ftvedos-程序员宅基地

文章浏览阅读7.1w次。首先tree需要设置checkbox:true _ftvedos

Markdown自定义CSS样式_markdown css-程序员宅基地

文章浏览阅读5.8k次。前言当我第一次接触到Markdown时,我就深深爱上了它。这简洁的界面,编程式的书写都令我爱不释手,最重要的是,还能够支持自定义html、css。自定义CSS样式说到Markdown,就不得不提及Typora这个软件,本例子即是在此软件的环境下完成。想要自定义CSS,首先得有一定的htm,css基础。1.寻找Typora的主题CSS文件确认typora软件用的主题文件 -> 外观 -> 打开主题文件 -> 找到对应的css文件,因为我用的主题是Night,所以我应该找nigh_markdown css

Python PEP8 命名规范_在python中,哪种变量命名方式是符合pep 8标准的-程序员宅基地

文章浏览阅读2.7k次。https://blog.csdn.net/ratsniper/article/details/78954852#class-names-%E7%B1%BB%E5%90%8D_在python中,哪种变量命名方式是符合pep 8标准的

将pycharm打印出来的东西保存到txt_pycharm 如何下载打印的数据-程序员宅基地

文章浏览阅读2.7k次。因为特殊需要需要把打印的东西保存下来,因此记笔记:# 创建一个txt文件,文件名为save_result.txtdef text_create(name): # 此处是服务器地址,可以改为本地 desktop_path = "/home/xxx/GraphNN/" # 新创建的txt文件的存放路径 full_path = desktop_path + name + '.txt' # 也可以创建一个.doc的word文档 file = open(full_path_pycharm 如何下载打印的数据

新思科技调查:提升软件质量与安全性是开发人员的首要关注点_员工对软件质量的改进和对项目稳定性、安全性的重要贡献-程序员宅基地

文章浏览阅读347次。在软件开发过程中,软件质量管理、程序的正常运营以及应用程序的安全性等都需要专门的检测。在部分企业,这些工作由软件测试工程师来完成。不过目前在中国软件测试工程师的人才缺口仍然比较大。根据美国新思科技公司最新的一份调查,软件的质量与安全是开发人员最关注的两个指标。此外,缺乏熟练的专业人才和培训是全面实施软件安全计划(SSI)的最大挑战。近日,在TiD2018质量竞争力大会上,新思科技软件..._员工对软件质量的改进和对项目稳定性、安全性的重要贡献

【数据结构】单链表的相关操作--创建-插入-删除-查找_单链表插入结点失败-程序员宅基地

文章浏览阅读1.4k次,点赞3次,收藏5次。文章目录单链表的相关操作单链表的创建单链表的插入按位序插入指定结点的后插操作指定结点的前插操作单链表的删除按位序删除指定结点的删除单链表的查找按位查找按值查找单链表的相关操作单链表的创建关于带头结点与不带头结点,不带头结点表示指针指向的第一个结点就是要存放数据的结点,而带头结点表示指针指向的第一个结点内数据域不存任何数据,其指向的下一个结点才是存放数据的第一个结点。两者看似无区别,实际上区别很大:/*不带头结点*/typedef struct LNode { //定义单链表结点类型 Ele_单链表插入结点失败

推荐文章

热门文章

相关标签