AVR笔记5:.c和.h本质

发布者:云淡雅致最新更新时间:2015-09-16 来源: eefocus关键字:AVR笔记 手机看文章 扫描二维码
随时随地手机看文章
    .c和.h本质都是文本,我还用一个.r,表示私有的.h。如果你高兴,还可以用任何文本格式的东西。这一点我赞同你们的观点。至于,区别,我想还是有一点的。比如,对于ICC,在工程编译下,编译器只能看见.c文件,而.h或者其他被include的文件都在变以前被预编译器囊括到包含他们的.c文件中了。
    gcc我没有用过,我不清楚。如果gcc可以通过命令行的方式给.h或者其他后缀名的文本文件生成对应的.obj(或者.o)文件,那么.c、.h或者其他什么文本文件就没有任何区别。否则,.h只能算一个描述性的文件,我习惯称之为接口描述文件,.c是实质性保存函数和变量实体的文件,我称之为模块源文件。
    其实,原则上,我同意30的意见,因为在编译器眼里,估计只要是文本文件都能生成.obj吧……因为他们眼里只有文本,没有区别……
    对于初学者,千万不要养成在.h里面放函数和变量实体的习惯……否则会走我的老路……有兴趣的人也许能找到我从前写的函数库……全部是.h。因为我把所有的函数都写在.h里面……这种写法以后在工程复杂时会面临空前复杂的麻烦……
关键字:AVR笔记 引用地址:AVR笔记5:.c和.h本质

上一篇:AVR笔记6:C语言优秀编程风格
下一篇:AVR笔记4:PORTC.2~5输出不了低电平

推荐阅读最新更新时间:2024-03-16 14:31

S3C2440裸机实验(3) ----watchdog
看门狗实质上和其他的定时器功能相似,只是看门狗多了一个时间到就复位的功能,只要将WTCON的【0】设置成0就成了普通的中断,将进入中断处理程序中,如果设置成了1将复位。这样的话,我们可以使用看门狗来实现对程序的监视,定时的去喂狗也就是定时去给WTCNT复制,如果程序跑飞了话就不能定时去喂狗,系统将重启。 下面的程序中我使用了一个中断处理函数,中断处理程序中使蜂窝器响一下,如果开启了喂狗程序的话不会引发中断, 下面是测试程序:(特别注意延时的时间,否则不能正常工作) #include watchdog.h #include def.h #include 2440addr.h #include uart.h void
[单片机]
S3C2440的定时器详解
S3C2440A有5个16位定时器。其中定时器0、1、2和3具有脉宽调制(PWM)功能。定时器4是一个无输出引脚的内部定时器。定时器0还包含用于大电流驱动的死区发生器 定时器0和1共用一个8位预分频器,定时器2、3和4共用另外的8位预分频器。每个定时器都有一个可以生成5种不同分频信号(1/2,1/4,1/8,1/16和TCLK)的时钟分频器。每个定时器模块从相应8位预分频器得到时钟的时钟分频器中得到其自己的时钟信号。8位预分频器是可编程的,并且按存储在TCFG0和TCFG1寄存器中的加载值来分频PCLK 每个定时器有它自己的由定时器时钟驱动的16位递减计数器。当递减计数器到达零时,产生定时器中断请求通知CPU定时器操作已经完成。当
[单片机]
S3<font color='red'>C</font>2440的定时器详解
利用C#开发电子病历系统体温曲线图
  电子病历(Electronic Medical Record,EMR)系统是一个数字技术、计算机技术、通讯技术、软件工程、图形图像综合技术等多学科的高新科技项目。其完整资料、数据处理、网络传输、诊疗支援、统计分析等均是纸质病历无法比拟的。   体温是 电子病历 系统中一个重要的数据,比如某病人体温升高可以让临床医生知道该病人有发热的症状。在 电子病历 系统中,体温单所针对的用户是医院的护士。护士每天记录病人的体温等各项信息,录入到数据库中,系统自动生成电子体温单,并绘制成曲线图。体温曲线图直观地显示了病人的体温等相关数据,这些数据与有关疾病和治疗的知识相结合,可作为进一步诊断及确定治疗方案的基础。   笔者参与开发的
[医疗电子]
苹果宣布将iPhone 5c加入「过时产品」名单
苹果本周更新了其「过时产品和停产产品」的名单,并将 iPhone 5c 加入到过时产品名单。 根据苹果不断更新的支持文档显示(中国官网尚未更新),iPhone 5c 在 11 月 2 日被列为过时产品。过时产品是指已经停止销售 5 年以上 7 年以下的产品。根据库存情况或法律要求,Mac、iPhone、iPad、iPod 和 Apple TV 过时产品可以继续从 Apple 服务提供商(包括 Apple Store 零售店)处获得硬件服务。 iPhone 5c 于 2013 年首次亮相,是当时和 iPhone 5S 旗舰产品一同推出的次旗舰。采用聚碳酸酯外壳,该手机从 iPhone 5「借来」了很多内部部件(除了更大的电池
[手机便携]
【STM32H7教程】第22章 STM32H7的SysTick实现多组软件定时器
22.1 初学者重要提示 比通用定时器要容易掌握很多,因为嘀嗒定时器的功能比较的单一,根据ARM的说法,此定时器就是专门为RTOS的系统时钟节拍而设计。 本章节为大家讲解的多组软件定时器实现方案非常实用,建议初学者熟练掌握。 22.2 Systick基础知识 关于滴答定时器,初学者仅需了解到以下几点知识就够了。 Systick是Cortex-M7内核自带的组件,其它几个常用的硬件异常HardFault,SVC和PendSV也都是是内核自带的,其中Systick,SVC和PendSV的中断优先级是可编程的,跟SPI中断、ADC中断、UART中断等一样,都在同一个NVIC下配置的。而HardFault是不可编程的
[单片机]
【STM32<font color='red'>H</font>7教程】第22章 STM32<font color='red'>H</font>7的SysTick实现多组软件定时器
Type-C介面大器晚成 台系IC设计看好2018年需求
虽然Type-C介面似乎2017年一直处在叫好难叫座的窘境中,不过,随着智能手机新品也开始加入战局,加上PC/NB大厂研发团队也终于开始认真动了起来,台系IC设计公司直言,2018年全球Type-C芯片市场需求几乎可以赌上倍增前景。不过,由于Type-C介面一口气牵扯相容性及充电议题,不少Host端及Device端的电源保护及充电效率都需重新设计,有办法提出最完整芯片解决方案,同时又能满足客户新品差异化设计需求的国内、外芯片供应商,比较有机会提前赶上2018年全球Type-C芯片市场需求爆发商机的特快车。 台系类比IC设计公司直言,Type-C介面所拥有正反面皆可插、传输速度更快,及充电效能更佳的优势规格,配合全各地的环保意识
[半导体设计/制造]
富威C8051F9XX无端医疗照护解决方案
  富威集团Silicon Labs 低功耗MCU C8051F9XX应用于无端医疗照护解决方案。该系列芯片已被广泛应用于RFID标签、水气表计量、传感器接口、能量采集、报警系统、烟雾检测以及掌上型医疗照护系统等。C8051F9XX是目前业内最省电的MCU,最低待机功耗为10nA,有效增加电池寿命。C8051F9XX内置12Bit AD,可以完全满足医疗系统的AD要求,大大降低客户的成本。      在一般操作模式中,8位F9xx微控制器可达到业界最低的消耗电流,以提供嵌入式市场中最低的系统层级功耗。此一电源效率极佳的微控制器提供最低的操作模式电流消耗(160µA/MHz),可大幅节省系统运作时的电力。在休眠模式中,此款微控制器所
[单片机]
富威<font color='red'>C</font>8051F9XX无端医疗照护解决方案
IU5200集成30V的OVP功能,支持I2C接口,3A充电电流,1~4节锂电池升降压充电芯片
IU5200D是一款自动申请快充输入,开关模式升降压充电管理IC,用于1~4节锂离子电池和锂聚合物电池,以及1~5节磷酸铁锂电池。芯片集成包括4开关MOSFET、输入和充电电流感应电路、电池以及升降压转换器的环路补偿。芯片具有3A的充电电流能力,充电电流可以通过外部电阻灵活可调。 IU5200D内置四个环路来控制充电过程,分别为恒流 (CC)环路、恒压(CV)环路、芯片温度调节环路、可智能调节充电电流,防止拉垮适配器输出,并匹配所有适配器的输入自适应环路,其输入自适应点通过外部分压电阻灵活可调。 IU5200D通过调节电池外部反馈电阻的分压比例,得到不同的恒压充电电压值,从而适配不同节数和规格的锂电池。 IU5200D支
[嵌入式]
IU5200集成30V的OVP功能,支持I2<font color='red'>C</font>接口,3A充电电流,1~4节锂电池升降压充电芯片
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved