在Arduino 完成STM32板子的串口通信程序


要求

安装 Ardunio IDE 和相关软件支持库,在Ardunio 完成STM32的串口通信程序:
1)持续向串口输出"Hello world"。
2)当接收到“stop!”时,停止输出。

一、软件安装

参考:https://blog.csdn.net/quansirx/article/details/104906563

在这里插入图片描述下载后将打包文件中的Arduino_STM32整个文件夹拷贝到Arduino IDE安装目录下的hareware下
拷贝之后在Arduino中进行检查下:工具>开发板,在下一级菜单目录下就有STM32F1系列的板子了。
在这里插入图片描述在Arduion中安装编译支持文件
菜单栏>工具>开发板>开发板管理器,进行搜索ARM 安装这个(安装过程可能有点慢)。
在这里插入图片描述

安装串口烧录软件flash_loader_demo_v2.8.0.exe

在这里插入图片描述一直点next安装就行
在这里插入图片描述在这里插入图片描述

二、编译及烧录

配置
在这里插入图片描述

文件-首选项 也配置一下
在这里插入图片描述代码

int flag=1;   
char Stop[]="stop\n";
void setup() {
//初始化
pinMode(PB0, OUTPUT);//PB0为绿色,PB1为蓝色,PB5为红色,可根据需要改动
Serial.begin(115200);
}
void loop() {
int i=0,flag_s=0;
char inByte[50];
digitalWrite(PB0, HIGH); //小灯亮
delay(500); // 延迟
digitalWrite(PB0, LOW); //小灯灭
delay(500); // 延迟
while (Serial.available()> 0)     //当发送缓冲区有数据时
{
        inByte[i] = Serial.read();    //从串口的缓冲区取出并读取一个Byte的数据
        delay(10); 
        i++ ;                              
}
if(Stop[i]=inByte[i])
{
  if(Stop[i-1]==inByte[i-1]&&Stop[i-2]==inByte[i-2]&&Stop[i-3]==inByte[i-3])
  {
  flag=0;
  Serial.println("收到!");
  }//当收到stop命令时停止并回复收到
}
if(flag==1)
{  
Serial.println("Hello World!");//向串口发送数据
delay(100); // 延迟
}
}

在这里插入图片描述在这里插入图片描述
在这里插入图片描述

三、结果

点编译和上传
在这里插入图片描述
点工具-串口监视器
(波特率用115200)
在这里插入图片描述输入stop停止输出
在这里插入图片描述

在这里插入图片描述

四、标准库函数与HAL库函数的stm32编程方式差异

标准外设库(Standard Peripherals Library)是对STM32芯片的一个完整的封装,包括所有标准器件外设的器件驱动器。这应该是目前使用最多的ST库,几乎全部使用C语言实现。但是,标准外设库也是针对某一系列芯片而言的,没有可移植性。
HAL库是用来取代之前的标准外设库的。相比标准外设库,STM32Cube HAL库表现出更高的抽象整合水平,HAL API集中关注各外设的公共函数功能,这样便于定义一套通用的用户友好的API函数接口,从而可以轻松实现从一个STM32产品移植到另一个不同的STM32系列产品。

五、国人版的MCU集成开发平台

stduino IDE网址:http://www.stduino.com/pindex.php
在这里插入图片描述
Stduino IDE是一款面向32位处理器快速入门学习的集成开发平台,支持Arduino_Core_STM32框架,集聚快捷、高效、免费、开源、易得于一身,软件还集成了GDB调试功能。与KEIL,Ardunio相比较页面简洁,操作简单,同时是国人开发,因此操作上手更快。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值