在《單片機(jī)用定時(shí)器分配任務(wù)程序結(jié)構(gòu)總結(jié)》里面,把整個(gè)系統(tǒng)分為兩個(gè)進(jìn)程:主函數(shù)和主函數(shù)調(diào)用的所有函數(shù),這是主進(jìn)程;還有中">

国内精品伊人久久久影视 _久久亚洲AV午夜福利精品一区二_А√天堂资源中文最新版地址 _一区二区三区AV在线_免费一看一级毛片少妇丰满2_亚洲熟妇无码av叧娄本色_可播放的免费男同GAY_欲色欲色天天天WWW_丰满妇女强高潮18ⅩXXXHD

大學(xué)生新聞網(wǎng)
大學(xué)生新聞大學(xué)生活校園文學(xué)大學(xué)生村官
社會實(shí)踐活動(dòng)社會實(shí)踐經(jīng)歷社會實(shí)踐報(bào)告社會實(shí)踐總結(jié)社會實(shí)踐心得
全國排名校友會版軟科排名分類排名本科排名一本排名二本排名?婆琶
求職簡歷職場法則面試技巧職場故事求職招聘
英語學(xué)習(xí)計(jì)算機(jī)學(xué)習(xí)電氣工程機(jī)械工程經(jīng)濟(jì)管理建筑設(shè)計(jì)財(cái)務(wù)會計(jì)
申請書證明書檢討書自薦信演講稿心得體會調(diào)查報(bào)告讀后感求職信推薦信其它范文
 

淺談單片機(jī)程序結(jié)構(gòu)

在學(xué)C++時(shí)對對單片機(jī)程序有一些新的想法。

在《單片機(jī)用定時(shí)器分配任務(wù)程序結(jié)構(gòu)總結(jié)》里面,把整個(gè)系統(tǒng)分為兩個(gè)進(jìn)程:主函數(shù)和主函數(shù)調(diào)用的所有函數(shù),這是主進(jìn)程;還有中斷觸發(fā)的一個(gè)進(jìn)程。

各種中斷的到來會立刻讓主進(jìn)程相關(guān)數(shù)據(jù)入棧保存,然后開始一段新的代碼,執(zhí)行完成后再從堆棧中讀取數(shù)據(jù)返回原來的地方繼續(xù)執(zhí)行,這種切換方式其實(shí)就和操作系統(tǒng)的各個(gè)進(jìn)程間切換是一模一樣的。所以把它們說成是兩個(gè)進(jìn)程確實(shí)非常貼切。

現(xiàn)在,在主進(jìn)程中進(jìn)一步把函數(shù)分為兩類:實(shí)現(xiàn)算法和邏輯功能的函數(shù),以及公共函數(shù)。

先看下面這幅圖吧(取自譚浩強(qiáng)C++程序設(shè)計(jì)P227)

這里面所有函數(shù)都是由主函數(shù)調(diào)用的,屬于主進(jìn)程,并且列出來的所有函數(shù)都體現(xiàn)了算法,也就是用于構(gòu)成邏輯結(jié)構(gòu)。

例如在函數(shù)1里面想進(jìn)入函數(shù)2,不是直接調(diào)用函數(shù)2,而是先返回函數(shù)1,再由主循環(huán)分配到函數(shù)2。

這種程序結(jié)構(gòu)特別適合于多種“界面”的功能,比如電子鐘里面的時(shí)鐘顯示界面和設(shè)置界面,就是兩個(gè)函數(shù),進(jìn)去了之后就執(zhí)行這個(gè)函數(shù)的特定的功能。再比如DYS388的顯示方式,有16位全彩顯示和7色顯示兩種模式,這兩種顯示模式就是兩個(gè)函數(shù),進(jìn)入某一種顯示模式后就會以那種顯示模式特定的顯示方式進(jìn)行顯示。一般情況下,主進(jìn)程不會停留在主循環(huán)里,而是偶爾退出到主循環(huán)重新分配下一個(gè)將要進(jìn)入的函數(shù)。

這些函數(shù)之間有一些公共變量,也有一些于函數(shù)對應(yīng)的用于完成特定功能的變量。比如DYS388中16位刷新函數(shù)和7色刷新函數(shù)都對應(yīng)一段自己的顯存,這些顯存是有特定用處的,一般其它函數(shù)不會使用(但確實(shí)是公共變量,是可以被使用的);也有一些變量作用就是被各個(gè)函數(shù)使用,甚至用于函數(shù)間通信,輔助完成這些函數(shù)之間的邏輯結(jié)構(gòu)的構(gòu)建,比如DYS388中的界面標(biāo)志變量DispMode,這個(gè)標(biāo)志變量就指明了當(dāng)前工作于那種刷新方式,任何函數(shù)(包括中斷進(jìn)程中的函數(shù))都可以通過改變此變量來切換顯示模式。

而今天我要說的不只是這些,上面說的是變量,有些變量對應(yīng)特定的函數(shù)使用,有些變量可以被所有函數(shù)使用。

與之對應(yīng)的還有函數(shù),圖中畫出的函數(shù)都是所謂的“界面函數(shù)”(自己起的名字哈),用于完成某一特定任務(wù)的函數(shù),一般進(jìn)入這個(gè)函數(shù)后主進(jìn)程就會停在里面,當(dāng)達(dá)到特殊目的后返回。而這些“界面函數(shù)”也會不斷地調(diào)用其它函數(shù)完成功能,比如延時(shí)等。

這些被界面函數(shù)調(diào)用的函數(shù)把它們稱作“工具函數(shù)”。這些功能函數(shù)中有一些是公用的,比如延時(shí)函數(shù),很多地方都會用到。而也有一些是某一個(gè)界面函數(shù)才會用到的,用于完成這個(gè)特殊功能的函數(shù),比如DYS388中的一行的掃描程序,16位顯示函數(shù)不斷調(diào)用行掃描函數(shù)從而完成整屏的刷新。

這樣,這些所謂的“工具函數(shù)”就和變量對應(yīng)起來了。整體的程序框架是由各個(gè)“界面函數(shù)”和少數(shù)關(guān)鍵的全局變量構(gòu)建起來的。為這個(gè)框架服務(wù)的還有其它一些變量和工具函數(shù),有些變量為特定的界面函數(shù)服務(wù),有些則可為所有函數(shù)使用;有些工具函數(shù)為特定的界面函數(shù)調(diào)用,有些工具函數(shù)則可被所有的界面函數(shù)調(diào)用。

到此還沒有結(jié)束,上面只考慮了主進(jìn)程,而中斷也會開辟一條進(jìn)程,這個(gè)進(jìn)程中也可能會有類似主進(jìn)程的結(jié)構(gòu),雖然在實(shí)際使用中單片機(jī)中斷程序一般比較簡單,不會有太復(fù)雜的結(jié)構(gòu),因?yàn)橹袛嗵幚沓绦蛲顺龊,里面的局部變量不會想主進(jìn)程那樣被保存下來,中斷處理程序只能靠全局變量進(jìn)行記憶。However,中斷處理程序毫無疑問地可以使用上面定義的所有全局變量和函數(shù)。

在這里我想說的是,當(dāng)一個(gè)進(jìn)程調(diào)用另一個(gè)進(jìn)程會使用的函數(shù)(函數(shù)A)時(shí)一定要小心,因?yàn)檫@個(gè)進(jìn)程是由中斷開辟的(至少在單片機(jī)里面是),而這個(gè)中斷可能正是從將要調(diào)用的函數(shù)A中跳出來的,即使不是從即將調(diào)用的函數(shù)A中跳出(假設(shè)從函數(shù)B中跳出),也可能函數(shù)A會調(diào)用函數(shù)B。

這些都會導(dǎo)致單片機(jī)死機(jī)的,編譯時(shí)也應(yīng)該會有警告的。

總結(jié)一下,這篇文章主要想說如下內(nèi)容:

整個(gè)主進(jìn)程的框架是由“界面函數(shù)”和一些關(guān)鍵的全局變量構(gòu)成的。有其它的變量和函數(shù)為它們服務(wù),有些變量和函數(shù)是為了輔助某一個(gè)界面函數(shù)完成特殊功能,其它函數(shù)一般不會用到;也有些變量和函數(shù)位全局服務(wù)的,完成一些通用的功能。

除主進(jìn)程外,由中斷開辟的另一道進(jìn)程也可能會有為自己服務(wù)的變量和函數(shù),當(dāng)然也可以調(diào)用主進(jìn)程中的變量和函數(shù),利用他們?yōu)樽约悍⻊?wù),或者用于跟主進(jìn)程通信。而在中斷進(jìn)程調(diào)用主進(jìn)程的函數(shù)時(shí)一定要注意一個(gè)原則:不要讓調(diào)用的函數(shù)調(diào)用到被中斷的函數(shù)。必要時(shí)可以為中斷進(jìn)程單獨(dú)寫一個(gè)服務(wù)函數(shù),函數(shù)內(nèi)容可能跟主進(jìn)程中的某個(gè)函數(shù)一模一樣,但這樣可以避免上述問題。
    作者:大學(xué)生新聞網(wǎng) 來源:大學(xué)生新聞網(wǎng)
    發(fā)布時(shí)間:2018-11-26 瀏覽:
  • 電源線你是否都了解他們的使用方法?
  • 面對如此眾多的花樣繁多的帶插頭的電源線你是否都了解他們的使用方法,是不是只是隨便找個(gè)插座就插上了呢?其實(shí)這就是電器隱患啊。在眾
  • 01-02 關(guān)注:141
  • 施工用電安全距離與外電防護(hù)
  • 一、用電管理:

    ⒈臨時(shí)用電必須按“《施工現(xiàn)場臨時(shí)用電安全技術(shù)規(guī)范》JGJ46-88”編制用電施工組織設(shè)計(jì)制定安全用電技術(shù)措
  • 01-02 關(guān)注:135
  • 電表箱裝飾畫的特點(diǎn)
  • 電表箱裝飾畫,也叫做配電箱裝飾畫、電閘盒裝飾畫、電源開關(guān)裝飾畫等多個(gè)名字,這些都是根據(jù)其使用功能來命名的,電表箱裝飾畫的主要作
  • 01-02 關(guān)注:135
  • 電器裝置的四個(gè)裝設(shè)原則
  • 施工現(xiàn)場離不開用電,工程設(shè)備、施工機(jī)具、現(xiàn)場照明、電氣安裝等,都需要電能的支持。隨著建設(shè)工程項(xiàng)目的科技含量和智能化的加強(qiáng),施工
  • 01-02 關(guān)注:290
  • 家用電器的漏電保護(hù)須知
  • 在當(dāng)前的生活當(dāng)中,家用電器的選擇是越來越多,像電熱水器,電磁爐,微波爐等等,無論是哪一種家用電器,在漏電保護(hù)上要做到全面保障,
  • 01-02 關(guān)注:123
  • 電氣工作人員必須熟悉施工用電
  • 1. 電氣工作人員必須熟悉施工用電安全技術(shù)規(guī)程,必須具備必要的技術(shù)理論知識和實(shí)際操作技能,并經(jīng)考試合格,方可持證上崗工作。&#6
  • 01-02 關(guān)注:138
国产精品99久久精品爆乳| 99精品国产福利在线观看 | 中文字幕一区二区人妻| 精品熟女少妇AV免费久久| 激情无码白丝人妻又大又粗| CHINESE国产AVVIDEOXXXX实拍| chinese老女人老熟妇hd| 超碰97久久国产精品牛牛| 寡妇两腿间黑黑的毛毛是什么| 国产爆乳无码一区二区麻豆| 国产乱妇乱子视频在播放| 幻女FREE性俄罗斯毛片福| 久久人人爽人人人人片AV| 内射人妻视频国内| 色婷婷AV一区二区三区浪潮 | 久久午夜夜伦鲁鲁片无码免费 | 亚洲日韩精品无码一区二区三区| 亚洲AV永久无码精品水牛影视| 亚洲中文字幕AⅤ天堂| 亚洲AVAV国产AV综合AV| 校园H学长含着粉嫩小奶| 日本伦奷在线播放| 搡老女人老妇女老熟妇| 国内精品乱码卡一卡2卡三卡| 在线观看国产一区二区三区| 玩小雪跪趴把腿分到最大影视频| 美女扒开粉嫩尿口的照片| 国产三级在线观看播放| 高跟丝袜AV专区| 娇喘连连抽搐高潮小说| 久久人人爽人人爽人人片AVY | 国产亚洲AV手机在线观看| 精品国产一区二区AV片 | 无遮挡啪啪摇乳动态图GIF| 天天爽夜夜爽人人爽一区二区| 人人妻人人添人人爽欧美一区| 少妇AAA级久久久无码精品片| 天美传媒蜜桃传媒精东豆| 亚洲AV综合色区无码4区| 日韩欧美AⅤ综合网站发布| 日韩AV无码成人精品国产| 无码少妇一区二区三区芒果| 扒掉内裤露出打嫩嫩的屁股| 国产精品任我爽爆在线播放| 国产精品久免费的黄网站| 国产AV精品一区二区三区| 亚洲精品国产第一综合99久久| 日本XXXX色视频在线观看免费| 丁香婷婷激情综合俺也去| 把女人弄爽大黄A大片片| 久久996RE热这里只有精品无| 狠狠色丁香久久婷婷综合_中| 国产成人精品一区二区三区免费| 老师你的好软水好多的时候图片| 日本大学学校AAAAA| 亚洲日韩国产精品无码AV| YY111111少妇影院理论片| 国产三级精品三级在线专区| 久久精品国产亚洲AV蜜臀色欲| 欧美A级情欲片在线观看免费| 天堂8在线天堂资源在线| 亚洲精品国产AV天美传媒 | 中文字幕一区二区三区久久网站 | 999久久久无码国产精品| AV无码AV在线A∨天堂APP| 不卡无码人妻一区三区| 丰满爆乳一区二区三区| 免费无码国产V片在线观看| 亚洲AV成人无码一二三| 再灬再灬再灬深一点舒服| 成片在线看一区二区草莓 | 欧美黑人男士和白人美女a级黄片视频在线播放| 日韩成人精品久久网站| 亚洲国产精品一区二区制服| 啊~每一次都撞到最里面| 精品国产精品国产偷麻豆| 日本XXXX裸体撤尿| 亚洲一区二区无码偷拍| 曰批免费视频播放免费直播| 把腿张开老子CAO烂你动态图| 国产美女被遭高潮免费网站| 久久久久亚洲AV成人人电影软件| 日本少妇人妻XXXXX18| 亚洲AV无码午夜嘿嘿嘿| 亚洲中文久久精品无码WW16| 一二三四社区在线高清观看| 成人永久免费高清视频在线观看| 免费一本色道久久一区| 亚洲欧美精品视频| 扒开女人P添大荫蒂| 久久精品国产亚洲AV高清漫画| 女人高潮被爽到呻吟在线观看| 欧美成人精品一区二区| 亚洲人成在线观看无码| 国产区在线观看成人精品| 日韩欧美人妻系列中文字幕一区二区三区| 中国CHINAGARY武警网站| 精品成人免费一区二区| 午夜成人爽爽爽视频在线观看| 成熟交BGMBGMBGM日本| 妺妺窝人体色www聚色窝图| 亚洲色婷婷六月亚洲婷婷6月| 国产一区精选播放022| 无码A级毛片视频| 大胆极品美軳人人体| 日99久9在线 | 免费| 亚洲中文字幕无码中文| 压在窗户上C给别人看窗前| 日韩欧美亚洲综合久久影院DS| 雨后小故事完整版| 让女人受不了19种新姿势| 色又黄又爽18禁免费网站| 办公室娇喘的短裙老师| 女人18毛片A级毛片| 宅男噜噜噜66网站在线观看| 久久精品国产一区二区无码| 亚洲成熟丰满熟妇高潮XXXXX| 国产熟女露脸大叫高潮| 无码人妻精品一区二区三区9厂| 粉嫩av.一区二区三区免费| 日本久久久WWW成人免费毛片丨| GOGO人体大胆高清啪啪| 欧美成天堂网地址| AV鲁丝一区鲁丝二区鲁丝四| 男人一生最吉利的网名| 97国产精华最好的产品在线| 日本乱熟人妻精品中文字幕| 亚洲成AⅤ人在线观看无码| AV天堂午夜精品一区| 黑人GAY大长雕TUBE| 色欲丰满熟妇人妻AV无码| 亚洲一线产区二线产区区| 波多野结衣av无码久久一区| 日本工口里番H彩色无遮挡全彩 | 国产美女被遭强高潮免费网站| 三级无码在钱AV无码在钱| 成 年 人 黄 色 大 片大 全| 人妻无码一区二区三区蜜桃| 超碰97人人模人人爽人人喊 | 18禁真人床震无遮挡免费| 免费无遮挡禁18污污网站| 2023国精产品一二二线免费 | 国产丰满老熟女重口对白| 特级毛片内射WWW无码| 国产精品久久久久久AV| 亚洲ⅤA中文字幕无码毛片| 无码加勒比一区二区三区四区| 91人妻人人爽人人狠狠| 人人爽天天碰狠狠添| AV无码久久久久不卡蜜桃| 久久精品人人看人人爽| 亚洲AV无码成人精品区一本二本| 丁香五月天天综合亚洲| 人妻夜夜添夜夜无码AV| 99RE8这里有精品热视频| 免费观看电视剧全集在线播放| 中国人妻XXXXX免费看| 军人边走边吮她的花蒂| 又爽又黄又无遮挡的视频在线观看| 中文字幕无码久久一区| 亚洲AV成人一区二区电影在线| 欧美人与动牲交A欧美精品Z| 国产成 人 黄 色 网 站 小说| 国产99久久九九精品无码| 午夜一区欧美二区高清三区| 精品欧美黑人一区二区三区| 中国少妇的BBWWBBWW| 人畜禽CORPORATION| 国产成人精品日本亚洲专区61 | 好吊视频一区二区三区| 野草乱码一二三四区别在哪| 女人扒下裤让男人桶到爽| 村长你的机巴太粗太长了| 性欧美极品XXXX欧美一区二区| 久久精品99久久香蕉国产| ASIAN艳丽的少妇PICS| 天堂А√在线中文在线| 精品国内在视频线2019| 7777精品伊人久久久大香线蕉| 撒尿特写XXXⅩ| 国内精品九九久久精品| 中文字幕在线不卡一区二区 | CHINESE老女人老熟妇| 图片区小说区偷拍区日韩| 精品无码黑人又粗又大又长AV| AV天堂久久天堂AV色综合| 无码人妻久久1区2区3区| 久久精品99国产精品日本| 爆乳熟妇一区二区三区| 亚洲AV无码一区二区三区观看| 邻居少妇很紧毛多水多| 丰满少妇熟女高潮流白浆| 亚洲娇小被黑人巨大撑爆| 欧美视频一区二区三区四区| 国产精品未满十八禁止观看| 一本色道久久综合狠狠躁| 日韩久久一区二区三区蜜桃| 精品3D动画肉动漫在线无码 | 亚洲精品无码专区在线观看| 欧美操逼视频网站|