久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 5111|回復(fù): 5
打印 上一主題 下一主題
收起左側(cè)

算是詳細(xì)了!單片機(jī)程序頭文件的定義、編寫及引用介紹

  [復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:63113 發(fā)表于 2022-4-22 22:50 | 只看該作者 |只看大圖 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
成都控制板設(shè)計(jì)提供_算是詳細(xì)了!單片機(jī)程序頭文件的定義、編寫及引用介紹
SO技術(shù)分享之31
初聽迷茫不必慌,日出霧散路明亮。
本文介紹頭文件的定義、編寫、保存及引用等方面的內(nèi)容,包括了一般的格式要求、例程等。
什么是頭文件?
頭文件在C語(yǔ)言程序開發(fā)中一般來(lái)說是必需的,一般在C程序的開頭就得引用頭文件。
頭文件作為一種包含功能函數(shù)、數(shù)據(jù)接口聲明的載體文件,主要用于保存程序的聲明,而定義文件用于保存程序的實(shí)現(xiàn)。
為什么要用頭文件?
如果沒有頭文件,那么定義只有就在C文件中進(jìn)行,有幾個(gè)壞處:
->不便于閱讀。定義和功能代碼放在一起,可讀性變差;
->重復(fù)勞動(dòng),增加程序量。在各個(gè)C文件中,只要用到了就得重新定義一下,重復(fù)的代碼會(huì)變多等。
如需項(xiàng)目開發(fā)定制,可Q-Q: 2531二六3726。
頭文件編寫的一般格式要求是怎樣?

很多東西都有格式的,按照格式來(lái)做一般不會(huì)出錯(cuò)。圖1為頭文件定義的一般結(jié)構(gòu)。
開頭的#ifndef和最后的#endif需要成對(duì)出現(xiàn),它的含義為假如沒有定義某文件的話,那么執(zhí)行某些操作。在#ifndef和#endif之間可以編寫頭文件定義的代碼,如載入其他頭文件、引腳定義、子程序預(yù)定義等的。
下表給出了圖1中部分代碼的解釋。
表 1 圖1的要點(diǎn)解釋
  
#ifndef __XXX_H__
  
  
#endif
  
含義為假如沒有定義XXX.H,那么就執(zhí)行某些操作。
  
Ifendif必須成對(duì)使用。
#define __ XXX _H__
定義XXX.H
#include <xxx.h>
載入相關(guān)的系統(tǒng)頭文件xxx.h
#include yyy.h
載入相關(guān)的自定義頭文件yyy.h
sbit x=p;
系統(tǒng)位定義。一般用于定義引腳,用x代替引腳p
#define  X Y
符號(hào)變量定義,X就表示Y值。Y一般為具體數(shù)值。XY之間有空格
void XX();
子程序預(yù)定義。在其他程序里載入了這個(gè)頭文件后,就能調(diào)用XX子程序。預(yù)定義后在對(duì)應(yīng)的C文件里還得編寫具體的子程序代碼。
一個(gè)頭文件編寫的例子

有個(gè)例子,會(huì)有更加生動(dòng)的理解。圖2為一個(gè)頭文件定義的例子,頭文件的名字位relaycontrol.h,這個(gè)頭文件里包含了載入其他頭文件、引腳定義、符號(hào)變量定義、子程序預(yù)定義等內(nèi)容。
頭文件的保存方法
保存頭文件一般有2種方法:
(1)、在keil中保存H文件:如例,假如在keil中新建了H文件,編寫完頭文件代碼后,點(diǎn)擊保存按鈕,命名后保存在電腦硬盤(與引用它的C文件在同一個(gè)文件夾)里即可,本例中保存的頭文件為relaycontrol.h。
(2)、在電腦里新建一個(gè)TXT文件,再改擴(kuò)展名為.h:在電腦硬盤(與引用它的C文件在同一個(gè)文件夾)中新建一個(gè)txt文件,寫入頭文件代碼,保存,并改擴(kuò)展名為.h。本例中將這個(gè)txt文件名及擴(kuò)展名改為relaycontrol.h。
怎么在C程序中引用頭文件?


  在C程序中,頭文件需要先引用后才能使用,一般引用頭文件放在程序的開頭位置。
在C文件中引用頭文件的方法很簡(jiǎn)單,就是在程序中用“#include”指令把相應(yīng)的頭文件載入就行了。
引用后,在這個(gè)C文件中就能使用頭文件里已經(jīng)定義的內(nèi)容,如定義的引腳、符號(hào)變量和子程序等。
是否需要幫助?
提供單片機(jī)、PLC、電路板、控制器/箱、儀器儀表、機(jī)電設(shè)備或系統(tǒng)、自動(dòng)化、工控、傳感、數(shù)據(jù)采集、自控系統(tǒng)、控制系統(tǒng),軟件、APP開發(fā)設(shè)計(jì)定制訂做。如有項(xiàng)目需要,可Q:2531二六3726。
本節(jié)完,精彩待續(xù)。

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏16 分享淘帖 頂2 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:514317 發(fā)表于 2022-4-23 11:09 | 只看該作者
編寫功能多的程序  .h文件是必須的   
回復(fù)

使用道具 舉報(bào)

板凳
ID:57414 發(fā)表于 2022-4-23 14:17 | 只看該作者
對(duì)于不懂程序的我來(lái)說,受益匪淺;謝謝樓主!
回復(fù)

使用道具 舉報(bào)

地板
ID:1001848 發(fā)表于 2022-4-26 17:37 | 只看該作者
程序分塊寫可讀性會(huì)好很多,學(xué)到了學(xué)到了
回復(fù)

使用道具 舉報(bào)

5#
ID:759755 發(fā)表于 2022-4-26 19:37 | 只看該作者
假如沒定義,就定義它,不是太明白
回復(fù)

使用道具 舉報(bào)

6#
ID:1012735 發(fā)表于 2022-4-27 18:21 | 只看該作者
本帖最后由 hy47566398 于 2022-4-27 18:34 編輯

#ifndef __XXX_H__
這一句只是程序編譯時(shí)判斷是否定義了 __XXX_H__ 宏
也就是程序此時(shí)是否程序執(zhí)行過了  #define __ XXX _H__ , 以防頭文件被重復(fù)包含定義了  __ XXX _H__  宏,表示程序執(zhí)了這個(gè)頭文件代碼,程序跳到#endif處執(zhí)行
如果沒有定義這個(gè)宏,執(zhí)行#ifndef后的代碼
__ XXX _H__ 這個(gè)宏名稱可以隨便寫,跟文件名一點(diǎn)關(guān)系都沒有
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 中文字幕日韩在线 | 日韩欧美在线观看 | 日本高清精品 | 国产91视频一区二区 | 久久久久国产 | 欧美一区二区三区精品 | 亚洲日本欧美 | 日韩毛片 | www.887色视频免费 | 国产激情精品一区二区三区 | 日韩精品久久久久 | 自拍偷拍第一页 | av激情在线 | 亚洲午夜在线 | 久久婷婷色| 欧美网址在线观看 | 亚洲午夜精品视频 | 亚洲精品视频一区二区三区 | 国产精品久久久久久久久久 | 黄色网址在线免费观看 | 老司机狠狠爱 | 免费一区二区三区 | 日韩成人在线一区 | 久久久久午夜 | 免费a级毛片在线播放 | 一本一道久久a久久精品蜜桃 | 欧美日韩在线播放 | 久草视频在线播放 | 亚洲精品一区二三区不卡 | 国产一级在线 | 国产在线一区二区三区 | 欧美日韩在线成人 | 久久久久久久久淑女av国产精品 | 久久久成人一区二区免费影院 | 在线免费观看成人 | 国产丝袜一区二区三区免费视频 | 午夜精品 | av在线视| 成人综合视频在线观看 | 久久激情视频 | 欧美日韩国产在线观看 |