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

正文內(nèi)容

單片機(jī)c51編程幾個(gè)有用的模塊(編輯修改稿)

2024-09-13 08:28 本頁面
 

【文章內(nèi)容簡(jiǎn)介】 。注意:需要盡快取出接收緩沖區(qū)中的數(shù)據(jù),否則當(dāng)緩沖區(qū)滿之后,新的數(shù)據(jù)將被簡(jiǎn)單的丟掉。字節(jié)級(jí)服務(wù)函數(shù):(如:defineSCOMM_DriverInterface),則可以使用字節(jié)級(jí)服務(wù)函數(shù),即通訊模塊的底層函數(shù)。共有兩個(gè)函數(shù)可以使用:voidSendByte(BYTEbyData)。發(fā)送一個(gè)字節(jié),如果當(dāng)前緩沖區(qū)滿,則等待。參數(shù)byData為要發(fā)送的數(shù)據(jù)。BYTEReceByte()。接收一個(gè)字節(jié),如果當(dāng)前緩沖區(qū)中沒有數(shù)據(jù),則此函數(shù)阻塞,直到接收到數(shù)據(jù)為止。接收到數(shù)據(jù)通過返回值返回。可以通過調(diào)用IsSendBufEmpty()IsSendBufFull()IsReceBufEmpty()IsReceBufFull()宏來判斷緩沖區(qū)的空或滿,以防系統(tǒng)阻塞。不推薦直接使用這一級(jí)的服務(wù)函數(shù),應(yīng)該使用高層次上的服務(wù)函數(shù)或者在這一級(jí)服務(wù)函數(shù)的基礎(chǔ)上構(gòu)造自己的通訊函數(shù)。數(shù)據(jù)包級(jí)服務(wù)函數(shù):(如:defineSCOMM_PackageInterface)則可以使用數(shù)據(jù)包級(jí)服務(wù)函數(shù)。共有兩個(gè)函數(shù)可以使用:voidSendPackage(BYTE*pbyData,BYTEbyLen)。發(fā)送數(shù)據(jù)包,參數(shù)pbyData為將要發(fā)送的數(shù)據(jù)包緩沖區(qū)(數(shù)組)的指針,byLen為將要發(fā)送的數(shù)據(jù)包的長(zhǎng)度。當(dāng)沒有定義SCOMM_DriverInterface時(shí),數(shù)據(jù)被完全緩沖。即不能夠發(fā)送長(zhǎng)度超過發(fā)送緩沖區(qū)長(zhǎng)度的數(shù)據(jù)包。當(dāng)定義了SCOMM_DriverInterface時(shí),采用單字節(jié)發(fā)送,這時(shí)不限制需要發(fā)送的數(shù)據(jù)的長(zhǎng)度。BYTERecePackage(BYTE*pbyData,BYTEbyLen)。接收數(shù)據(jù)包,參數(shù)pbyData為存放將要接收的數(shù)據(jù)的緩沖區(qū),byLen為緩沖區(qū)長(zhǎng)度。返回值為接收到的字節(jié)數(shù),當(dāng)模塊的接收緩沖區(qū)為空時(shí),函數(shù)非阻塞,立即返回,返回值為零。同步發(fā)送接收服務(wù)函數(shù):比如在一個(gè)串行總線多機(jī)通訊系統(tǒng)中,主機(jī)需要定時(shí)循檢各從機(jī)的狀態(tài),往往是發(fā)一個(gè)包含從機(jī)地址及指令的數(shù)據(jù)包給從機(jī),之后等待一定的時(shí)間,從機(jī)需要在這段時(shí)間之內(nèi)給主機(jī)一個(gè)應(yīng)答,如果沒有這個(gè)應(yīng)答,則認(rèn)為從機(jī)工作狀態(tài)出錯(cuò),轉(zhuǎn)去進(jìn)行相應(yīng)的處理。在這個(gè)模型里,主機(jī)不能夠不進(jìn)行等待而給另一臺(tái)從機(jī)發(fā)送指令,也不能夠不管從機(jī)在很久沒有應(yīng)答的情況下繼續(xù)等待。還有一種情況,比如當(dāng)使用485總線進(jìn)行通信時(shí),如果是兩條通訊線則系統(tǒng)只能工作在半雙工模式下,總線在同一時(shí)間內(nèi)只能工作在發(fā)送或接收,為了防止發(fā)送和接收相互干擾,這時(shí)的通訊常常需要使用同步發(fā)送和接收。,則可以使用通訊模塊提供同步發(fā)送接收函數(shù):voidSendPackage(BYTE*pbyData,BYTEbyLen)。發(fā)送數(shù)據(jù)包,參數(shù)pbyData為將要改善的數(shù)據(jù)包的緩沖區(qū)指針,byLen為將要發(fā)送的數(shù)據(jù)包的長(zhǎng)度。這個(gè)函數(shù)可以保證等待一個(gè)完整的數(shù)據(jù)包完全發(fā)送出去之后,它才返回,在這段時(shí)間內(nèi),它會(huì)阻塞運(yùn)行。BYTESyncRecePackage(BYTE*pbyBuf,BYTEbyBufLen,WORDwTimeout,BYTEbyParam)。接收數(shù)據(jù)包。返回值為接收到的數(shù)據(jù)包長(zhǎng)度。參數(shù)pbyBuf為將要接收數(shù)據(jù)包的緩沖區(qū)的指針,byBufLen為提供的緩沖區(qū)的長(zhǎng)度,wTimeout為通信超時(shí)值,如果在發(fā)生了由wTimeout所指定次數(shù)的時(shí)鐘中斷而還沒有接收到或沒有接收到完整的數(shù)據(jù)包時(shí),函數(shù)返回零,最后一個(gè)參數(shù)byParam的含義見后面的解釋。異步發(fā)送接收服務(wù)函數(shù):在一個(gè)簡(jiǎn)單的系統(tǒng)或多機(jī)通訊系統(tǒng)中的從機(jī)上,一般情況下不需要復(fù)雜的停等的工作模式,而且往往單片機(jī)需要對(duì)硬件進(jìn)行控制和檢測(cè),不允許長(zhǎng)時(shí)間的停下來檢測(cè)通訊,但又要求當(dāng)需要通訊時(shí)需要盡快的反應(yīng)速度,這時(shí)就需要使用異步發(fā)送和接收服務(wù)函數(shù)。同樣提供兩個(gè)服務(wù)函數(shù):voidSendPackage(BYTE*pbyData,BYTEbyLen)。發(fā)送數(shù)據(jù)包,參數(shù)pbyData為將要改善的數(shù)據(jù)包的緩沖區(qū)指針,byLen為將要發(fā)送的數(shù)據(jù)包的長(zhǎng)度。這里的函數(shù)的接口
點(diǎn)擊復(fù)制文檔內(nèi)容
畢業(yè)設(shè)計(jì)相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1