嵌入式C基础知识(7)
创始人
2024-05-25 09:52:35
0

是否可以传递任何参数并从 ISR 返回值

不可以。不能传递任何参数并从 ISR 返回值。 ISR 不返回任何内容,并且不允许传递任何参数。 当硬件或软件事件发生时调用 ISR,而代码不会调用它。 这就是为什么不向 ISR 传递参数的原因。 由于代码不调用 ISR,因此没有调用代码来读取 ISR 的返回值。 这就是 ISR 不返回任何值的原因。

extern 关键字的作用

在C语言中,修饰符extern用在变量或者函数的声明前,用来说明此函数/变量是在别处定义,但是要再此处引用。注意extern不能用来修饰局部变量。具体应用示例:

在a.c文件中

unsignedcharkey;voidfunc(void){...}

在main.c文件中

#include"a.h"

externunsignedcharkey;externvoidfunc(void);intmain(){if(key=="a")func();return0;}

局部变量能否和全局变量重名?

能,局部会屏蔽全局。

局部变量可以与全局变量同名,在函数内引用这个变量时,会用到同名的局部变量,而不会用到全局变量。

对于有些编译器而言,在同一个函数内可以定义多个同名的局部变量,比如在两个循环体内都定义一个同名的局部变量,而那个局部变量的作用域就在那个循环体内。

如何理解中断延迟

中断延迟是处理器响应中断请求所需的时钟周期数。 这个时钟周期数是中断请求的断言和中断处理程序的第一条指令之间的计数。

Cortex-M 处理器系列的中断延迟:

Cortex-M 处理器的中断延迟非常低。 下表显示了具有零等待状态存储器系统的 Cortex-M 处理器的中断延迟。

处理器

零等待状态内存的周期

Cortex-M0

16

Cortex-M0+

15

Cortex-M3

12

Cortex-M4

12

Cortex-M7

12

C语言中的声明和定义

函数和变量的声明不会分配内存,但定义会分配相应的内存空间。

函数和变量的声明可以有很多次,但定义只有一次。

函数的定义和声明方式都是默认extern的,即函数默认是全局的。可以采用static实现对函数的隐藏。

变量的声明和定义默认都是局部的,在当前编译单元或者文件中可用。

引用与指针有什么区别?

答:

1) 引用必须被初始化,指针不必。

2) 引用初始化以后不能被改变,指针可以改变所指的对象。

3) 不存在指向空值的引用,但是存在指向空值的指针。

如何减少中断延迟?

有几种方法可以减少 Embedded C 中的中断延迟。中断延迟取决于许多因素。 以下是一些因素的列表:

  • 平台和中断控制器

  • CPU时钟速度

  • 定时器频率

  • 缓存配置

  • 应用程序等

因此,可以使用正确选择平台和处理器来轻松降低中断延迟。还可以通过缩短 ISR 并避免在 ISR 中调用函数来减少中断延迟。

C语言的变量

(1) C语言变量的基本类型有哪些?

五种基本类型:char, int, float, double, void. void是空类型,一般用于限制函数的返回和参数以及用来定义空指针。

(2) 局部变量和全局变量区别?

- 生存周期不同:局部变量存在于模块中,生存期从模块开始到结束。

- 存储位置不同:局部变量保存在栈空间内,栈地址是不固定的,由编译器自动分配和释放,全局变量保存在静态存储区的数据段中。

(3) 局部变量和全局变量是否可以重名?

可以,但是局部变量会屏蔽全局变量,如果在程序中使用因为重名被屏蔽的全局变量,需要在变量前加::。

inta=10;intmain(){inta=9;printf("%d\n",a);//输出局部变量

printf("%d\n",::a);//输出全局变量

return0;}

相关内容

热门资讯

喜欢穿一身黑的男生性格(喜欢穿... 今天百科达人给各位分享喜欢穿一身黑的男生性格的知识,其中也会对喜欢穿一身黑衣服的男人人好相处吗进行解...
发春是什么意思(思春和发春是什... 本篇文章极速百科给大家谈谈发春是什么意思,以及思春和发春是什么意思对应的知识点,希望对各位有所帮助,...
网络用语zl是什么意思(zl是... 今天给各位分享网络用语zl是什么意思的知识,其中也会对zl是啥意思是什么网络用语进行解释,如果能碰巧...
为什么酷狗音乐自己唱的歌不能下... 本篇文章极速百科小编给大家谈谈为什么酷狗音乐自己唱的歌不能下载到本地?,以及为什么酷狗下载的歌曲不是...
华为下载未安装的文件去哪找(华... 今天百科达人给各位分享华为下载未安装的文件去哪找的知识,其中也会对华为下载未安装的文件去哪找到进行解...
怎么往应用助手里添加应用(应用... 今天百科达人给各位分享怎么往应用助手里添加应用的知识,其中也会对应用助手怎么添加微信进行解释,如果能...
家里可以做假山养金鱼吗(假山能... 今天百科达人给各位分享家里可以做假山养金鱼吗的知识,其中也会对假山能放鱼缸里吗进行解释,如果能碰巧解...
四分五裂是什么生肖什么动物(四... 本篇文章极速百科小编给大家谈谈四分五裂是什么生肖什么动物,以及四分五裂打一生肖是什么对应的知识点,希...
一帆风顺二龙腾飞三阳开泰祝福语... 本篇文章极速百科给大家谈谈一帆风顺二龙腾飞三阳开泰祝福语,以及一帆风顺二龙腾飞三阳开泰祝福语结婚对应...
美团联名卡审核成功待激活(美团... 今天百科达人给各位分享美团联名卡审核成功待激活的知识,其中也会对美团联名卡审核未通过进行解释,如果能...