Arduino IDE完成stm32的串口通信

一、安装Arduino IDE 并完成相关配置

1.下载Arduino IDE 并进行安装
在这里插入图片描述
2.将安装包下面的Arduino-STM32文件夹复制到安装目录下(一般在C盘)的hareware文件夹中
在这里插入图片描述
3.打开Arduino,点开工具-开发板-开发管理器,输入ARM进行搜索,并选择Cortex-M3进行安装
在这里插入图片描述
4.安装过后再次点击工具进行配置
具体如下
在这里插入图片描述

二、进行编译烧录

1.任务如下:持续串口输出:Hello world!
当接收到 stop 时,停止输出。
代码如下:

 int flag=1;   
char Stop[]="stop\n";
void setup() {
//初始化

Serial.begin(115200);
}
void loop() {
int i=0,flag_s=0;
char inByte[50];

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(1000); // 延迟
}
}

2.先点击验证,再点击烧录,每次烧录前要按一下RESET键
在这里插入图片描述
3.点开工具-串口监视器,可以看到串口收到的消息
在这里插入图片描述
在这里插入图片描述

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

1、HAL库的出现比标准库要晚,但其实和标准库一样,都是为了节省程序开发的时期,而且HAL库尤其的有效,如果说标准库把实现功能需要配置的寄存器集成了,那么HAL库的一些函数甚至可以做到某些特定功能的集成。也就是说,同样的功能,标准库可能要用几句话,HAL库只需用一句话就够了。
2、HAL库也很好的解决了程序移植的问题,不同型号的stm32芯片它的标准库是不一样的,例如在F4上开发的程序移植到F3上是不能通用的,而使用HAL库,只要使用的是相通的外设,程序基本可以完全复制粘贴,注意是相通外设,意思也就是不能无中生有,例如F7比F3要多几个定时器,不能明明没有这个定时器却非要配置,但其实这种情况不多,绝大多数都可以直接复制粘贴。
3.使用stduino IDE的体会
编程语言较为简单,比起keil,stduino极易掌握,同时有着足够的灵活性。不需要太多的单片机基础、编程基础,简单学习后,可以快速的进行开发,自带程序烧录,自带串口调试,软件界面简洁。stduino IDE可以在Windows、Macintosh OS X、Linux三大主流操作系统上运行。而且Arduino不只是开发板,还是开源的电子平台。

### 使用 Arduino IDE 进行 STM32 开发的教程和配置方法 #### 配置开发环境 为了在 Arduino IDE 中实现对 STM32 芯片的支持,需要完成以下几个关键步骤: 1. **安装 Arduino IDE**: 下载并安装最新版本的 Arduino IDE。推荐使用官方发布的稳定版[^1]。 2. **添加 STM32 板管理地址**: 打开 Arduino IDE 后,进入 `文件 -> 偏好设置`,在 “附加开发板管理器网址” 字段中输入以下 URL 地址: ``` https://raw.githubusercontent.com/stm32duino/BoardManagerFiles/master/boards.txt ``` 添加完成后保存设置[^2]。 3. **安装 STM32 支持包**: 在 Arduino IDE 中打开 `工具 -> 开发板 -> 开发板管理器`,搜索关键词 `STM32` 并找到由 `STMicroelectronics` 提供的开发包。点击安装按钮完成安装过程。 4. **选择目标开发板**: 安装完成后,在 `工具 -> 开发板` 列表中可以看到多个 STM32 系列的选项。根据实际使用的硬件型号选择对应的开发板类型[^3]。 #### 烧录程序到 STM32 设备 烧录程序可以通过 SWD 或者串口方式进行操作: 1. **SWD 方式**: 如果设备配备了 ST-LINK 接口,则可以利用该接口通过 SWD 协议下载固件。确保已正确安装 ST-LINK 的驱动程序,并按照提示连接调试器与目标板。 2. **串口方式**: 对于某些支持 UART 引脚作为引导加载程序入口的 STM32 微控制器来说,也可以采用 USB-TTL 转接模块来上传代码。此时应特别留意所选 COM 口是否匹配当前连接状态下的端口号。 #### 示例代码 - 点亮 LED 下面展示一段简单的例子用于验证整个流程是否正常工作——点亮一个 GPIO 上外接的 LED: ```cpp // 定义引脚编号为 PA5 (具体取决于您的电路设计) const int ledPin = PA5; void setup() { pinMode(ledPin, OUTPUT); // 设置指定引脚模式为输出 } void loop() { digitalWrite(ledPin, HIGH); // 将引脚设为高电平 delay(1000); // 延迟一秒 digitalWrite(ledPin, LOW); // 将引脚设为低电平 delay(1000); // 再次延迟一秒 } ``` 上述代码会使得连接至定义好的GPIO管脚上的LED灯以每秒一次频率闪烁。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值