14周Ardunio和HAL库函数编程

Ardunio和HAL库函数编程

一、基于Ardunio 的STM32板子的串口通信

1、开发环境

开发软件: Ardunio IDE
开发板:stm32f103指南者开发板

2、 Ardunio IDE的安装

下载链接:Ardunio IDE
提取码:q251
(1)根据链接下载好压缩包后,解压
双击安装,根据提示完成

(2)安装好后,找到安装位置,然后
将Arduino_STM32复制到Arduino IDE安装目录下的hareware下


(3)打开Arduion软件,查看菜单栏\工具\开发板
如图,可以看见STM32各系列的芯片
在这里插入图片描述

3、配置开发板支持库

点击如图位置

输入ARM,点击安装,等待完成

二、完成STM32板子的串口通信

1、选择芯片

按照下图方式配置环境要求



2、连接开发板

直接用usb连接即可

将BOOT0与3v3相连,BOOT1与GND相连,RXD与A9相连,TXD与A10相连

3、在Ardunio写入程序,烧到板子

程序代码如下:

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

点击端口,选择串口3

运行程序,烧到板子
点击这图中两个图标,验证,上传

4、运行结果

开发板小灯闪烁情况

点击工具中的串口监视器,查看输出情况

设置波特率为115200
1)持续向串口输出“Hello world!”;2)当接收到“stop!”时,停止输出。

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

ST为开发者提供了非常方便的开发库。到目前为止,有标准外设库(STD库)、HAL库、LL库 三种。

1、标准外设库

标准外设库(Standard Peripherals Library)是对STM32芯片的一个完整的封装,包括所有标准器件外设的器件驱动器。标准库都是基于寄存器的操作。该函数库还包括每一个外设的驱动描述和应用实例,为开发者访问底层硬件提供了一个中间API,通过使用固件函数库,无需深入掌握底层硬件细节,开发者就可以轻松应用每一个外设。因此,使用固态函数库可以大大减少用户的程序编写时间,进而降低开发成本。每个外设驱动都由一组函数组成,这组函数覆盖了该外设所有功能。每个器件的开发都由一个通用API (application programming interface 应用编程界面)驱动,API对该驱动程序的结构,函数和参数名称都进行了标准化。

2 、HAL库

HAL库是ST公司提供的新标准库,包含在ST为新的标准库注册了一个新商标:STMCube™当中。可以说HAL库就是用来取代之前的标准外设库的。相比标准外设库,STM32Cube HAL库表现出更高的抽象整合水平,HAL API集中关注各外设的公共函数功能,这样便于定义一套通用的用户友好的API函数接口,从而可以轻松实现从一个STM32产品移植到另一个不同的STM32系列产品。HAL库是ST未来主推的库,从前年开始ST新出的芯片已经没有STD库了,比如F7系列。现在,ST主推HAL库,目前,HAL库已经支持STM32全线产品

3、试玩stduino IDE体会

stduino IDE是一款面向32位处理器快速入门学习的集成开发平台,已率先支持Arduino_Core_STM32框架,集聚快捷、高效、免费、开源、易得于一身,软件还集成了GDB调试功能。
安装连接:Stduino
在这里插入图片描述

4、总结

与使用Keil 5实现串口通信相比,基于Arduino IDE软件的STM32串口通信更为方便,程序也更加简洁。以上就是基于Ardunio 完成STM32开发板的串口通信程序。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值