一、安装Arduino IDE及程序目的
1.1Arduino IDE简介及下载
Arduino IDE开发的优点是更简单,易用,上手,适合新手使用。缺点是省去了更多代码配置环节,不便于底层理解。但这不影响Arduino IDE开发的强大性,一般情况下开发板实现相同的功能,Arduino IDE开发比keil开发使用更少的代码就能实现,这一点有点类似编程界的Python与其他编程语言的对比吧。想在底层方面了解更多,如亲自操作开发板寄存器的话,建议还是使用keil+库函数开发吧。
配置Arduino IDE开发STM32F10X的环境
1.2程序目的
在Ardunio 完成STM32板子的串口通信程序:
1)持续向串口输出“Hello world!”
2)当接收到“stop!”时,停止输出。
1.3Arduino IDE配置
配置流程:
一、先安装好Arduino IDE
双击arduino-1.8.12-windows.exe正常安装,一直按默认方式安装下去就行。
二、将打包文件中的Arduino_STM32整个文件夹拷贝到Arduino IDE安装目录下的hareware下
三、打开Arduino安装编译支持文件
工具开发板开发板管理器,输入ARM关键字搜索,选中Cortex-M3系列的编译支持文件并安装
选择板子
二、程序实现
2.1代码展示
int flag=1;
char Stop[]="stop";
void setup() {
pinMode(PB5, OUTPUT);
Serial.begin(115200);
}
void loop() {
char inByte[50];
int i=0,s=0;
char accepted[50];
while (Serial.available()> 0)
{
accepted
= Serial.read();
delay(10);
if(Stop==accepted)
s+=1;
i++;
}
if(s==4)
{
flag=0;
Serial.println("已停止发送n");
s=0;
}
if (flag==1)
{
Serial.println("Hello World!");
delay(1000);
}
}
2.2程序调试及结果
选择端口
三、基于标准库函数与基于HAL库函数的stm32编程方式的差异
3.1标准外设库
• 标准外设库(Standard Peripherals Library)是对STM32芯片的一个完整的封装,包括所有标准器件外设的器件驱动器。这应该是目前使用最多的ST库,几乎全部使用C语言实现。但是,标准外设库也是针对某一系列芯片而言的,没有可移植性。
3.2HAL库
• HAL库是ST公司提供的新标准库,包含在ST为新的标准库注册了一个新商标:STMCube™当中。可以说HAL库就是用来取代之前的标准外设库的。相比标准外设库,STM32Cube HAL库表现出更高的抽象整合水平,HAL API集中关注各外设的公共函数功能,这样便于定义一套通用的用户友好的API函数接口,从而可以轻松实现从一个STM32产品移植到另一个不同的STM32系列产品。HAL库是ST未来主推的库,从前年开始ST新出的芯片已经没有STD库了,比如F7系列。现在,ST主推HAL库,目前,HAL库已经支持STM32全线产品。
3.3比较差异
• 新芯片现在只推出HAL库,HAL库与标准库比较,所用的API函数不一样,两者也相互独立,优势在于可以用cubeMX生成代码。(ST专门为其开发了配套的桌面软件STMCubeMX,开发者可以直接使用该软件进行可视化配置,大大节省开发时间。)
四、Stduino IDE体会
4.1Stduino IDE
•Stduino IDE官方网站
• Stduino IDE是一款面向32位处理器快速入门学习的集成开发平台,目前已经支持Arduino_Core_STM32框架,集聚快捷、高效、免费、开源、易得于一身,软件还集成了GDB调试功能。
• Stduino IDE相对于Arduino IDE来说,功能确实更加强大。不过软件界面更加复杂,学习难度更高。
• 已经有了Keil、Ardunio,是否还有必要“再造车轮”?
很有必要,尽管软件的上手难易程度也是一个很重要的因素,但软件本来就是在不断进步,功能的强大可以很方便于使用,以及即使在某些情况下Stduino IDE若不能使用,也有相应的替代品Stduino IDE来以不至于没有软件可用。
一、安装Arduino IDE及程序目的
1.1Arduino IDE简介及下载
Arduino IDE开发的优点是更简单,易用,上手,适合新手使用。缺点是省去了更多代码配置环节,不便于底层理解。但这不影响Arduino IDE开发的强大性,一般情况下开发板实现相同的功能,Arduino IDE开发比keil开发使用更少的代码就能实现,这一点有点类似编程界的Python与其他编程语言的对比吧。想在底层方面了解更多,如亲自操作开发板寄存器的话,建议还是使用keil+库函数开发吧。
配置Arduino IDE开发STM32F10X的环境
1.2程序目的
在Ardunio 完成STM32板子的串口通信程序:
1)持续向串口输出“Hello world!”
2)当接收到“stop!”时,停止输出。
1.3Arduino IDE配置
配置流程:
一、先安装好Arduino IDE
双击arduino-1.8.12-windows.exe正常安装,一直按默认方式安装下去就行。
二、将打包文件中的Arduino_STM32整个文件夹拷贝到Arduino IDE安装目录下的hareware下
三、打开Arduino安装编译支持文件
工具开发板开发板管理器,输入ARM关键字搜索,选中Cortex-M3系列的编译支持文件并安装
选择板子
二、程序实现
2.1代码展示
int flag=1;
char Stop[]="stop";
void setup() {
pinMode(PB5, OUTPUT);
Serial.begin(115200);
}
void loop() {
char inByte[50];
int i=0,s=0;
char accepted[50];
while (Serial.available()> 0)
{
accepted
= Serial.read();
delay(10);
if(Stop==accepted)
s+=1;
i++;
}
if(s==4)
{
flag=0;
Serial.println("已停止发送n");
s=0;
}
if (flag==1)
{
Serial.println("Hello World!");
delay(1000);
}
}
2.2程序调试及结果
选择端口
三、基于标准库函数与基于HAL库函数的stm32编程方式的差异
3.1标准外设库
• 标准外设库(Standard Peripherals Library)是对STM32芯片的一个完整的封装,包括所有标准器件外设的器件驱动器。这应该是目前使用最多的ST库,几乎全部使用C语言实现。但是,标准外设库也是针对某一系列芯片而言的,没有可移植性。
3.2HAL库
• HAL库是ST公司提供的新标准库,包含在ST为新的标准库注册了一个新商标:STMCube™当中。可以说HAL库就是用来取代之前的标准外设库的。相比标准外设库,STM32Cube HAL库表现出更高的抽象整合水平,HAL API集中关注各外设的公共函数功能,这样便于定义一套通用的用户友好的API函数接口,从而可以轻松实现从一个STM32产品移植到另一个不同的STM32系列产品。HAL库是ST未来主推的库,从前年开始ST新出的芯片已经没有STD库了,比如F7系列。现在,ST主推HAL库,目前,HAL库已经支持STM32全线产品。
3.3比较差异
• 新芯片现在只推出HAL库,HAL库与标准库比较,所用的API函数不一样,两者也相互独立,优势在于可以用cubeMX生成代码。(ST专门为其开发了配套的桌面软件STMCubeMX,开发者可以直接使用该软件进行可视化配置,大大节省开发时间。)
四、Stduino IDE体会
4.1Stduino IDE
•Stduino IDE官方网站
• Stduino IDE是一款面向32位处理器快速入门学习的集成开发平台,目前已经支持Arduino_Core_STM32框架,集聚快捷、高效、免费、开源、易得于一身,软件还集成了GDB调试功能。
• Stduino IDE相对于Arduino IDE来说,功能确实更加强大。不过软件界面更加复杂,学习难度更高。
• 已经有了Keil、Ardunio,是否还有必要“再造车轮”?
很有必要,尽管软件的上手难易程度也是一个很重要的因素,但软件本来就是在不断进步,功能的强大可以很方便于使用,以及即使在某些情况下Stduino IDE若不能使用,也有相应的替代品Stduino IDE来以不至于没有软件可用。
举报