每日一题(48)—— 中断


    中断是嵌入式系统中重要的组成部分,这导致了很多编译开发商提供一种扩展让标准C支持中断。具代表事实是,产生了一个新的关键字 __interrupt。下面的代码就使用了__interrupt关键字去定义了一个中断服务子程序(ISR),请评论一下这段代码的。

__interrupt double compute_area(double radius)
{double area = pi*radius*radius;printf(“\narea = %f”,area);return area;
}







(1) ISR是不能有返回值。

(2) ISR不能传递参数。

(3) 在许多的处理器/编译器中,浮点一般都是不可重入的。ISR一般是短而有效的,在ISR中做浮点运算时不明智的。

(4) printf() 函数有重入和性能上的问题。







本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/465808.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

apiCloud中的API对象

1.属性 appId apiready function () {var appId api.appId; //比如: A6980386445546var appName api.appName; //比如: AppLoadervar appVersion api.appVersion; // 比如: 1.0.0var systemType api.systemType; // 比如: i…

静态测试

静态测试 为什么要进行静态分析呢?一个软件产品可能实现了所要求的功能,但如果它的内部结构组织的很复杂,很混乱,代码的编写也没有规范的话,这时软件中往往会隐藏一些不易被察觉的错误,这是其一。其次&…

我是这样分析Linux性能问题的

在互联网公司普遍“996”的大环境下,大部分做应用的开发者,大都将精力集中在业务代码的优化和调配上,忽略了对 Linux 内核的学习。而且,这部分知识本身就很复杂,所以学习成本也比较高。但是,只要你经历过公…

每日一题(49)—— 有符号数与无符号数

void foo(void) {unsigned int a 6;int b -20;(a b> 6)?(">6"):("<6"); } 上面代码输出是什么&#xff0c;为什么&#xff1f; 答案是“>6”原因是当操作数中有符号类型和无符号类型进行运算时所有的操作数都自动转换成无符号数。

Java访问修饰符(访问控制符)

Java 通过修饰符来控制类、属性和方法的访问权限和其他功能&#xff0c;通常放在语句的最前端。例如&#xff1a; 1. public class className { 2. // body of class 3. } 4. private boolean myFlag; 5. static final double weeks 9.5; 6. protected static final int BOXWI…

随便聊聊,Linux 中的环境变量

大家好&#xff0c;今晚说点简单的。环境变量环境变量在进行linux开发过程中经常碰到&#xff0c;那什么是环境变量呢&#xff1f;很多朋友在刚学习Linux的时候对环境变量不是特别理解&#xff0c;变量不应该是在编程语言中类似于全局变量和局部变量吗&#xff1f;怎么又来了个…

什么MySQL语句在存储过程体中是合法的

什么MySQL语句在存储过程体中是合法的&#xff1f; 什么样的SQL语句在Mysql存储过程中才是合法的呢&#xff1f;你可以创建一个包含INSERT, UPDATE,DELETE, SELECT, DROP, CREATE, REPLACE等的语句。你唯一需要记住的是如果代码中包含MySQL扩充功能&#xff0c;那么代码将不能移…

IntelliJ IDEA使用教程(很全)

这个编辑器我就不再多做介绍了。直接开始新建maven hello world 的Java web项目啦 你电脑上得有jdk1.7&#xff0c;或者1.8&#xff0c;然后就是maven3.x吧&#xff0c;再有就是tomcat7以上吧。还得有我这个编辑器。这些是准备条件 下面就直接开始看图啦&#xff1a; 这个我刚刚…

每日一题(50)—— 各类型与零值的比较

分别给出BOOL&#xff0c;int&#xff0c;float&#xff0c;指针变量 与“零值”比较的 if 语句&#xff08;假设变量名为var&#xff09; 解答&#xff1a;    BOOL型变量&#xff1a;if(!var)    int型变量&#xff1a; if(var0)    float型变量&#xff1a; …

U-Boot之代码调试

“ 让调试U-Boot不再困难”本文介绍U-Boot的两种调试方法&#xff0c;一种是基于代码级别&#xff0c;另外一种是基于工具进行在线调试。01—DEBUG宏U-Boot自带DEBUG宏&#xff0c;打开该宏定义之后&#xff0c;会增加许多的内在打印信息供开发人员参考。这个宏定义的开关可以通…

Python中 sys.argv[]的用法

调用解释器时&#xff0c;脚本名和附加参数传入一个名为 sys.argv 的字符串列表。通过执行 import sys可以获取这个列表,sys.argv[0] 表示脚本的名字&#xff0c;sys.argv[1] 代表第一个输入参数&#xff0c;sys.argv[2] 代表第二个输入参数&#xff0c;以此类推。如&#xff1…

IT夫妻语录

&#xff29;&#xff34;夫妻语录 亲爱的&#xff0c;最近我发现你情绪低落&#xff0c;反应速度大大降低&#xff0c;是不是头脑里碎片太多&#xff1f;   男&#xff1a;我也说不清楚&#xff0c;我觉得越来越与同事不兼容了。   女&#xff1a;也许这与你和他们配置有关…

每日一题(51)—— 大小端判断

请写一个C函数&#xff0c;若处理器是Big_endian的&#xff0c;则返回0&#xff1b;若是Little_endian的&#xff0c;则返回1。 int checkCPU() {{union w{ int a;char b;} c;c.a 1;return (c.b 1);} } 分析&#xff1a;嵌入式系统开发者应该对Little-endian和Big-endian模…

Android初学第21天

Android初学第21天 09_LayoutsAndWidgets 代码 SignleFragmentActivity.java package com.bignerdranch.android.criminalintent;import android.os.Bundle; import android.support.v4.app.Fragment; import android.support.v4.app.FragmentManager; import android.support.…

快两年的时间,我都干了啥

‍‍‍‍大家好,我是写代码的篮球球痴这是一篇总结性的文章&#xff0c;主要是总结这一年多快两年的时间&#xff0c;我都在做了些什么。公司名字我就不说了&#xff0c;知道的人一眼就知道了。我们是一家智能家居的公司。提到智能家居&#xff0c;就一定会涉及网关&#xff0c…

每日一题(52)—— 进程

列举几种进程的同步机制&#xff1a; 1&#xff09;原子操作 2&#xff09;信号量机制 3&#xff09;自旋锁 4&#xff09;管程&#xff0c;会合&#xff0c;分布式系统 网络编程中设计并发服务器&#xff0c;使用多进程与 多线程 &#xff0c;请问有什么区别&#xff1f;…

ioremap,你应该知道的事

因为现在使用是dts来表示板级&#xff0c;也就是machine&#xff0c;所以现在我们在内核使用内核映射使用的函数是of_iomap。c代码&#xff1a;struct device_node *node NULL;unsigned int irq_info[3] { 0, 0, 0 };u32 phys_base;switch (idx) {case 0:node of_find_node_…

牙痛,肿成阴阳脸

成阴阳脸:-( 明天见不了客户了&#xff0c;犯愁。好在台湾的朋友非常热情&#xff0c;晚上还安排最好的牙医林先生在诊所等我&#xff1b;又有另一朋友送我神奇的东南亚牙膏。

.NET 二维码生成(ThoughtWorks.QRCode)

引用ThoughtWorks.QRCode.dll &#xff08;源代码里有&#xff09; 1、简单二维码生成及解码代码&#xff1a; //生成二维码方法一private void CreateCode_Simple(string nr) { QRCodeEncoder qrCodeEncoder new QRCodeEncoder(); qrCodeEncoder.QRCodeEncodeMode QRCodeEnc…

如何向开源社区奉献代码

从事嵌入式工作, 日常就是与u-boot, linux这些开源代码打交道, 将自己的代码提交到主线, 将是一件快乐而又能提升逼格的事情. 有些比较新的代码会使用github进行bug追踪, pr合并, 这些直接在github提交Pull Request就好了, 比较简单, 就不在赘述. 本文重点介绍如何使用mail lis…