Ardunio和HAL库函数编程
软件安装以及配装
百度云链接
提取码:q251
打开arduino-1.8.12-windows.exe进行安装
将文件中的Arduino_STM32整个文件夹拷贝到Arduino IDE安装目录下的hardware下
打开Arduino,点击工具-开发板,检查是否成功
可以看到下一级菜单目录中有STM32F1的板子
点击工具-开发板-开发板管理器搜索ARM安装编译支持文件
打开flash_loader_demo_v2.8.0.exe,插入开发板
按下图进行选择调试
烧录测试
代码:
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); // 延迟
}
}
编译、烧录
标准库函数与HAL库函数的stm32编程方式差异
标准外设库(Standard Peripherals Library)是对STM32芯片的一个完整的封装,包括所有标准器件外设的器件驱动器。标准库都是基于寄存器的操作。HAL库,Hardware Abstraction Layer的缩写,即硬件抽象层,HAL库工程一般使用Cube软件来生成工程。HAL库是ST公司为STM32的MCU最新推出的抽象层嵌入式软件,更方便的实现跨STM32产品的最大可移植性。相比标准外设库,STM32Cube HAL库表现出更高的抽象整合水平,HAL API集中关注各外设的公共函数功能。HAL库优点在于:便于定义一套通用的用户友好的API函数接口,从而可以轻松实现从一个STM32产品移植到另一个不同的STM32系列产品。和标准库对比起来,STM32的HAL库更加的抽象,ST最终的目的是要实现在STM32系列MCU之间无缝移植,甚至在其他MCU也能实现快速移植。
stduino IDE的使用体验
作为一个国产MCU集成平台, stduino IDE使用起来感觉更加方便,更加符合国人操作习惯,同时功能很强大,老师提出这样一个问题:已经有了Keil、Ardunio,觉得是否还有必要“再造车轮”,我认为“再造车轮”是有必要的,任何平台都有自己的适用人群和优势弊端,技术的革新意味着生产力的进步,这是非常有必要的