前言 當代碼,不再是簡單的完成需求,對代碼進行堆砌,而是開始思考如何寫出優美代碼的時候,我們的代碼水平必然會不斷提升,今天,咱們來學習環形隊列結構。 環形隊列的基本概念 相信對數據結構有過接觸的小伙伴,對隊列肯定不會陌生,隊列相對來說是比較簡單的數據結構,典型特點是FIFO,即First ...
隊列是一種先進先出 first infirst out,縮寫為FIFO 的線性表。它只允許在標的一端進行插入,而在另一端刪除元素。這和我們日常生活中的排隊是一致的,最早進入隊列的元素最早離開。在隊列中,允許插入的一端叫做隊尾 rear ,允許刪除的一端則稱為對頭 front 排隊買票,窗口一端叫對頭,末尾進隊叫隊尾 。 用鏈表表示的隊列稱為鏈隊列,如圖 所示。一個鏈隊列顯然需要兩個分別指向對頭和 ...
2014-08-15 17:08 0 3281 推薦指數:
前言 當代碼,不再是簡單的完成需求,對代碼進行堆砌,而是開始思考如何寫出優美代碼的時候,我們的代碼水平必然會不斷提升,今天,咱們來學習環形隊列結構。 環形隊列的基本概念 相信對數據結構有過接觸的小伙伴,對隊列肯定不會陌生,隊列相對來說是比較簡單的數據結構,典型特點是FIFO,即First ...
51單片機串口通信 環形緩沖區隊列最近在做畢業設計剛好涉及到51單片機,簡單的研究一下發現51單片機串口只有一個字節的緩存,如果遇到單片機串口中斷沒有及時處理SBUF的值或者串口中斷長時間未退出很容易照成數據丟失,於是就自己寫了個緩沖區,代價就是消耗一部分內存空間,時間-空間本來就是一對矛盾體,想 ...
循環隊列是把順序隊列首尾相連,把存儲隊列元素的表從邏輯上看成一個環,成為循環隊列。 入隊時尾指針向前追趕頭指針;出隊時頭指針向前追趕尾指針。 定義一個循環隊列結構: front表示首元素索引 struct type *fifo表示該隊列中的元素指針,可以指向任意結構體 ...
許多嵌入式應用領域,軟件都是基於輸入響應的組織方式,也叫反應式系統。把輸入 信息進行歸類有:離散的事件(如二值開關信號)、可以表示某個外部信號引發的中斷或者例如發生了定時器溢出等。而數值信號則用於傳遞例如一次A/D采樣的結果。有限狀態機正是利用了這些輸入的事件做為狀態變更的依據,每一種狀態對應 ...
今天在練習51單片機的嵌套中斷時,發現了一個奇怪的點,就是中斷服務函數在執行的時候,無論優先級的高低,都不能被打斷。嗯,就是外部中斷0和外部中斷1都不能打斷定時器0的中斷服務函數。(優先級:外部中斷0>定時器0>外部中斷1). 我本來想開啟定時器 ...
單片機實現AT調試命令 實現目的 對於日常開發過程,我們經常需要借助串口調試設備,所以增加調試指令並且易於擴展是有必要的 思路 1、串口使用中斷接收用戶參數到接收緩沖區,定義0x0d作為結束標志 2、調用命令類型解析回調函數AT_DeviceHandle,對命令消息進行分流,然后進 ...
設計思路:(1)在main函數中不停的控制數碼管顯示時、分、秒 (2)用定時器0控制時間的遞增 (3)用外部中斷0(KEY3)實現秒表的暫停/開始 (4)用外部中斷1(KEY4)實現秒表的停止 開發板:普中科技開發板 代碼如下: ...
一、硬件電路圖 二、程序 #include <reg51.h> #define uchar unsigned char #define uint unsign ...