极客秀
搜索

为了C++尝试放弃Keil5转而使用STM32CubeIDE

从学习51单片机开始我的编程软件一直是Keil5,无论是C51还是MDK总是基于Keil的编程,除了使用TI公司的CCS编程过MSP系列,几乎没有使用过其他的编程IDE(除了编程ESP32的Arduino
IDE)

但是相比于Arduino
IDE,Keil5实在是太糟糕了,首先是不支持C++面向对象的编程(这里可能是我不知道怎么使用,但是使用C++就会异常报错),这导致很多时候开发效率大大的降低,例如前两日我移植美信公司的MAX30100代码就需要将官方例程的C++修改为C语言

而我在Arduino
IDE中使用ESP32开发MAX30100的代码非常简便,直接调用MAX30100的构造函数即可。而在Keil5中则需要耗费大量的时间将C++的代码修改为C语言的代码。

此外,由于Keil的变量定义的问题不同文件之间的数据调用时常会出现问题,也非常影响开发。

而且最近在往上部署FreeRTOS的时候也发现,CubeMX生成的IDE无法在最新版的Keil上兼容,需要对Keil的版本进行下降。

所以我时常在想什么时候就放弃使用Keil5来编程了,尝试新的IDE。

其实好多人没在使用Keil进行编程,而是选择了VsCode来编程STM32,而且VsCode也支持C++的编程,对代码面向对象编程的支持度非常的高。

但是我在尝试一个新的选择:STMCubeIDE。

STM32CubeIDE是我在CubeMX生成代码的时候看到的选项。

所以我认为既然是ST公司官方推出的IDE,那么无论是对于STM32的兼容还是对CubeMX的兼容想必会做的非常优秀。
所以我就去ST的官方下载了STM32CubeIDE去试试水。

安装和启动STM32CubeIDE的过程非常简单并且启动速度也非常的快。

  • ** IDE汉化 **

而且按照网上的教程STM32CubeIDE可以安装中文拓展包。 不过下载的时间非常非常慢(也可能是第一次启动的原因吧)

可以看到IDE汉化成功

  • ** 使用C++ **

我们从一个现有的CubeMX文件中新建工程。

主要语言选择C++

将main.c更改为main.cpp这样子我们就可以使用C++语言的内容啦。

双击CubeMX文件,我们可以直接更改文件,然后修改初始化代码,可以快速更改代码。


/* USER CODE BEGIN Includes */class Test{public:  void LED0Tog()  {    HAL_GPIO_TogglePin(GPIOF, GPIO_PIN_9);  }  void LED1Tog()  {    HAL_GPIO_TogglePin(GPIOF, GPIO_PIN_10);  }};/* USER CODE END Includes *

调用类的定义然后运行代码编译。

编译并没有问题,代码也是可以正常的运行。

1.转载请保留原文链接谢谢!
2.本站所有资源文章出自互联网收集整理,本站不参与制作,如果侵犯了您的合法权益,请联系本站我们会及时删除。
3.本站发布资源来源于互联网,可能存在水印或者引流等信息,请用户擦亮眼睛自行鉴别,做一个有主见和判断力的用户。
4.本站资源仅供研究、学习交流之用,若使用商业用途,请购买正版授权,否则产生的一切后果将由下载用户自行承担。
5.联系方式(#替换成@):pm#vimge.com

  相关内容