Young87

SmartCat's Blog

So happy to code my life!

游戏开发交流QQ群号60398951

当前位置:首页 >跨站数据测试

Ardunio的stm32f103指南者串口通信

1.用Ardunio IDE完成stm32f103指南者的串口通信。

①安装Ardunio IDE

下载解压安装Ardunio,一直默认安装就可以,选择路径不要有中文。
在这里插入图片描述

②配置Ardunio IDE

将打包文件中的Arduino_STM32整个文件夹拷贝到Arduino安装目录下的hareware下。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
按照步骤安装完成后,在菜单栏\工具\开发板选择芯片类型,寝室里使用的是stm32f103指南者,所以选择为Generic STM32F103V series,然后Variant,Upload method,CPU Speed,Optimize这几个的选择如下
在这里插入图片描述

③连接stm32f103指南者开发板

直接用usb线把开发板与电脑相连。
在这里插入图片描述

④烧录程序(stm32f103指南者)

通过代码完成:
持续向串口输出“Hello world!”;
当接收到“stop”时,停止输出。
小灯闪烁。

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

选择连接的串口。
在这里插入图片描述
然后依次点击验证,烧录。
在这里插入图片描述
然后小灯开始闪烁,串口收到的信息点击串口监视器及可看到
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

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

对于标准库,STM32有非常多的寄存器,而导致了开发困难,所以为此ST公司就为每款芯片都编写了一份库文件,在这些 .c .h文件中,包括一些常用量的宏定义,把一些外设也通过结构体变量封装起来,如GPIO口时钟等。所以我们只需要配置结构体变量成员就可以修改外设的配置寄存器,从而选择不同的功能。也是目前最多人使用的方式,也是学习STM32接触最多的一种开发方式。
HAL库是ST公司目前主力推的开发方式,全称就是Hardware Abstraction Layer(抽象印象层)。它的出现比标准库要晚,但其实和标准库一样,都是为了节省程序开发的时期,而且HAL库尤其的有效,如果说标准库把实现功能需要配置的寄存器集成了,那么HAL库的一些函数甚至可以做到某些特定功能的集成。也就是说,同样的功能,标准库可能要用几句话,HAL库只需用一句话就够了。并且HAL库也很好的解决了程序移植的问题,不同型号的stm32芯片它的标准库是不一样的,而使用HAL库,只要使用的是相通的外设,程序基本可以完全复制粘贴。

3.stduino IDE使用体会

用起来比较简单,学起来相对来说容易操作和理解。而且开发很高效便捷。

除特别声明,本站所有文章均为原创,如需转载请以超级链接形式注明出处:SmartCat's Blog

上一篇: 深度优化搜素(dfs)

下一篇: Arduino+nRF24L01多按键远程无线控制(接收端)

精华推荐