![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
嵌入式
bit_x
这个作者很懒,什么都没留下…
展开
-
位操作 中断
位操作(Bit manipulation)1. 嵌入式系统总是要用户对变量或寄存器进行位操作。给定一个整型变量a,写两段代码,第一个设置a的bit 3,第二个清除a 的bit 3。在以上两个操作中,要保持其它位不变。对这个问题有三种基本的反应1)不知道如何下手。该被面者从没做过任何嵌入式系统的工作。2)用bit fields。Bit fields是被扔到C语言死角的东西,它保证你的代码在不同编译器之间是不可移植的,同时也保证了的你的代码是不可重用的。我最近不幸看到 Infineon为其较复杂的通信芯片写的驱转载 2010-06-01 13:34:00 · 931 阅读 · 0 评论 -
嵌入式可移植性编程的一些例子
多数情况下,编写完全可移植的程序代码是不可能的。因为同样的数据类型在不同的编译环境下所产生的结果(OBJ代码)可能是不同的,特别是针对嵌入式系统,不同的运行平台可能要求不同的代码来实现它所要求的独特功能。为了增加程序代码可移植到多个平台的可行性,比较好的方法是提供一个可移植的数据或功能接口,让那些移植的部分隐藏在这些接口之后,当然,这样的事情应该全部是系统设计的工作。下面介绍有关可移植性编程的一些常规做法:1、数据大小或长度相关性C程序库所提供的“sizeof()”函数是一个很好的可移植的功能接口范例转载 2010-06-01 16:38:00 · 881 阅读 · 0 评论 -
C语言嵌入式系统编程修炼之软件架构篇
C语言嵌入式系统编程修炼之软件架构篇2008-11-25 10:57:07 收藏 | 打印 | 投票(114) | 评论(16) | 阅读(208936) ◇字体:[大 中 小]模块划分 模块划分的"划"是规划的意思,意指怎样合理的将一个很大的软件划分为一系列功能独立的部分合作完成系统的需求。C语言作为一种结构化的程序设计语言,在模块的划分上主要依据功能(依功能进行划分在面向对象设计中成为一个错误,牛顿定律遇到了相对论),C语言模块化程序设计需理解如下概念: (1) 模块即是一个.转载 2010-06-09 09:23:00 · 652 阅读 · 0 评论 -
中断的响应过程
<br />中断的响应过程:以看书、门铃举例为中断。当有事件产生,进入中断之前我们必须先记住现在看书的第几页了,或拿一个书签放在当前页的位置,然后去处理不同的事情(因为处理完了,我们还要回来继续看书):电话铃响我们要到放电话的地方去,门铃响我们要到门那边去,也说是不同的中断,我们要在不同的地点处理,而这个地点通常还是固定的。计算机中也是采用的这种方法,五个中断源,每个中断产生后都到一个固定的地方去找处理这个中断的程序,当然在去之前首先要保存下面将执行的指令的地址,以便处理完中断后回到原来的地方继续往下执行程原创 2010-06-09 13:52:00 · 4541 阅读 · 1 评论