一、下载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型号,只需要专注所以要的功能软件开发工作。而且是未来主推的方向,正在不断的推出更新。
总结
以上就是全部内容