Ardunio和HAL库函数编程

一、下载Arduino IDE软件

官网(需要钱):
链接: link.

可以提取百度网盘:
链接: link.:
提取码:y8q3
下载完成之后,就可以安装了

在这里插入图片描述
在这里插入图片描述
点工具,开发板,选择开发板管理器

在这里插入图片描述
输入ARM
在这里插入图片描述点击安装。

把Arduino_STM32文件夹拷贝到Arduino\hardware下
在这里插入图片描述

安装烧录软件
在这里插入图片描述
串口连接:
在这里插入图片描述

在这里插入图片描述
打开之后,将STM32核心板连接到电脑
在这里插入图片描述
串口连接:
在这里插入图片描述
在这里插入图片描述
打开gui
在这里插入图片描述

在这里插入图片描述
安装完成;
Ardunio 完成STM32的串口通信
1、任务要求
1)持续向串口输出“Hello world!”;
2)当接收到“stop!”时,停止输出。
2、打开Arduino(进行如下设置)
点开工具,设置成如下:
在这里插入图片描述
输入代码:

int flag=1;               //发送标志位
char Stop[]="stop\n";     //停止命令
char Start[]="begin\n";   //开始命令

void setup() 
{
    Serial.begin(115200); //串口初始化  
}

void loop() 
{
int i=0,flag_s=0,flag_s1=0;
    char inByte[50];
    while (Serial.available()> 0)     //当发送缓冲区有数据时
    {
        inByte[i] = Serial.read();    //从串口的缓冲区取出并读取一个Byte的数据
        delay(10);                   
        
        if(Stop[i]!=inByte[i])       //判断发送数据是否与停止命令相等
             flag_s=0;
        else flag_s=1;
        if(Start[i]!=inByte[i])      //判断发送数据是否与开始命令相等
             flag_s1=0; 
        else flag_s1=1;
        
        i++;
    }
     
    if(flag_s==1)                       //如果与停止命令相等
      {
       flag=0;                      //发送标志位置为0
           Serial.println("已停止发送");
           flag_s=0;                   //初始化判断,防止没有发送数据时一直执行
      }

     if(flag_s1==1)                    //如果与开始命令相等
      { 
           flag=1;   
             Serial.println("开始发送");
           flag_s1=0;                  //初始化判断,防止没有发送数据时一直执行
      }
    
      if (flag==1)                      //判断发送标志位是否为1
    {
        Serial.println("Hello World!");  
        delay(1000);
    }
    
}

编辑上传:
在这里插入图片描述

打开工具
在这里插入图片描述
选择串口监视器,开始发送;
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

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

标准库
这个就是ST以前推出的,哈哈,是不是有种感觉是随着时间推移,这个库函数会退出历史舞台?它的优势在于针对解决了寄存器版本的劣势,方便我们的使用。但是!它的劣势,也就是HAL的优势了!每次修改MCU功能,都要手动修改,自己修改也不能。在不同的MCU间移植性就不是很好了
HAL库
HAL库,HAL是Hardware Abstraction Layer的缩写,中文名称是:硬件抽象层,HAL库工程一般使用Cube软件来生成工程。HAL库是ST公司为STM32的MCU最新推出的抽象层嵌入式软件,更方便的实现跨STM32产品的最大可移植性。优势就是不需要开发工程师再关注所用MCU型号,只需要专注所以要的功能软件开发工作。而且是未来主推的方向,正在不断的推出更新。

总结

以上就是全部内容

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值