原创 單片機多任務的時間片方式實現 .

引言    由於單片機具有價格低、運行要求低、易於開發、穩定可靠等優點,廣泛應用於儀器儀表、家用電器、醫用設備、航空航天、專用設備的智能化管理及過程控制等領域。但是,單片機的位數少、頻率低、內存小、I/O口少等缺點限制了其加載操作系統的可

原创 循環緩存區的實現原理

經常會設置一個數組之類的用來存儲臨時接受的數據,由於數據是臨時的,具有不確定性,隨機性,如果沒及時讀取,會造成數據丟失,對工程的運行不利。 我們如何建立一個循環的buf,當有新數據,存儲在最新的位置,以便訪問。 首先我們假設開闢一個10*

原创 什麼是中斷?

中斷嘛,對於很多新手來講,有點難以理解,舉個容易的現實的例子吧。如果還不懂,騷年,考慮換行吧,或許這不是你的方向呢,詩和遠方在前面岔路左拐。  比如小明和老丈人在喝酒,眼看老丈人就快招架不住了,正當此時,小明的 女友小麗來了,非要小明陪她

原创 判斷你的單片機內存增長方式-大小端

在main函數裏這樣幾句 int  i=0x12345678; char*b = &i; if((b[0]==0x78)&&(b[1]==0x56)&&(b[2]=0x34)&&(b[3]==0x12)) printf(“small ”)

原创 什麼是看門狗?

一樣採用簡單明瞭的例子來解釋。 條件:你家有條狗 事件:讓他看門,報警 結果:1到點不給吃飯,會叫,2到點喂他吃東西,等待下次開飯 影響:叫了,造成噪聲,影響大家休息 單片機的看門狗,故名思議,一個狗是要做爲警醒某些異常事情的,當單片機採

原创 BUG的煩惱

在我們這個行業的學習和工作中,bug是個逃不掉的話題。 最近兩天,在調試一個程序,程序本來是完整的,只是我需要把它移植到另一個平臺上。 框架是沒有動的,連平臺的架構都很像,屬於一個系列的芯片,但問題來了: 總也運行不到想要的結果,和預期總

原创 指針函數和函數指針的區別

1、指針函數:帶指針的函數,其本質是一個函數,函數返回是某一類型的指針。 例如: int  *f(x,y);其結構爲  類型標識符  *函數名(參數) 首先你要從心裏承認這是一個函數,只是返回的是個地址值。由於返回值是地址,所以一般類型都

原创 以臥槽的思維理解(RTOS)嵌入式實時系統(1)

臥槽,該系列文章竟然只分析軟實時系統,硬的咱也不瞭解啊。 實時系統總離不開這些出現頻繁的詞彙:資源,任務 資源:爲任務所佔用的,都可稱之爲資源包括變量,或者數組,結構體,外設資源等 任務:可以想成爲一個可以運行的程序,當程序運行時,它認爲

原创 freertos和ucos的區別

 一、freeRTOS比uCOS II優勝的地方:  1。內核ROM和耗費RAM都比uCOS 小,特別是RAM。 這在單片機裏面是稀缺資源,uCOS至少要5K以上, 而freeOS用2~3K也可以跑的很好。  2。freeRTOS 可以用

原创 C狀態機

原创 將一個字節數據進行高低位鏡像對調的實現函數

unsigned char swap (unsigned char pData){ unsigned char value=0,tmp=0; unsigned char ii,jj; for (ii=0x80,jj=0;ii!=0;ii=

原创 DXP軟件使用快捷鍵

1. PCB設計快捷鍵(單次按鍵)單次按鍵是指按下該鍵並放開。 1-01 * 在PCB電氣層之間切換(小鍵盤上的*)。在交互佈線的過程中,按此鍵則換層並自動添加過孔。這很常用。 1-02 Tab鍵在交互佈線或放置元件、過孔等對象的過程中修

原创 關於ucosii的郵箱

 ucos II 任務間 通信之四:郵箱   學過信號量之後再來看郵箱,發現他們是非常相似的,甚至有時候郵箱可以當做信號量來使用,郵箱相對信號量而言,只是多傳遞了一個指針變量。和信號量很相似,ucos II提供了5個對郵箱進行操作的函數。

原创 鏈表的實現

#include <stdio.h>#include <stdlib.h>typedef int ElemType;//定義結點類型typedef struct Node {    ElemType dat