亚洲春色中文字幕久久久-三上亚,一吻二脱三床四吻胸,国产真实伦对白视频全集,在线毛片观看,精品成品入口黄网,国产毛aⅴ片久久久,亚洲AV色香蕉一区二区三区老师,萧皇后A级艳片,色情日本视频更新,99久久亚洲精品日本无码
標(biāo)題:
51單片機(jī)微系統(tǒng)源碼 消息機(jī)制加隊(duì)列
[打印本頁(yè)]
作者:
1342853999
時(shí)間:
2017-2-28 12:23
標(biāo)題:
51單片機(jī)微系統(tǒng)源碼 消息機(jī)制加隊(duì)列
消息機(jī)制加隊(duì)列,源碼帶詳細(xì)注釋
作者介紹:
鳳舞天,原名:王紹偉,標(biāo)識(shí):wangsw
2001年: 畢業(yè)于蘭州大學(xué)電信專業(yè)。在大學(xué)期間擔(dān)任電子協(xié)會(huì)會(huì)長(zhǎng),為學(xué)校同學(xué)維修隨身聽(tīng)、收音機(jī)等電子設(shè)備,奠定焊接、維修和做事一看、二想、三做、四檢測(cè)的基礎(chǔ)。
2001年: 進(jìn)入中科院半導(dǎo)體所光電中心工作。
2003年: 基于MCU51開(kāi)發(fā)了實(shí)用單片機(jī)系統(tǒng)(MS)并開(kāi)源推廣,獲得廣大嵌入式初學(xué)者的好評(píng)。
2004年: 創(chuàng)業(yè)做逆變器,雖然失敗,但是從技術(shù)上、物料采購(gòu)上、生產(chǎn)上積累了寶貴的經(jīng)驗(yàn)。
2005年: 再次創(chuàng)業(yè),但是由于對(duì)市場(chǎng)不了解和對(duì)產(chǎn)品定位不明確,最終導(dǎo)致失敗。
2006年: 年在深圳市華禹高科技有限公司工作,引入了MTK方案,開(kāi)始手機(jī)開(kāi)發(fā)。
2008年: 發(fā)明了“電阻電容電感樣品本”,解決廣大電子愛(ài)好者基礎(chǔ)元器件的采購(gòu)、調(diào)試、存放問(wèn)題。
2009年: 創(chuàng)立了華禹工控科技有限公司,推出了P1300手機(jī)開(kāi)發(fā)模塊及相關(guān)手持POS產(chǎn)品。
2011年: 與東莞市俊知機(jī)械有限公司合作,研發(fā)大功率(6KW)超高頻(1MHz)感應(yīng)加熱焊接機(jī)。并于2012年,全面投入生產(chǎn),同時(shí)獲得工業(yè)自動(dòng)化經(jīng)驗(yàn)。
2013年: 開(kāi)始研發(fā)msPLC,針對(duì)工業(yè)自動(dòng)化行業(yè)開(kāi)源設(shè)計(jì)嵌入式PLC,并開(kāi)發(fā)了通用開(kāi)源平臺(tái)架構(gòu)嵌入式微系統(tǒng)(msOS)。
2014年: 應(yīng)邀參加清華大學(xué)第二屆開(kāi)源操作系統(tǒng)技術(shù)年會(huì)推廣msOS,編寫msOS書(shū)籍,推廣msOS。
0.png
(66.85 KB, 下載次數(shù): 126)
下載附件
2017-2-28 23:22 上傳
完整代碼下載:
MS_MCU51_V1.00.rar
(111.5 KB, 下載次數(shù): 74)
2017-2-28 12:22 上傳
點(diǎn)擊文件名下載附件
下載積分: 黑幣 -5
system.c源碼:
/*
********************************************************************************
* 實(shí)用單片機(jī)系統(tǒng)
* MS
*
* 主芯片:MCU51
* 深圳市雨滴科技有限公司
*
* 作者:王紹偉
* 網(wǎng)名:鳳舞天
* 標(biāo)識(shí):Wangsw
********************************************************************************
*文件名 : system.c
*作用 : 系統(tǒng)應(yīng)用文件
*創(chuàng)建時(shí)間 : 2013.8.17
********************************************************************************
*/
#include "system.h"
#define MessageBufferSum 4 // 消息隊(duì)列深度
struct MessageQueue // 定義一個(gè)隊(duì)列結(jié)構(gòu)體
{
ushort * Start; // 指針指向隊(duì)列開(kāi)始
ushort * End; // 指針指向隊(duì)列結(jié)束
ushort * In; // 指針插入一個(gè)消息
ushort * Out; // 指針取出一個(gè)消息
byte Size; // 隊(duì)列長(zhǎng)度
byte Entries; // 消息長(zhǎng)度
ushort Buffer[MessageBufferSum]; // 隊(duì)列存儲(chǔ)數(shù)組
} ;
static struct MessageQueue idata MessageQueue;
static bool data EaSave;
static byte data CriticalNesting = 0;
byte code HextoAscii[16] =
{
'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F'
};
void Delay(ushort delayClock)
{
while(delayClock--);
}
void DelayUs(ushort delayTime)
{
while(delayTime--);
}
void DelayMs(ushort delayTime)
{
while(delayTime--)
{
DelayUs(1000);
}
}
byte HexToAscii(byte hex)
{
Assert(hex < 16); //斷言,一旦條件錯(cuò)誤,就執(zhí)行
return HextoAscii[hex];
}
/*******************************************************************************
* 函數(shù)名 : EnterCritical
* 描述 : 進(jìn)入臨界態(tài),防止中斷產(chǎn)生
* 輸入?yún)?shù) : 無(wú)
* 返回參數(shù) : 無(wú)
********************************************************************************
*版本 作者 日期 說(shuō)明
*V0.1 Wangsw 2013/10/11 初始版本
*******************************************************************************/
void EnterCritical(void)
{
if (CriticalNesting == 0) //第一級(jí)臨界態(tài)嵌套,保存全局中斷寄存器,關(guān)閉中斷
EA = false;
CriticalNesting++;
}
/*******************************************************************************
* 函數(shù)名 : ExitCritical
* 描述 : 退出臨界態(tài),恢復(fù)原來(lái)狀態(tài)
* 輸入?yún)?shù) : 無(wú)
* 返回參數(shù) : 無(wú)
********************************************************************************
*版本 作者 日期 說(shuō)明
*V0.1 Wangsw 2013/10/11 初始版本
*******************************************************************************/
void ExitCritical(void)
{
if (CriticalNesting > 0)
{
CriticalNesting--;
if (CriticalNesting == 0)//第一級(jí)臨界態(tài)嵌套,恢復(fù)原狀態(tài)
EA = true;
}
}
void InitMessageQueue(void)
{
MessageQueue.Start = MessageQueue.Buffer;
MessageQueue.End = MessageQueue.Buffer + MessageBufferSum - 1;
MessageQueue.In = MessageQueue.Start;
MessageQueue.Out = MessageQueue.Start;
MessageQueue.Size = MessageBufferSum;
MessageQueue.Entries = 0;
}
/*******************************************************************************
* 函數(shù)名 : PostMessage
* 描述 : 發(fā)送消息
* 輸入?yún)?shù) : message: 消息類型,
* value:消息值,MessageTimer類型為16bit地址,其他類型下都是8bit數(shù)據(jù)
* 返回參數(shù) : 無(wú)
*******************************************************************************/
void PostMessage(MessageEnum message, ushort value)
{
EnterCritical(); // 進(jìn)入臨界態(tài)
Assert(MessageQueue.Entries <= MessageQueue.Size); // 斷言,判斷是否滿。
if(message == MessageTimer) // 軟件定時(shí)器類型
*MessageQueue.In = value; // 直接賦16bit地址
else // 常規(guī)消息
{
UshortToByte1(*MessageQueue.In) = message; // 把類型賦給高地址
UshortToByte0(*MessageQueue.In) = value & 0xFF; // 把值賦給低地址
}
MessageQueue.In++; // 消息入口加一
if(MessageQueue.In > MessageQueue.End) // 入口越界循環(huán)
MessageQueue.In = MessageQueue.Start;
MessageQueue.Entries++; // 消息數(shù)量加一
ExitCritical(); // 退出臨界態(tài)
}
/*******************************************************************************
* 函數(shù)名 : PendMessageQueue
* 描述 : 等待消息
* 輸入?yún)?shù) : 無(wú)
* 返回參數(shù) : 無(wú)
*******************************************************************************/
ushort PendMessageQueue(void)
{
ushort message;
while(MessageQueue.Entries == 0) // 等待消息
{ /* 推薦在這兒喂狗 */ };
message = *MessageQueue.Out++; // 消息出口加一
MessageQueue.Entries--; // 消息數(shù)量減一
if (MessageQueue.Out > MessageQueue.End) // 出口越界循環(huán)
MessageQueue.Out = MessageQueue.Start;
return(message); // 返回消息
}
復(fù)制代碼
作者:
376262974
時(shí)間:
2017-6-28 10:16
希望是個(gè)好東西,研究研究
作者:
fcxqczzyjdxx
時(shí)間:
2017-9-11 10:28
STC單片機(jī)定時(shí)器中斷自動(dòng)清零,不適合
不知道有沒(méi)有改進(jìn)的方法
作者:
lukhxw
時(shí)間:
2017-9-12 19:15
正在思考這個(gè)問(wèn)題,幫大忙了
謝謝~
作者:
bjhou2009
時(shí)間:
2017-10-4 20:51
積分不夠啊,給個(gè)鏈接下下
作者:
LIAOYAN123
時(shí)間:
2018-5-14 19:17
希望是個(gè)好東西,研究研究,現(xiàn)在正要需要
作者:
zhaobiao
時(shí)間:
2018-7-12 15:40
KeilC51中使用函數(shù)指針有沒(méi)有影響,記得函數(shù)指針做參數(shù)在c51里面需要特殊處理。
作者:
wdliming
時(shí)間:
2018-8-8 18:01
謝謝分享,重新學(xué)習(xí)~~
作者:
西點(diǎn)鐘靈毓秀
時(shí)間:
2018-9-26 08:50
應(yīng)該是好東西,看看
作者:
Ma372415166
時(shí)間:
2020-8-12 14:07
thinkyou very much!
歡迎光臨 (http://www.denmoz.com/bbs/)
Powered by Discuz! X3.1