历史上的今天
返回首页

历史上的今天

今天是: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。

C语言函数的相关语法及其参数的了解

  语法:sfrb 标识符=常量表达式

  说明:sfrb表示一个I/O寄存器,具有以下特点:等价于无符号字符,只能直接寻址,它驻留地址范围0x00~0xFF之内,例如:sfrb PxOUT =0x0021; 定义了Px端口的输出寄存器


  5.sfrw 用于声明双字节I/O数据类型对象。

  语法:sfrw 标识符=常量表达式

  说明:sfrw表示一个I/O寄存器,具有以下特点: 等价于无符号字符,它只能直接寻址,它驻留地址范围0x100~0x1FF之内,例如:sfrw WDTCTL =0x0021; //定义了看门狗的寄存器。

推荐阅读

史海拾趣

CDI-DIODE公司的发展小趣事

在电子行业的早期,CDI-DIODE公司以其精湛的技术研发能力崭露头角。公司通过不断投入研发,成功开发出一款高效能、低成本的二极管产品,迅速占领了市场份额。这一技术突破不仅提升了公司的竞争力,也为整个电子行业带来了革命性的变化。

Elekon Industries公司的发展小趣事

随着技术的不断进步和市场需求的不断变化,Elekon意识到只有不断创新才能保持竞争力。因此,公司加大了研发投入,致力于技术创新和产品升级。经过多年的努力,Elekon成功开发出一系列具有自主知识产权的电子产品,包括高性能的集成电路、智能传感器等。这些新产品的推出不仅丰富了Elekon的产品线,也提升了公司的市场竞争力。

Diconex公司的发展小趣事

人才是企业发展的核心动力。Diconex公司高度重视人才培养和引进工作。公司建立了完善的人才培养机制,为员工提供广阔的发展空间和良好的职业晋升通道。同时,公司还积极引进行业优秀人才,为公司的快速发展提供了有力的人才保障。这种人才战略的成功实施使得Diconex在电子行业中拥有了强大的技术团队和人才队伍。

EPIC公司的发展小趣事

Epic Games一直关注并支持独立游戏开发者的发展。过去,独立开发者有机会与Epic Store签订协议以获得财务支持或提高游戏的知名度。然而,随着市场环境的变化和金融合约结构的转变,独立开发者面临着越来越多的挑战。尽管如此,Epic Games仍然致力于提供支持和资源来帮助独立开发者克服障碍、实现创新并推动整个游戏行业的进步。通过与独立开发者的紧密合作和持续支持,Epic Games不仅促进了游戏行业的多样性发展,也为自己赢得了广泛的好评和声誉。

Ethertronics公司的发展小趣事

随着公司的发展,Epic Games开始通过收购和投资来扩展其业务范围。2007年8月20日,Epic Games收购了一家位于波兰的游戏开发商People Can Fly,并成为其第一大股东。这次收购不仅为Epic Games带来了更多的开发资源,也使其在游戏开发领域的实力得到了进一步提升。此外,Epic Games还积极投资其他有潜力的游戏开发商和团队,以推动整个游戏行业的创新和发展。

璟德(ACX)公司的发展小趣事

2008年,璟德(ACX)成功在台北证券交易所上市,股票代码为3152。这一举措为公司带来了更多的资金支持,也提升了其品牌影响力和市场地位。上市后,璟德(ACX)加大了对研发和市场拓展的投入,进一步巩固了其在无线通信领域的领先地位。

问答坊 | AI 解惑

【转】一个工程师有关FPGA项目的感言

1. 要和人配合。以我们做硬件的工程师为例,测试的时候一般都需要软件的配合,一个对硬件来说无比复杂的工作,可能在软件工程师看来就是几行简单的代码。所以要和人配合,多听听别人的意见,这样必然可以产生新的 know-how 从而加快测试和开发的速 ...…

查看全部问答>

怎么学到好的单片机编程思想

我用C语言进行单片机编程,虽然功能都实现了但是感觉自己就是在为了实现功能而堆砌代码,感觉很乱没有章法,打个比方:就像一副人体骨架,有个人形,但没有人样,骨骼之间的关节都是靠胶水或拉线连接起来的,生硬而呆板。这个骨架需要包上皮肉,加 ...…

查看全部问答>

关于ICC AVR编译器的问题

刚刚入门 所以我在运行程序时出现错误如下: 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 ...…

查看全部问答>

我是ASP.net 程序员 现在想转入C++做 嵌入式 希望大家给点嵌入式开发方向啊?

强烈希望 各位大虾 给小弟 指点下 嵌入式方向 和未来发展情况啊…

查看全部问答>

【原创】学习笔记——在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(){     & ...…

查看全部问答>

LauncPad 1602液晶驱动,4位模式

LauncPad到手也有段时间了,芯片的基本功能都试了一遍,发个用MSP430G2211驱动一个刚到手的1602液晶,使用4位模式。 …

查看全部问答>

9b96以太网LWIP做服务器

老师让我开发一下实验室一块9b96核心芯片板子的网口程序,让其做服务器用,并建立一个网站,让其他用户能通过网站实时看到板子收到的数据,晕,怎么个状况,不明白啊,求高人指点一下注意事项啊!!!!!我该怎么开始啊………… [ 本帖最后由 tian ...…

查看全部问答>

单片机外围电路的设计

使用单片机也这么多年了,应用到的电路也不算少,绝大部分都是使用数字电路。虽说数字电路并不复杂,可你是否完全明白在这些数字电路中,什么时候要使用电阻,什么时候要使用电容,什么时候该使用二级管,什么时候该使用三极管和FET?   &nbs ...…

查看全部问答>