历史上的今天
今天是:2024年12月07日(星期六)
2020年12月07日 | C语言函数的相关语法及其参数的了解
2020-12-07 来源:elecfans
1.interrupt 用于中断函数。
定义如下:
语法: interrupt void 函数名()
或者
interrupt[中断向量]void 函数名()
参数:中断函数没有参数。中断函数需要指定中断向量。
返回:中断函数一般是void,没有返回。
说明:interrupt关键字声明了在处理器发生中断时调用;函数的参数必须为空
2.monitor 使函数进入原型(atomic)操作状态。
定义如下:
语法:monitor 函数类型 函数名(参数表)
参数:该函数可以有参数,也可以没有参数。
返回:函数可以有返回,也可以没有返回。
说明:monitor关键字使得在函数执行期间禁止中断,使函数执行不可中断;在其它所有方面,有monitor声明的函数则与普通函数相同。
3.no_init
语法:no_init 变量声明
说明:在默认情况下,MSP430的C语言编译器将变量存放在主RAM中,并在启动时对其进行初始化。no_init类型修正符使编译器把变量放在非易失RAM区中(如EEPROM、FLASH等),在启动时也不对它们进行初始化。在no_init变量的声明中,不能含有初始化。如果用了非易失RAM,连接时要安排在非易失RAM区,地址范围为0x0000~0xFFFF。实际可用范围是0x200~0xFFDF。

语法:sfrb 标识符=常量表达式
说明:sfrb表示一个I/O寄存器,具有以下特点:等价于无符号字符,只能直接寻址,它驻留地址范围0x00~0xFF之内,例如:sfrb PxOUT =0x0021; 定义了Px端口的输出寄存器
5.sfrw 用于声明双字节I/O数据类型对象。
语法:sfrw 标识符=常量表达式
说明:sfrw表示一个I/O寄存器,具有以下特点: 等价于无符号字符,它只能直接寻址,它驻留地址范围0x100~0x1FF之内,例如:sfrw WDTCTL =0x0021; //定义了看门狗的寄存器。
史海拾趣
|
1. 要和人配合。以我们做硬件的工程师为例,测试的时候一般都需要软件的配合,一个对硬件来说无比复杂的工作,可能在软件工程师看来就是几行简单的代码。所以要和人配合,多听听别人的意见,这样必然可以产生新的 know-how 从而加快测试和开发的速 ...… 查看全部问答> |
|
我用C语言进行单片机编程,虽然功能都实现了但是感觉自己就是在为了实现功能而堆砌代码,感觉很乱没有章法,打个比方:就像一副人体骨架,有个人形,但没有人样,骨骼之间的关节都是靠胶水或拉线连接起来的,生硬而呆板。这个骨架需要包上皮肉,加 ...… 查看全部问答> |
|
刚刚入门 所以我在运行程序时出现错误如下: D:\\森汉机器人光盘备份\\程序\\6S-C语言\\basal.c(2): Could not find include file C:\\icc\\bin\\imakew -f test.mak C:\\icc\\bin\\imakew.exe: Couldn\'t open D:/icc/include/macros.h GetLa ...… 查看全部问答> |
|
【原创】学习笔记——在Linux下用Gcc4.3.1进行STM32开发入门。 #define GPIOC_CRL (*((volatile unsigned int*)(0x40011000)))#define GPIOC_BSRR (*((volatile unsigned& ...… 查看全部问答> |
|
代码如下: 当i=0时,会调用DSPUP(&zuozhe[i-1][32],1). 难道此时为:DSPUP(&zuozhe[-1][32],1)? /***************************左屏显示信息*********************************/void fun40(){ & ...… 查看全部问答> |
|
老师让我开发一下实验室一块9b96核心芯片板子的网口程序,让其做服务器用,并建立一个网站,让其他用户能通过网站实时看到板子收到的数据,晕,怎么个状况,不明白啊,求高人指点一下注意事项啊!!!!!我该怎么开始啊………… [ 本帖最后由 tian ...… 查看全部问答> |
|
使用单片机也这么多年了,应用到的电路也不算少,绝大部分都是使用数字电路。虽说数字电路并不复杂,可你是否完全明白在这些数字电路中,什么时候要使用电阻,什么时候要使用电容,什么时候该使用二级管,什么时候该使用三极管和FET? &nbs ...… 查看全部问答> |




