freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

單片機(jī)c51編程幾個(gè)有用的模塊-資料下載頁(yè)

2025-08-17 08:28本頁(yè)面
  

【正文】 方法,但不推薦。用戶如果想使用這種方法可以自己更改接收函數(shù)中相應(yīng)的ifdefSCOM_ComplexPackageFormatendif//SCOMM_ComplexPackageFormat預(yù)編譯指令之間的內(nèi)容。例如指定QueryPackageFormat的返回值的含義:0:繼續(xù)找數(shù)據(jù)包頭或繼續(xù)找數(shù)據(jù)包尾。1:找到數(shù)據(jù)包頭。2:找到數(shù)據(jù)包尾。3:數(shù)據(jù)包出錯(cuò),需要拋棄。然后更改源代碼來(lái)實(shí)現(xiàn)上面的協(xié)議。注意:當(dāng)用戶需要使用字符串的時(shí)候,可以利用簡(jiǎn)單的包裝函數(shù)將字符串轉(zhuǎn)換為字節(jié)數(shù)組。所以沒(méi)有必要提供專用的字符串處理函數(shù)。鍵盤掃描模塊鍵盤掃描模塊有兩種工作方式,一種為自動(dòng)的由時(shí)鐘模塊調(diào)用,另一種是由程序員自行調(diào)用。1)由時(shí)鐘模塊自動(dòng)調(diào)用的方式將時(shí)鐘模塊實(shí)現(xiàn)文件()及鍵盤掃描模塊的實(shí)現(xiàn)文件(KBScan。c)包含進(jìn)工程,文件中添加TIMER_KBSCANDELAY宏。時(shí)鐘模塊自動(dòng)對(duì)時(shí)鐘中斷進(jìn)行計(jì)數(shù),當(dāng)達(dá)到TIMER_KBSCANDELAY宏所定義的值后,自動(dòng)調(diào)用鍵盤掃描模塊中的函數(shù)KBScanProcess()進(jìn)行鍵盤掃描,也就是說(shuō),這個(gè)宏的值可以決定按鍵消抖動(dòng)的時(shí)間。用戶應(yīng)該提供兩個(gè)回調(diào)函數(shù)OnKBScan()及OnKeysPressed()。在函數(shù)OnKBScan中進(jìn)行鍵盤掃描,并返回掃描碼。掃描碼的類型缺省為BYTE,當(dāng)鍵盤規(guī)模較大時(shí),BYTE不能夠完全包含鍵盤信息時(shí),,如下:defineKBVALUEWORD這樣,就可以使用16位的鍵盤掃描碼,如果此時(shí)還達(dá)不到要求,可以將鍵盤掃描碼定義成一個(gè)結(jié)構(gòu),但這樣做將會(huì)增加代碼量及消耗更多的RAM資源,故不推薦。掃描模塊調(diào)用OnKBScan取得掃描碼,并調(diào)用用戶可以重定義的宏IsNoKeyPressed來(lái)判斷是否有鍵按下,缺省的IsNoKeyPressed實(shí)現(xiàn)如下:defineIsNoKeyPressed(x)((x)==0x00)即認(rèn)為OnKBScan返回0掃描碼時(shí)為沒(méi)有鍵按下,如果掃描函數(shù)返回其它非零掃描碼做為無(wú)鍵按下的掃描碼時(shí),8位鍵盤掃描碼(缺省值)時(shí),相應(yīng)的掃描函數(shù)為:BYTEOnKBScan()當(dāng)掃描模塊經(jīng)過(guò)軟件消抖動(dòng)之后,發(fā)現(xiàn)有鍵按下,就會(huì)調(diào)用另一個(gè)回調(diào)函數(shù)OnKeysPressed。函數(shù)的聲明應(yīng)該如下:voidOnKeyPressed(BYTEbyKBValue,BYTEbyState)其中中的參數(shù)byKBValue的類型為BYTE,此為缺省值,如果使用其它類型的掃描碼,就將此參數(shù)變?yōu)橄鄳?yīng)類型。這個(gè)值由OnKBScan返回。另一個(gè)參數(shù)byState在通常情況下為零。,同時(shí)鍵盤上的某鍵被按住不放時(shí),掃描模塊對(duì)它自己的調(diào)用(注意這里和TIMER_KBSCANDELAY宏不同,TIMER_KBSCANDELAY是時(shí)鐘中斷足夠的次數(shù)后調(diào)用掃描模塊,而KBSCAN_BRUSHCOUNT為掃描模塊自身的被調(diào)用次數(shù))進(jìn)行計(jì)數(shù),當(dāng)達(dá)到KBSCAN_BRUSTCOUNT時(shí),掃描模塊調(diào)用OnKeysPressed,此時(shí)第一個(gè)參數(shù)的含義不變,而byState變成1,同時(shí)計(jì)數(shù)器復(fù)位,又經(jīng)過(guò)一段時(shí)間后,用值為3的byState調(diào)用OnKeysPressed。這樣就可以很方便的實(shí)現(xiàn)多功能鍵或者檢測(cè)某鍵的長(zhǎng)時(shí)間被按下。2)由用戶自行調(diào)用由用戶自行在程序中調(diào)用掃描模塊,而不是由時(shí)鐘中斷自行調(diào)用。其它與方式1相同。注意:1)函數(shù)KBScanProcess為非阻塞函數(shù),它將在很快的時(shí)間內(nèi)返回,等待再次分配給它執(zhí)行的機(jī)會(huì)。2)函數(shù)KBScanProcess是在時(shí)鐘中斷外部運(yùn)行的,它的過(guò)程可以被任何中斷打斷,但不影響系統(tǒng)運(yùn)行。3)byState的最大值為250,之后被復(fù)位
點(diǎn)擊復(fù)制文檔內(nèi)容
畢業(yè)設(shè)計(jì)相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1