Ardunio 下的stm32f103指南者串口通信

   日期:2020-12-14     浏览:95    评论:0    
核心提示:Ardunio 和HAL库函数编程

Ardunio IDE完成stm32f103指南者的串口通信

  • 1.用Ardunio IDE完成stm32f103指南者的串口通信。
    • 安装Ardunio IDE
    • 配置Ardunio IDE
    • 连接stm32f103指南者开发板
    • 烧录程序(stm32f103指南者)
  • 2.基于标准库函数与基于HAL库函数的stm32编程方式的差异。
  • 3.stduino IDE使用体会
  • 4.参考文章:

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

安装Ardunio IDE

链接: Ardunio IDE相关包.
提取码:q251

下载解压后安装Ardunio,一直默认安装就可以,选择路径的话注意不要有中文。

配置Ardunio IDE

将打包文件中的Arduino_STM32整个文件夹拷贝到Arduino安装目录下的hareware下。

然后打开Arduino,点击菜单栏\工具\开发板…\第一栏的开发板管理器

输入ARM关键字搜索,选中Cortex-M3系列的编译支持文件并安装,安装过程可能需要几分钟。

安装完成后,在菜单栏\工具\开发板选择芯片类型,由于我使用的是stm32f103指南者,所以选择为Generic STM32F103V series。

然后Variant,Upload method,CPU Speed,Optimize这几个的选择如下:

连接stm32f103指南者开发板

直接用usb线把开发板与电脑相连即可。
但注意usb线连接的开发板的"usb转串口"这个接口。
然后用跳帽将BOOT0与3v3相连,BOOT1与GND相连,RXD与A9相连,
TXD与A10相连。

烧录程序(stm32f103指南者)

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

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

然后依次点击验证,烧录。(注意每一次烧录文件前一定要按开发板上的RESET按钮

然后小灯开始闪烁,串口收到的信息点击串口监视器及可看到
但要注意该处波特率的设置

效果图如下:

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

标准外设库(Standard Peripherals Library)是对STM32芯片的一个完整的封装,包括所有标准器件外设的器件驱动器,可以让我们写代码时更简洁。这应该是目前使用最多的ST库,几乎全部使用C语言实现。但是,标准外设库也是针对某一系列芯片而言的,没有可移植性。
HAL库是用来取代之前的标准外设库的。相比标准外设库,STM32Cube HAL库表现出更高的抽象整合水平,HAL API集中关注各外设的公共函数功能,这样便于定义一套通用的用户友好的API函数接口,从而可以轻松实现从一个STM32产品移植到另一个不同的STM32系列产品。而且HAL库不光实现了寄存器的集成,还实现了一些特定功能的集成,也就是说标准外设库有时需要用几行代码完成的,HAL库一行代码就可以完成。

3.stduino IDE使用体会

比起keil,stduino极易掌握,同时有着足够的灵活性。不需要太多的单片机基础、编程基础,简单学习后,可以快速的进行开发,自带程序烧录,自带串口调试,软件界面简洁。stduino IDE可以在Windows、Macintosh OS X、Linux三大主流操作系统上运行。而且Arduino不只是开发板,还是开源的电子平台。

4.参考文章:

使用Arduino IDE开发STM32F10X.
在Arduino完成STM32的串口通信.

 
打赏
 本文转载自:网络 
所有权利归属于原作者,如文章来源标示错误或侵犯了您的权利请联系微信13520258486
更多>最近资讯中心
更多>最新资讯中心
0相关评论

推荐图文
推荐资讯中心
点击排行
最新信息
新手指南
采购商服务
供应商服务
交易安全
关注我们
手机网站:
新浪微博:
微信关注:

13520258486

周一至周五 9:00-18:00
(其他时间联系在线客服)

24小时在线客服