欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 5246|回復: 9
收起左側

代碼管理技巧分享

  [復制鏈接]
ID:284866 發表于 2018-8-21 11:07 | 顯示全部樓層 |閱讀模式
自己總結的一些單片機代碼管理技巧,希望對新手有一定的幫助,本來是寫給同班同學看的,現在共享出來啦

今天看到某位同學的單片機代碼,工程很大,包括 LCD、矩陣鍵盤+獨立按鍵掃描、紅外解碼 等等全放在 main.c 文件里,上千行的代碼,著實看著頭暈。
不知道單片機實習的老師有沒有教大家這種大工程的代碼管理技巧,如果沒講或者講了

但是沒聽明白,可以借此文檔學習一番,簡單而且實用。 代碼管理示例如下:


基礎管理:


1:工程目錄,第一級只有一個文件夾 AT89C51,第二級可以有多個,這里我只有一個
(因為 51 的工程不需要太多的文件),第三級就是每個文件夾里面包含的源文件(.c),可 以看到第三級前面有加號,點開會有第四級,是各個源文件所包含的頭文件(.h),看到這 里如果覺得頭暈可以忽略此條。
2:此處后面詳細解釋。
3:選項卡,每個點開的源文件和頭文件都可以在此處點擊選擇查看,右擊可以選擇
close。
4:在每個源文件里如果想調用其他源文件里的函數,包含其對應頭文件即可。

如何實現:
將各個模塊比如鍵盤掃描、LCD 液晶等等分別寫在各個源文件里,分開管理方便得多, 比如 LCD 驅動的源代碼,示例如下
Lcd.c
源函數都寫在源文件里,這個很好理解,毋庸贅言.



Lcd.h
在頭文件里將對應源文件里的函數都聲明一遍

1、lcd.c 和 lcd.h 必須都要取一樣的名字 lcd 嗎? 可以不同,但是為了調用方便最好一樣
2、頭文件里的
#ifndef LCD_H
#define LCD_H
#endif              可以不要嗎?
可以,但是為了不重復包含最好加上(LCD_H 可以多加些下劃線,這樣取名只是 為了防止重復)


3、還可以在源文件里聲明一些變量,然后在對應的頭文件里用 extern 聲明這些變量(包 含但不限于各種類型變量、數組、結構體),
如果想用這些變量和函數只需要包含這個頭文件就可以直接使用啦!



以上就是一些代碼管理的一些基礎要點,初次看起來可能會覺得比較麻煩,但是多做一
兩次之后就會其實很簡單,熟練之后管理代碼會極為方便。 有不清楚的歡迎咨詢


下面講一些進階的代碼管理,有興趣的可以繼續看下去: 第一張圖里的 2 處,點開后如下:

可以發現這就是這個工程的各級目錄,前兩級目錄可以通過點擊箭頭所指的虛線框新 建,第三級可以點 Add Files 來添加
一般 1 所處的地方只有一個文件夾,但是,如果有兩個工程絕大多數文件都是相同的, 只有個別文件不同,這樣我們就可以將這兩個工程合二為一,或者說合多為一,在 2 處新建
一個文件夾 AT89C52,建了之后會發現其包含的文件與最初的那個是完全一樣的,這時我 們需要去掉那些這個工程里不需要的文件(注意不是直接remove,如果直接移除的話倆工 程里都移除了)
Keil4 里的操作:比如我們不想要下面的 lcd.c,右擊選擇第一個 Options

出現如下畫面
將 include in target build 勾選掉,也就是去掉前面的勾勾

點擊 OK 即可,keil4 里會出現如下樣式


Keil5 里的操作,與 keil4 一樣,右擊不需要的源文件選擇 Options,將 include in target build
勾選掉,只是在工程目錄里的顯示樣式不一樣


最后講一下,在建了一個包含兩個工程的工程(好像有點矛盾?)之后會發現工程目錄 里面只有一個工程的目錄(好像有點難懂,見下圖)

可以看到只有一個 AT89C51


如果我們想切換到 AT89C52 該如何做呢

點擊箭頭所指之處就可以啦

Keil5 亦是一樣

寫在最后: 如有錯誤之處歡迎點出批評指正; 在使用過程中還是有有疑問的小伙伴歡迎一起討論喲!

完整的pdf格式文檔51黑下載地址:
代碼管理技巧.pdf (447.32 KB, 下載次數: 54)


評分

參與人數 2黑幣 +62 收起 理由
tieq1952 + 12 贊一個!
admin + 50 共享資料的黑幣獎勵!

查看全部評分

回復

使用道具 舉報

ID:1 發表于 2018-8-22 02:21 | 顯示全部樓層
好資料,51黑有你更精彩!!!
回復

使用道具 舉報

ID:386381 發表于 2018-8-22 07:19 來自觸屏版 | 顯示全部樓層
非常實用的好資料謝謝樓主分享
回復

使用道具 舉報

ID:46999 發表于 2018-8-22 07:27 | 顯示全部樓層
好資料,有很高的參考價值。
回復

使用道具 舉報

ID:328121 發表于 2018-8-22 08:24 | 顯示全部樓層
有幫助,謝謝
回復

使用道具 舉報

ID:253767 發表于 2018-8-22 09:03 | 顯示全部樓層
謝謝分享。。
回復

使用道具 舉報

ID:499701 發表于 2019-7-5 13:15 | 顯示全部樓層
這個技巧很實用,謝謝分享
回復

使用道具 舉報

ID:307020 發表于 2019-7-6 18:09 | 顯示全部樓層
謝謝樓主分享,模塊化管理的技巧
回復

使用道具 舉報

ID:689425 發表于 2023-8-13 10:44 | 顯示全部樓層
好好好,模塊化管理方便整潔,可以減少很多工作量
回復

使用道具 舉報

ID:433219 發表于 2023-8-16 09:45 | 顯示全部樓層
mcu一般都是一人全包,,,涉及到多人協作寫程序的,互相調用的就繁瑣了
回復

使用道具 舉報

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

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表