关于中断的面试题

中断(Interrupts)

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

 

1

2

3

4

5

6

__interrupt double compute_area (double radius)

{

double area = PI * radius * radius;

printf("\nArea = %f", area);

return area;

}

这个函数有太多的错误了,以至让人不知从何说起了:

1)ISR 不能返回一个值。如果你不懂这个,那么你不会被雇用的。
2) ISR 不能传递参数。如果你没有看到这一点,你被雇用的机会等同第一项。
3) 在许多的处理器/编译器中,浮点一般都是不可重入的。有些处理器/编译器需要让额处的寄存器入栈,有些处理器/编译器就是不允许在ISR中做浮点运算。此外,ISR应该是短而有效率的,在ISR中做浮点运算是不明智的。
4) 与第三点一脉相承,printf()经常有重入和性能上的问题。如果你丢掉了第三和第四点,我不会太为难你的。不用说,如果你能得到后两点,那么你的被雇用前景越来越光明了。

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
回答: MQTT是一种基于发布/订阅模式的轻量级通信协议。它适用于物联网设备之间的低功耗、低带宽、小数据量的通信。下面是一些关于MQTT的面试题: 1. MQTT是什么意思? MQTT全称是Message Queue Telemetry Transport,翻译过来就是消息队列遥测传输。它是一种轻量级的通信协议,适用于物联网设备之间的通信。 2. MQTT的特点是什么? MQTT具有以下特点: - 轻量级:协议设计简洁,消息头部开销小,适用于低带宽和低功耗设备。 - 支持发布/订阅模式:设备可以发布消息到主题,其他设备可以订阅对应的主题接收消息。 - 适应性强:MQTT允许使用不同的传输协议,包括TCP、WebSocket等。 - 可靠性:MQTT支持消息持久化,即使设备离线或网络中断,消息也可以保存并在设备重新连接时传递。 3. MQTT和RabbitMQ有什么关系? RabbitMQ是一种使用AMQP协议的消息队列技术,而MQTT是一种不同的通信协议。虽然它们都可以用于消息队列的实现,但是它们的设计和使用方式不同。RabbitMQ支持多种协议,包括MQTT,但是MQTT更适合于物联网设备之间的通信。 这些是关于MQTT的一些面试题,希望对你有帮助。如果还有其他问题,请随时提问。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [必知必会 RabbitMQ面试题 33道(附答案)](https://blog.csdn.net/o9109003234/article/details/115843165)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *3* [MQ(RabbitMQ)常见面试题总结](https://blog.csdn.net/qq_53462981/article/details/125824012)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值