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

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

QQ登錄

只需一步,快速開始

搜索
查看: 4340|回復(fù): 0
收起左側(cè)

從STM32中學(xué)到的工程建立方法

[復(fù)制鏈接]
ID:50574 發(fā)表于 2013-7-6 22:13 | 顯示全部樓層 |閱讀模式
    這陣子通過STM32的學(xué)習(xí),學(xué)到的不僅僅是硬件的知識(shí),關(guān)于工程的結(jié)構(gòu)也學(xué)到了一些實(shí)用的東西。以前學(xué)習(xí)51的時(shí)候就是一個(gè)文件寫到底,把所有的函數(shù)寫到一個(gè)c文件中,所有的變量也定義在一個(gè)c文件中。
     但是這陣子接觸到了模塊化的思想,每一個(gè)外設(shè),對(duì)應(yīng)著一個(gè)單獨(dú)的驅(qū)動(dòng)程序,包括一個(gè)c文件還有一個(gè)h文件。在建立工程之后,先建立組,包括USER,可以把主文件放在這個(gè)組里面;SYSTEM組,可以吧系統(tǒng)的一些通用型文件放在這個(gè)組里面;HARDWEAR組,可以把外設(shè)放在這個(gè)組里面。還可以建立一個(gè)組放說明性的文件。這樣使得整個(gè)工程的結(jié)構(gòu)十分的清晰,在調(diào)試程序的時(shí)候十分方便,在以后自己重新看這個(gè)工程的時(shí)候也可以很快的理清整個(gè)工程個(gè)脈絡(luò)。
    在主文件里面,也就是main.c文件里面,寫主程序的代碼,其他的函數(shù)通過調(diào)用頭文件的方式來調(diào)用。對(duì)于每一個(gè)外設(shè),都要有一個(gè)單獨(dú)的驅(qū)動(dòng)程序,這樣的話可以十分方便的進(jìn)行移植,記得在假期寫的MSP430驅(qū)動(dòng)12864液晶以及矩陣鍵盤的程序,修改了很少的地方就可以移植到STM32上進(jìn)行使用,大大的縮短了自己的開發(fā)時(shí)間。在電設(shè)正式比賽的時(shí)候,我寫程序基本上就是在復(fù)制粘貼,重新構(gòu)架程序的框架,因?yàn)橹暗挠?xùn)練中基本上把各個(gè)模塊的驅(qū)動(dòng)程序都寫好了。
     在外設(shè)驅(qū)動(dòng)程序的H文件中,主要進(jìn)行函數(shù)的聲明,一定要切忌在頭文件中定義變量或者定義函數(shù),因?yàn)樵谝粋(gè)工程中,同一個(gè)變量或者函數(shù)可以被聲明很多次,但是只可以進(jìn)行一次定義!因?yàn)轭^文件可能不只是在一個(gè)文件中調(diào)用,所以不可以出現(xiàn)  定義!否則編譯會(huì)出錯(cuò)的!函數(shù)的聲明就是函數(shù)聲明的一般形式。變量的聲明可以采用   extern int i;的形式。但是一定要注意extern int i;和extern int i=0;的區(qū)別,前者是聲明,后者是定義。只要是需要調(diào)用此外設(shè)驅(qū)動(dòng)函數(shù)和變量的文件中,就要加上#include<xxx.h>。H的結(jié)構(gòu)一般為第一行寫#ifndef   _xx_H,這句話判斷xx.h是否已經(jīng)被定義,第二行寫#define ,兩行的意思就是若果xx.h沒有定義,就定義xx.h,下面就是寫變量的聲明和函數(shù)的聲明了。最后一行一定要寫#endif,這是和ifndef和define想匹配的一個(gè)結(jié)構(gòu),不可以少。
#ifndef   _LED_H
#define _LED_H

#define   LED0     PAout(9)

extern u8 x;

void LED(void);

#endif
      在外設(shè)的c文件中,主要是定義相關(guān)的變量,還有相關(guān)的驅(qū)動(dòng)函數(shù),本文件所涉及到的函數(shù)使用也要通過頭文件的調(diào)用進(jìn)行聲明。
      所以,頭文件可以理解為就是各個(gè)c文件之間連接的橋梁。在各個(gè)c文件中才是變量以及函數(shù)的聲明。

回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 一区二区三区在线免费观看 | 日韩综合在线视频 | 欧美黄在线观看 | 最新免费视频 | 日韩国产一区二区三区 | 免费在线观看av片 | 亚洲 中文 欧美 日韩 在线观看 | 一区二区三区国产好的精 | 一区二区三区在线 | 欧 | 韩国精品一区二区三区 | 91免费观看视频 | 久久69精品久久久久久久电影好 | 亚洲欧美综合精品另类天天更新 | 狠狠的干| 国产欧美日韩精品一区 | 亚洲一区二区三区免费视频 | 99精品视频在线 | 欧美日韩国产中文字幕 | 色偷偷噜噜噜亚洲男人 | 91在线视频国产 | 少妇一级淫片免费播放 | 午夜精品一区 | 一区二区三区视频在线观看 | 国产在线中文字幕 | 中文字幕 在线观看 | 欧美成年网站 | 91精品国产乱码久久久久久久 | 一区二区精品视频 | 91精品久久久久久久久久 | 99久久国产综合精品麻豆 | 欧美视频一区二区三区 | 国产91在线精品 | 免费黄色在线观看 | 国产一区999| 91av在线不卡| 免费看a| 亚洲欧美日韩精品久久亚洲区 | 毛片一级片 | 羞羞视频在线观看免费观看 | 香蕉国产在线视频 | 人人做人人澡人人爽欧美 |