1、給現(xiàn)金差不多。否則沒人會幫你做。如果讓我來,我會用Labview做。一個小時就做好。初學(xué)者1星期搞定。建議使用Labview吧,電驢上有的是下載。
目前成都創(chuàng)新互聯(lián)已為上1000+的企業(yè)提供了網(wǎng)站建設(shè)、域名、虛擬空間、成都網(wǎng)站托管、企業(yè)網(wǎng)站設(shè)計、平房網(wǎng)站維護等服務(wù),公司將堅持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長,共同發(fā)展。
2、MSComm 控件通過串行端口傳輸和接收數(shù)據(jù),為應(yīng)用程序提供串行通訊功能。MSComm控件在串口編程時非常方便,程序員不必去花時間去了解較為復(fù)雜的API函數(shù),而且在VC、VB、Delphi等語言中均可使用。
3、可以。首先你可以用程序判斷你待發(fā)送的字符的校驗和y 設(shè)你在校驗位要發(fā)送的位為x 設(shè)校驗方式為z 因為 x=y xor z 所以 z=x xor y 即根據(jù)校驗和y 與 你的要求x 決定用奇校驗還是偶校驗。
4、fscanf(fp,%c,&temp);if(temp != 0)putchar(temp);else Sleep(100);} fclose(fp);return 0;} 以前弄的,好久沒看了,不知到對不對。
如果是單個按鍵接到P30和P31,可以在串口發(fā)送的數(shù)據(jù)后邊加上校驗字節(jié),校驗失敗就把數(shù)據(jù)扔了,按鍵1ms讀取一次,只有連續(xù)讀到9次以上的使能電平才算已經(jīng)按下,在9600波特率下發(fā)送數(shù)據(jù)不多應(yīng)該可以做到相互不影響。
的串口中斷,接收和發(fā)送是共用一個中斷向量的,沒法單獨關(guān)閉。一般在中斷服務(wù)函數(shù)中檢測TI標(biāo)志并及時清零就可以了。
關(guān)閉中斷即可 即:ES=0;EA=0;或者刪除掉 ES=1;EA=1;循環(huán)的原因是 由于你打開了中斷又沒寫中斷服務(wù)函數(shù),每次串口發(fā)完數(shù)據(jù)就會跳到0023H地址(串口中斷入口)。
、Windows API通信函數(shù)方法 。與通信有關(guān)的Windows API函數(shù)共有26個,但主要有關(guān)的有: CreateFile() 用 “comn”(n為串口號)作為文件名就可以打開串口。 ReadFile() 讀串口。
上位機:使用一種語言(最好用可視化的,最簡單的如VB)設(shè)計界面及程序,要點是讀寫串口。 設(shè)計通信協(xié)議:字符采用ASCII碼表示,協(xié)議可以包括起始+數(shù)據(jù)+檢驗。
配置串口通信,包括串口號、波特率、校驗位、停止位這些信息;打開串口,和打開文件一樣,在Linux下是這樣,Windows下沒試過,估計也差不多;發(fā)送數(shù)據(jù),即寫串口,就跟寫文件類似;讀取串口,用read就行。
程序1為查詢通信方式接口程序,為一典型的數(shù)據(jù)采集例程。其中bioscom()函數(shù)初始化COM1(此函數(shù)實際調(diào)用BIOS INT 14H中斷0號功能)。
樓主設(shè)定的串口,是工作在方式0嗎?這種方式,并非是UART方式,不知你外接的是什么設(shè)備。--- 方式0是同步串口方式,必須使用同步傳送的器件來測試,不適合用外接計算機的。
其實這個和C語言或VC沒有多大關(guān)系,主要和操作系統(tǒng)有關(guān)。DOS,他對中斷沒有屏蔽,所以你寫程序,直接可以接收中斷,操作寄存器。
函數(shù)說明編輯函數(shù)原型:int bioskey (int cmd)說明:bioskey()的函數(shù)原型在bios.h中bioskey()完成直接鍵盤操作,cmd的值決定執(zhí)行什么操作。
不一樣。 16進計數(shù)器,至少要1個時鐘輸入和4個輸出。 而16選1數(shù)據(jù)選擇器,根據(jù)四根輸入端的編碼,對應(yīng)選定16根輸出為低電平。 兩者可以配合,實現(xiàn)16個輸出輪流出現(xiàn)低電平。
)四選一數(shù)據(jù)選擇器,有四個輸入端,及一個2位二進制數(shù)據(jù)控制端;2)顯然十六選一電路,就需要4個四選一器件。
用兩片可以組成十六選一的數(shù)據(jù)選擇器,關(guān)鍵是要把四個數(shù)據(jù)輸出端合并成一個,才能實現(xiàn)16選一。用一片四輸入的或門。4個四選一的數(shù)據(jù)選擇器用2-4線譯碼器74LS139來選片。
1、SetCommState(com,d); //設(shè)置串口參數(shù),停止位1位,字節(jié)長度8位,波特率9600 char *ch=hello,worldDWORD count;WriteFile(com,ch,strlen(ch)+1,&count,NULL); //發(fā)送字符串。
2、首先你可以用程序判斷你待發(fā)送的字符的校驗和y 設(shè)你在校驗位要發(fā)送的位為x 設(shè)校驗方式為z 因為 x=y xor z 所以 z=x xor y 即根據(jù)校驗和y 與 你的要求x 決定用奇校驗還是偶校驗。
3、你的 Proteus 仿真環(huán)境搭建好了嗎?如果只是簡單的調(diào)試串口,在 Kei l里面也可以跟蹤到串口數(shù)據(jù)的。
4、openfile和createfile,就可以,可以打開串口號的,創(chuàng)建接收信息,發(fā)送。。
5、可以。首先你可以用程序判斷你待發(fā)送的字符的校驗和y 設(shè)你在校驗位要發(fā)送的位為x 設(shè)校驗方式為z 因為 x=y xor z 所以 z=x xor y 即根據(jù)校驗和y 與 你的要求x 決定用奇校驗還是偶校驗。
6、收到 # 你就繼續(xù)讀取文件發(fā)送,收到!你就停止讀取。如此循環(huán),直到文件結(jié)束,判斷文件結(jié)束的命令為 eof(#1)=true 我只能告訴你這個方法,具體代碼自己寫吧。照抄別人的代碼不如自己寫的代碼學(xué)到東西的東西多。
1、串口中斷就是當(dāng)發(fā)送或接收完畢時,產(chǎn)生的中斷,發(fā)生中斷過后,就將主函數(shù)暫停執(zhí)行,保存這個時候正在運行的一些變量,一些內(nèi)存值之類的。然后當(dāng)中斷函數(shù)執(zhí)行完畢過后再回來接著執(zhí)行主函數(shù)里面的東西的。
2、為了把主程序全部放入(定時)中斷中,必須把程序化分成一個個的模塊,即任務(wù),每個任務(wù)完成一個特定的功能,例如掃描鍵盤并檢測按鍵。
3、流程是:(主程序中)發(fā)送數(shù)據(jù)―等待中斷―發(fā)送成功產(chǎn)生中斷―進入中斷清除TL,再次發(fā)送―中斷返回―等待中斷―發(fā)送成功產(chǎn)生中斷―進入中斷清除TL,再次發(fā)送。。循環(huán)而已。
分享文章:C語言關(guān)閉串口函數(shù) 關(guān)閉串口和并口
文章地址:http://chinadenli.net/article48/diosoep.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供移動網(wǎng)站建設(shè)、建站公司、商城網(wǎng)站、靜態(tài)網(wǎng)站、定制網(wǎng)站、微信公眾號
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)