完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
一、安装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来以不至于没有软件可用。 |
|
|
|
只有小组成员才能发言,加入小组>>
调试STM32H750的FMC总线读写PSRAM遇到的问题求解?
1606 浏览 1 评论
X-NUCLEO-IHM08M1板文档中输出电流为15Arms,15Arms是怎么得出来的呢?
1538 浏览 1 评论
969 浏览 2 评论
STM32F030F4 HSI时钟温度测试过不去是怎么回事?
681 浏览 2 评论
ST25R3916能否对ISO15693的标签芯片进行分区域写密码?
1584 浏览 2 评论
1861浏览 9评论
STM32仿真器是选择ST-LINK还是选择J-LINK?各有什么优势啊?
642浏览 4评论
STM32F0_TIM2输出pwm2后OLED变暗或者系统重启是怎么回事?
514浏览 3评论
528浏览 3评论
stm32cubemx生成mdk-arm v4项目文件无法打开是什么原因导致的?
501浏览 3评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-20 03:38 , Processed in 0.655220 second(s), Total 78, Slave 62 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号