找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

51單片機(jī)C語言多文件編程疑問

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:647261 發(fā)表于 2023-6-25 11:24 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
剛開始學(xué)單片機(jī)編程,目前是學(xué)51的,用proteus仿真學(xué)到做萬年歷的時(shí)候,時(shí)鐘芯片+LCD1602+按鍵更改時(shí)間+溫度芯片,這樣下來,程序太長了,于是用到了多文件編程。

用多文件編程時(shí),有些疑問,網(wǎng)上也沒有找到答案,特來求助各位大佬:
1.網(wǎng)上說的標(biāo)準(zhǔn)多文件編程,都是一個(gè)c文件配套一個(gè)h文件。
這樣的話,main文件要include一堆的h文件。那么,用一個(gè)h文件做所有c文件的聲明,main文件不就只需要include一個(gè)h文件了。
已測試了編譯通過,仿真正常。不知道這樣做會(huì)有什么缺點(diǎn)呢?
2.我看了公司同事的代碼,是直接把子函數(shù)寫在h文件上的,這樣看起來好像不用放一堆文件了。

不知道這種寫法是不是常用的?
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:277550 發(fā)表于 2023-6-25 14:08 | 只看該作者
2和1的后半部分,同理的。

自己寫,怎么省事、又容易維護(hù),就怎么來。

多人協(xié)作,就按標(biāo)準(zhǔn)來寫。
回復(fù)

使用道具 舉報(bào)

板凳
ID:752974 發(fā)表于 2023-6-25 15:28 | 只看該作者
多文件編程的有點(diǎn)是便于維護(hù),更改和移植;都放在一個(gè)文件里做也是可以的,每個(gè)人的風(fēng)格不同而已。
回復(fù)

使用道具 舉報(bào)

地板
ID:1080935 發(fā)表于 2023-6-25 15:35 | 只看該作者
分不分自己定,怎么分自己定,但不是好習(xí)慣,建議按標(biāo)準(zhǔn)來,方便移植傳承。
回復(fù)

使用道具 舉報(bào)

5#
ID:123289 發(fā)表于 2023-6-25 16:07 | 只看該作者
1、每個(gè)功能需要一段程序來實(shí)現(xiàn),這是少不了的,能改變的只是這段程序放在何處。
2、將成熟的程序,做一個(gè)【標(biāo)本】,統(tǒng)一放在自己認(rèn)為合適的地方,形成一個(gè)庫,是個(gè)不錯(cuò)的主意。這樣下次用到它,從【標(biāo)本】庫,調(diào)用它即可,不用再寫一遍。
同樣的道理,變量也一樣:
例如:但你認(rèn)識 P0,但KELL不認(rèn)識 P0,只認(rèn)識CPU中定義的地址 80H,你寫程序傳值32給 P0,KELL卻說錯(cuò)了,我不認(rèn)識P0。
這時(shí),就需要你事先告訴KELL,P0就是地址80H,這樣KELL才能接受P0了。
同樣還有:P1、P2、P3、TCON、TMOD……,一大堆東東。
其實(shí),所有人都會(huì)遇到這種情況,于是早有人將 [P1、P2、P3、TCON、TMOD……] 是什么,做了個(gè)定義,并且打了個(gè)包,美其名曰:【XX.h】。
于是,用一句 include XX.h 就將這些變量,通通告知KELL平臺了。
明白這個(gè)道理,你就明白一半了。
include 可以將前人給出的,你需要用到的變量……的定義,預(yù)先告知KELL平臺,認(rèn)防KELL不認(rèn)識。
回復(fù)

使用道具 舉報(bào)

6#
ID:647261 發(fā)表于 2023-6-25 16:25 | 只看該作者
感謝以上各位
大致了解了,寫法都沒什么毛病,就是多人協(xié)作的時(shí)候可能不太好
回復(fù)

使用道具 舉報(bào)

7#
ID:596109 發(fā)表于 2023-6-25 16:56 | 只看該作者
簡單的肯定沒必要多文件,但是規(guī)模上來后,一個(gè)文件多煩,找都找不到
回復(fù)

使用道具 舉報(bào)

8#
ID:612392 發(fā)表于 2023-6-25 18:35 | 只看該作者
有一些標(biāo)準(zhǔn)化的程序,或者稱為庫,可以單獨(dú)的編在一個(gè).h頭文件里,方便后續(xù)二次開發(fā)
回復(fù)

使用道具 舉報(bào)

9#
ID:468209 發(fā)表于 2023-6-25 20:38 來自手機(jī) | 只看該作者
多文件編寫 我就直接寫.h上  又h又c的覺得很亂
回復(fù)

使用道具 舉報(bào)

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表