串口編程
① VB串口編程
VB2005有rs232的控制項,拖到窗體上,就可以收發串口的數據,你說的燈亮起來,只是具體的數據內容,這個內容類似A代表燈亮,B代表燈滅,完全自已控制
補充:你說的高低電平那是低一層的,單片機的接收協議一般是個表格,什麼字元代表什麼功能,SerialPort只是控制流向的字元
要說高低電平,那就是驅動了,則不能用控制項,語言應用C。
我對單片機不知,所以……
② 串口編程
不知道m_ctrlAutoSend是什麼,看字面和上下文意思,是一個決定是否自動發送數據的復選框?
問號處的意思是:如果串口沒有打開,就把m_ctrlAutoSend設為未選中,從而不會自動發送數據。
這是顯然的,串口沒打開,m_hComm是空的就發數據,不是異常跳出的節奏么。
③ 如何用vs2012進行串口編程
System.IO.Ports.SerialPort在命名空間System.IO.Ports;中。很多強大的串口助手,如格西烽火串口助手就是用這個類工作的。
④ 串口通信編程C語言入門
#include<conio.h>
#include<stdio.h>
#include<bios.h>
#define true 1
main( )
{
char ch;int i;
char a[50];
clrscr();
for(i=0;i<50;i++)
{
a[i]='a'+i;
}
i=0;
outportb(0x3fb,0x80);
outportb(0x3f8,0);
outportb(0x3f9,0x06);
outportb(0x3fb,0x03);
outportb(0x3fc,0x03);
outportb(0x3f8,a[i]);
while (true)
{
ch=inportb(0x3fd);
if(ch&0x01)
{
ch=inportb(0x3f8);
if(ch=='\r')
{printf("jikejlm");
outportb(0x3f8,a[i+1]);i++;
}
else
{ putch(ch);putch('\n');}
}
if(bioskey(1))
{
ch=bioskey(0)&0x0ff;
if(ch=='\r')
{
outportb(0x3f8,ch);
putch(ch);
}
}
}
}
⑤ Windows下的C語言串口編程
大概說下思路,串口在編程里相當於一個文件,因此要創建句柄來操作,還要給DCB結構休賦值進行串口配置等,你可以查下DCB結構體,記得在DOS下編程時,使用#include <windows.h>。藏的深是為了更簡單的使用。還有就是由於接受要一直進行檢測,所以一般都專門開一線程進行監聽。
⑥ vc++串口編程
我這里有例子
怎麼給你呢
給你一個簡單的初始化串口的代碼:
HANDLE
hCom=CreateFile("COM2",
GENERIC_READ|GENERIC_WRITE,0,
NULL,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL|FILE_FLAG_OVERLAPPED,
NULL);
if(hCom==(HANDLE)-1)
{
AfxMessageBox("打開COM失敗!");
return
FALSE;
}
SetupComm(hCom,1024,1024);
COMMTIMEOUTS
TimeOuts;
TimeOuts.ReadIntervalTimeout=MAXDWORD;
TimeOuts.ReadTotalTimeoutMultiplier=0;
TimeOuts.WriteTotalTimeoutMultiplier=100;
TimeOuts.WriteTotalTimeoutConstant=500;
SetCommTimeouts(hCom,&TimeOuts);
//設置超時
DCB
dcb;
GetCommState(hCom,&dcb);
dcb.BaudRate=9600;
//波特率為9600
dcb.ByteSize=8;
//每個位元組有8位
dcb.Parity=NOPARITY;
//無奇偶校驗位
dcb.StopBits=1;
//1個停止位
SetCommState(hCom,&dcb);
PurgeComm(hCom,PURGE_TXCLEAR|PURGE_RXCLEAR);
////////////////////////////////////////////////
CKeyBoardDlg::EnableWindow(false);
⑦ 串口編程是個什麼東西
串口編程用於工業控制,PC側可利用MSCOMM控制項或WIN API函數操作串口(RS232口)與外設進行通信,命令外設執行某種操作,獲取外設返回的數據,進行數據處理。外設使用PLC及單片機,用C或匯編等語言編程。
⑧ 關於串口通信編程的疑問
上位機以PC,下位機以單片機為例,兩者在進行通信時一般用串口通信,而數據通過串口時是以16進制來傳送的,為了發送、接收處理方便,建議通過函數做一下處理,使發送的數據為16進制,這樣,通過串口接收到的數據也是相同的16進制,方便查看。
如果想讓下位機做某事,則需要上位機給下位機發送指令,也就是數據幀,這個要根據協議來寫,比如移動GSM、聯通GSM協議,里邊都有數據幀的格式以及具體定義。
補充:這個協議不是說串口通信協議,那個協議是根據用途或要求來採用的,比如說,要用單片機做一個聯通GSM協議的數據通信,那麼數據幀的格式必須是X開頭,X結尾的,有固定的格式。再比如移動的,數據幀格式有7E開頭7E結尾的,也有!開頭!結尾的,如果你的數據幀格式不正確,將無法識別而不能做出相關的動作。
你如果只是自己弄著玩,數據幀可以自己定義,但如果要做項目,最好根據要求協議來編寫。
⑨ 做串口編程用什麼語言和開發環境比較好
如果是新手, 就用vb6, mscomm控制項編程比較簡單.
想多學些, 就用c#吧. 網上有一個高手寫了幾篇C#串口操作,包括通訊協議分析的文章. 很是到位!
⑩ 關於串口編程的一個疑問
Linux開發方面的好論壇、網站
CU chinaunix.net
UC unix-center.net
Good luck