你用过哪些编程语言开发单片机?

单片机有很多叫法,mcu(microcontroller unit,微控制单元),又叫微控制器等。   随着物联网的普及,单片机现在的需求越来越大了。同时,随着单片机性能和资源的增强,开发单片机的语言也越来越多了。   那么,你知道单片机目前支持哪些主流开发语言吗?  
1、汇编语言 说明:汇编语言是一种底层(低级)的、与硬件紧密相关的编程语言。它直接映射到机器语言,允许程序员直接控制硬件资源。  
举例:用汇编语言写一段51单片机(at89s52)点灯程序。
org 0x0000 ; 程序起始地址mov p1, #0x00 ; 初始化p1口为低电平main: mov p1.0, #1 ; 点亮led,将p1.0置为高电平 acall delay ; 调用延时子程序 mov p1.0, #0 ; 熄灭led,将p1.0置为低电平 acall delay ; 调用延时子程序 sjmp main ; 无限循环delay: ; 延时子程序 mov r2, #50delay_loop: djnz r2, delay_loop    ret    2、c语言说明:c语言是最常用的一种用于单片机的开发语言,也是一种高级编程语言,具有较好的可移植性和可读性。对于单片机,通常使用嵌入式c来进行开发。   举例:用c语言写一段stm32单片机点灯程序。#include stm32f4xx_hal.hint main(void){ hal_init(); systemclock_config(); __hal_rcc_gpioa_clk_enable(); // 启用gpioa时钟 gpio_inittypedef gpio_initstruct = {0}; // 配置gpio引脚 gpio_initstruct.pin = gpio_pin_5; // 假设led连接到gpioa的引脚5 gpio_initstruct.mode = gpio_mode_output_pp; // 推挽输出 gpio_initstruct.pull = gpio_nopull; // 无上下拉 gpio_initstruct.speed = gpio_speed_freq_low; // 低速 hal_gpio_init(gpioa, &gpio_initstruct); while (1) { hal_gpio_writepin(gpioa, gpio_pin_5, gpio_pin_set); // 点亮led hal_delay(1000); // 延时1秒 hal_gpio_writepin(gpioa, gpio_pin_5, gpio_pin_reset); // 关闭led hal_delay(1000); // 延时1秒 }}  3、c++语言说明:c++是一种基于c语言的面向对象编程语言,尽管在单片机领域使用相对较少,但还是一些现代的单片机也开始支持c++。   举例:用c++语言写一段stm32单片机点灯程序。int main(void){ led_class led1(gpiof, gpio_pin_7, rcc_apb2periph_gpiof); led_class led2(gpiof, gpio_pin_8, rcc_apb2periph_gpiof); led1.init(); led2.init(); while(1) { led1.open(); led2.open(); delay(10); led1.close(); led2.close(); delay(10); }}  当然,这里定义的类和调用的函数接口,请看我之前推送的文章《单片机能用c++开发吗?》。   4、python语言说明:python虽然不常用于传统的单片机编程,但一些微控制器如micropython和circuitpython支持python语言,使得开发更加简化。   举例:用micropython语言写一段单片机点灯程序。import machineimport timeled_pin = machine.pin(2, machine.pin.out) # 假设led连接到引脚2while true: led_pin.on() # 点亮led time.sleep(1) # 延时1秒 led_pin.off() # 关闭led time.sleep(1) # 延时1秒  说明一下,这里代码使用的micropython,而不是标准的python。确保你的开发板支持micropython,并已正确安装和配置。在实际的嵌入式开发中,你可能还需要考虑硬件配置、时钟设置以及其他底层细节。   5、其他编程语言 除了以上汇编、c语言、c++、python语言,其实还有极少一些用java语言,但java需要运用虚拟机,需要在高性能的单片机上运行。   还看到有用一种叫ada的编程语言,据说主要用在在一些航空航天和军事应用中得到广泛应用,具有强大的静态类型检查和并发编程支持。  
除了上面说到的汇编、c语言、c++、python语言,你还想到有哪些?或者你用过哪些编程语言开发单片机?


科创板对LED显示屏企业意味着什么
科里奥利质量流量计安装问题及解决办法
DDR4能否引领新一轮存储变革?
MC8051 IP核基本结构及原理
比特币扩容之争对价格波动的影响
你用过哪些编程语言开发单片机?
马斯克表示特斯拉Model Y加热泵很出色
字符串的KMP算法和BM算法
移动3D显示和微型投影显示市场前景“光明”
新品被喷挤牙膏无创新 其实iPhone也在不断自我超越
微软CEO 未来AI助理会成为组织机构标配
可能被ChatGPT取代的10大高危职位
RJ45水晶头和RJ11水晶头有什么区别?
人类间谍将成为过去 CIA准备会影身的AI间谍
直线电机模组组成的激光切割机你了解吗?
迈拓维矩远程数字KVM在某机关单位机房管理解决方案
美国正酝酿新的加征关税名单,意在用关税抑制中国技术崛起
AI芯片独角兽寒武纪计划在科创板上市
DevEco Studio新特性分享-跨语言调试,让调试更便捷高效
移动报警现在处于什么状态