有谁知道:stm32是用C编程好,还是C++编程好?如果用C++编程速度会不会变慢?

如题所述

人有多大力就办多大事”,STM32的功能远比51、AVR之类的单片机要强大得多,相对来说开发的产品功能比较大,代码也会比较复杂。
首先有完整的框架是非常必须的,我个人认为这里的框架有两层,一个是在STM32上移植现有的操作系统或者一些稳定的代码框架,另外一个是自己的编程风格。
你想很方便的开发相对复杂的东西,建议你首先在STM32上移植一个小型操作系统或一种框架,然后在操作系统之上编写你自己的应用去开发产品。在没有操作系统或框架的情况下开发是非常麻烦的事情。要做到条理清晰的话,那就应该去迎合操作系统或框架的风格去编写代码,这答案并不唯一。 举个简单例子,现在比较热门的STM32F103或STM32F407开发产品,一般会移植一个ucosii或rt-thread操作系统(当然也有移植linux或android的,但我个人很少见),ucosii我没实际开发过我就不说了,像rt-thread这样的实时操作系统,它具有多任务编程,那么我们就需要迎合它的特点,比如我串口作为一个线程,LCD、LED扫描作为一个线程,数据采集作为一个线程,键盘扫描作为一个线程等等,在他们的线程中只各自做自己的事情,然后在增加一个顶层的线程专门来负责处理其他线程所产生的消息事件(或者给其他各线程发送消息事件),顶层的线程是作为一个中心处理线程来合理安排和处理其他各个线程的消息事件。
至于在这方面的提升,只能是通过实践来达到效果,这里的“实践”不是说要完全自己去摸索,你需要有东西来借鉴,因为现在一些操作系统、或框架、或编程风格都是比较成熟,你直接拿来看,看看别人是怎么写的代码,然后自己再去仿照着能不能写的出来,再分析里面的优缺点。你要是还在学校且资源有限,建议你可以花个几百块钱上淘宝买一个开发板,一般的开发板都有各个外设的实验,以及综合实验,或许还会有操作系统或框架的移植和使用
温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2017-10-07
目前主流还是C语言,但要多定义自己的数据类型,多用typedef 封装各种相似数据。 一定要多用自定义结构体类型与枚举类型。 你看了STM32的3.4版或3.5版固件库就知道了。C语言一定要熟的,在Linux下,也是C为主。 当然,C++扩充了自定义的类型。可以用class对任意的对象封装成一个自定义的类型模板,然后用模板去建立与实物对应的对象。 建议先学习Cortex-M3内核,再用C语言写外设程序,参考固件库~本回答被提问者采纳
第2个回答  2011-06-04
不会慢,C++增加了面象对象,C也能编程,问题是
现在的版本都是C++的了。C少,除非你用老掉
牙的TURBO_C追问

我现在是用keil arm做stm32的开发,我现在就徘徊在用C还是用C++写stm32的程序会比较好?

追答

C++是C的改进,肯定比C要方便

第3个回答  2020-11-04
想要明白这个问题,其实就需要明白STM8和STM32之间有些什么差异,包括MCU基本信息、开发难度、以及应用场景等。

站在客观的角度来说,STM8比STM32学起来更容易,C语言功底还不错的朋友,直接上STM32也不是问题。

从大的方向来说,当你对一种MCU掌握的比较透彻,再学其他型号、其他厂商的MCU,相对来说,上手都要容易的多。
第4个回答  2011-06-04
用C会比较好一点吧,简单一点吧!

有谁知道:stm32是用C编程好,还是C++编程好?如果用C++编程速度会不会变...
人有多大力就办多大事”,STM32的功能远比51、AVR之类的单片机要强大得多,相对来说开发的产品功能比较大,代码也会比较复杂。首先有完整的框架是非常必须的,我个人认为这里的框架有两层,一个是在STM32上移植现有的操作系统或者一些稳定的代码框架,另外一个是自己的编程风格。你想很方便的开发相对复...

stm32用什么编程语言
STM32主要使用C语言和C++语言进行编程,但也可以使用其他语言,如Assembly,Python,JavaScript等,这些语言通常通过特定的框架或工具与STM32进行交互。然而,C语言因其高效、可移植性强和硬件接近度高的特点,成为了STM32最常用的编程语言。C语言是一种过程式编程语言,非常适合嵌入式系统和硬件级别的编程,...

不知有没有人对C++开发STM32感兴趣的,来讨论些问题
1. 最简单的,函数重载, 这个语法特性就比C语言的好,还有运算符重载,这些都可以让代码变得更直观(这个等下我用我刚刚拓展的代码来演示一下)2. 命名空间,C语言写大程序一般每个模块都会有个前缀,但是写起来麻烦,其实有时候在一个地方只会用到一个模块的内容,所以用using xxx::xxx感觉会比较方...

stm32用什么软件编程
STM32微控制器的编程可以使用多种软件工具进行开发和调试。其中,STM32CubeIDE是STMicroelectronics官方推出的集成开发环境(IDE),它基于Eclipse平台,提供了代码编辑、编译、调试和固件下载等功能,且集成了STM32Cube软件包,方便配置和使用各种外设和软件组件。此外,Keil MDK也是一款常用的嵌入式开发工具集...

stm32用什么软件编程
首先,Keil MDK是目前最广泛使用的STM32单片机编程环境。它的优点在于界面友好、易操作、用户体验好,深受开发者欢迎。Keil MDK提供了完整的开发工具链,包括编译器、调试器和仿真器,能够满足开发者在STM32开发过程中的各种需求。此外,Keil MDK还支持多种编程语言,如C和C++,方便开发者根据自己的习惯...

STM32固件编程入门指南:基本概念和开发流程
开发环境搭建是固件编程的首要步骤,可以选择官方STM32 CubeIDE集成开发环境或是Keil、IAR等其他IDE。确保已安装并配置好适当编译器和调试器。在STM32编程中,C或C++语言是常用选择。C语言是主流,而C++提供面向对象编程风格,注意管理内存和性能。STM32固件库提供丰富功能和驱动程序,方便配置和操作外设。

在STM32 上使用 C++ 指南
为了在 STM32 上使用 C++,首先需要准备 RT-Thread 源码和 ENV 工具,并确保 RTconfig.py 和 SConstruct 文件支持 C++ 配置。接下来,在 Env 工具中配置工程,选择 RT-Thread Components 中的 C++ features,并生成 mdk5 工程。将示例代码中的 main.cpp 替换到 BSP 中的 main.c 文件,并重新编译...

学arm9还是stm32好,本人电子信息科学与技术专业
arm9偏系统,一般都跑系统的,Linux或者win CE 或者安卓系统,使用C、C++或者java。STM32偏裸机,一般不跑系统,要跑系统也是相对简单的小型系统。个人觉得都有潜力,自己所学的专业与学校的课程安排有关,各个学校的相同专业也会有所不同,这里不好发表评论。

现在比较主流的32位单片机学哪个好
便携仪器、工控、小家电等电子产品用STM32还是比较多的,32位单片机基本都是基于ARM-CORTEX内核,重要是了解其架构和外设怎么用,至于编程无非就是C或者C++。所以我建议你先找个STM32F1系列的单片机来学,学完之后以后就算是用其他家的单片机(比如TI\\ATMEL)也很容易上手的。另外,熟悉后再移植下FreeRTOS...

stm32使用了main.cpp,但配置后会会生成一个main.c替换写好
解决STM32配置后生成主函数问题,可直接在设置中勾选 "Do not generate the main()",避免主函数自动生成,自行在cpp源文件中定义main函数。若配置后生成了主函数main.c,通过以下步骤实现c++与c的混合编程:保留CubeMX生成的文件,新建cpp文件夹放置c++代码。在工程中添加cpp_main.cpp和cpp_main.hpp...

相似回答