Arduino_STM开发记录

开发的软件

Arduino(没有代码补全功能,需要有相关的库的连接才能导入库)
vscode-PlatformIO(个人最推荐,库最全,代码补全效果最好,但在导入库时偶尔会出现BUG)
Stduino(国产软件,代码补全的功能较差,且库的导入方面没有相关的BUG,但程序的下载存在一定的BUG,有待更新)

Arduino-STM32开发使用的库

LL库(该开发的方式是在LL库的基础上进行封装的,与在keil中使用HAL库开发的程序上并没有太大的差距,且因其更高的封装性可大大的降低代码出现的不可预知的BUG,这也意味着程序的运行效率绝对会比寄存器开发低一个档次)

Arduino-STM32开发注意事项

1、Arduino中的程序一般默认时给UNO等开发板准备的,即使说明中加了可以给STM32使用也需要重新分配引脚,因为Arduino与STM32的引脚存在较大的差异。
2、vscode-PlatformIO中的库质量参差不齐,部分库实际上是没法使用的,正式使用之前需要进行测试,而Stduino删除了vscode-PlatformIO中部分不能使用的库。
3、Stduino属于非官方的软件,在软件出现新一个版本时,旧版本的将无法使用,如果在程序中修改了库时最好进行备份,否则在软件更新的过程中会出现丢失。

Arduino-STM32开发

1、W5500模块使用库Ethernet3,其他的库如Ethernet2在测试过程中并没有成功的通信,另外在Ethernet3中需要实用SPI通信 但W5500中默认使用的SPI的引脚不适合STM32使用,需要在W5500的SPI.begin()之前调用应重新配置SPI的引脚。
2、定时器中断使用库STM32_TimerInterrupt,该库通过绑定TIM的方式实现的外部中断。
3、FreeRTOS使用库STM32duino FreeRTOS,该库可以完美的兼容STM32,注意优先级较高的任务中最好不要出现500ms以上的延迟函数,否则会引起优先级较低的任务无法运行。
4、串口通信一般不需要额外添加库,系统默认使用专为STM32设计的HardwareSerial,其中的Serial2、Serial3都是默认的配置STM32中常用的串口引脚的,如果存在引脚分配冲突的问题,需要对串口重新配置引脚,可以使用HardwareSerial重新进行引脚配置。
5、SPI通信使用默认的库,但是一般没有专门为STM32设计的SPI通信的程序,凡是使用Arduino-STM32编程使用到SPI通信的,全部需要重新的分配SPI的引脚。
6、LCD屏的驱动,首先是需要查找正确的显示屏的型号,只要不是新出的显示屏的在vscode-PlatformIO中都可以找到显示屏的驱动程序,特别是SPI驱动的显示屏极其容易使用。
7、程序的下载,STM32程序的下载,软件一般默认的是使用stlink进行下载,而对于使用STM32F103C8T6开发般的用户不太友 好,如果需要使用串口下载软件,最好安装软件Demonstrator GUI,实现STM32程序的串口下载。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值