北屋教程网

专注编程知识分享,从入门到精通的编程学习平台

C语言开发单片机为什么大多数都采用全局变量的形式?

C语言开发单片机为什么大多数都采用全局变量的形式?


在开始前我有一些资料,是我根据网友给的问题精心整理了一份「单片机的资料从专业入门到高级教程」,

点个关注在评论区回复“888”之后私信回复“888”,全部无偿共享给大家!!!很多时候是为了方便,有时是必须用的。

在飞控里边,计算四个电机的pwm,需要当前姿态xyz三个轴来自i2c,遥控参数俯仰横滚油门转向来自中断或者函数,当前pwm4个来自寄存器或者变量,传参基本做不到。

在中断里边我要接收一堆数据,我必须按照来的顺序保存数据,外部有分析数据,我要知道接收了几个数据。在这里需要一个全局变量的缓冲区,还有一个计数器,保存已经有了几个数据,这个计数用静态变量外部不能清空。

还有很多人诟病的宏定义,一个头文件里几十个宏,都是有目的的,换另一个板子,这个器件从SPI1换SPI2,甚至从STM32换51,你改去吧,有宏定义我直接改宏定义完事。

很多时候一个源文件里边有好多全局变量,但是不少没有在头文件里extern出去,就是这些变量只在这一个文件里边用了,其它地方不用或者用我也不给。

还有说代码烂的,不能说代码不符合你的审美就是烂吧,有问题,键盘给你你写,记住,51单片机4K,stm32有20K,有的能到200K以上的海量内存。

程序员的鄙视链都下伸到单片机了吗?Python鄙视Java,Java鄙视C++和C#,C++和C#相互鄙视同时鄙视C,C再鄙视汇编?不好意思,底层开发对鄙视链不感兴趣,流水的高级语言铁打的C,不对,从定义上C语言也是高级语言。还有说底层老顽固,各种新特性都不用,墨守成规,不学新东西。我为什么要学,为了一个功能搞一套全新的定西,吃我一半内存再给我加一套限制

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言