Ardunio和HAL库函数编程

Ardunio下的STM32串口通信

一、安装Ardunio IDE软件
双击arduino-1.8.12-windows.exe正常安装,一直按默认方式安装下去就行。
二、将打包文件中的Arduino_STM32整个文件夹拷贝到Arduino IDE安装目录下的hareware下
在这里插入图片描述
之后打开Arduion软件查看菜单栏\工具\开发板…就能看见STM32各系列的芯片了。
三、在Arduion中安装编译支持文件
菜单栏\工具\开发板…\第一栏的开发板管理器
在这里插入图片描述
输入ARM关键字搜索,选中Cortex-M3系列的编译支持文件并安装,安装过程可能需要几分钟,耐心等一会。待安装完成,退出开发板管理器。
四、安装STM32固件烧录软件
在这里插入图片描述
开发板: Genuic STM32F103Z series
Variant:STM32F103ZE
Upload mode:serial
CPUSpeed:72Mhz
Optimize:Smallest(default)
五、编写代码并编译

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

点击√编译:
在这里插入图片描述
显示编译完成,再点击√右边的箭头,程序烧录成功
在Arduino菜单栏\工具中打开串口监视器,看到不断打印的Hello World!说明环境已经配置好了,就可以按照Arduino模式开发STM32了。
在这里插入图片描述

开发板灯闪:
在这里插入图片描述
详细过程见:使用Arduino IDE开发STM32F10X

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

标准库都是基于寄存器的操作。寄存器版本使用较麻烦,每个设置都要去查看芯片datasheet,好处是可以让你熟悉芯片的寄存器配置。库函数是基于寄存器版本进行二次封装后推出的,它的优势就是寄存器版本的劣势,方便了使用,不再需要手动去配置寄存器,使用更方便了。但是它的劣势就是HAL的优势,就是每次修改MCU功能,都需要手动去修改功能,而且自己修改也不能保证正确性,程序代码在不同MCU之间的移植性不强。
HAL库,HAL是Hardware Abstraction Layer的缩写,中文名称是:硬件抽象层,HAL库工程一般使用Cube软件来生成工程。HAL库是ST公司为STM32的MCU最新推出的抽象层嵌入式软件,更方便的实现跨STM32产品的最大可移植性。优势就是不需要开发工程师再关注所用MCU型号,只需要专注所以要的功能软件开发工作。而且是未来主推的方向,正在不断的推出更新。HAL库推出的同时,也加入了很多第三方的中间件,有RTOS,USB,TCP / IP和图形等等。和标准库对比起来,STM32的HAL库更加的抽象,ST最终的目的是要实现在STM32系列MCU之间无缝移植,甚至在其他MCU也能实现快速移植。

国人版的MCU集成开发平台 stduino IDE

stduino IDE官网:stduino IDE官网
在这里插入图片描述
Stduino IDE是一款面向32位处理器快速入门学习的集成开发平台,目前已经支持Arduino_Core_STM32框架,集聚快捷、高效、免费、开源、易得于一身,软件还集成了GDB调试功能。它页面简洁,操作简单,同时是国人开发,因此操作上手更快。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值