當前位置:首頁 » 編程軟體 » 串口通信編程

串口通信編程

發布時間: 2022-01-26 07:12:22

㈠ 串口通信程序

根據你的要求,寫了幾個簡單的子函數。 #include<reg52.h>
#define N 6 //方便修改密碼的長度
sbit key=P1^0; //確定發送密碼,發送完後將密碼清0
unsigned char i,a[N]; //定義數組來存放密碼 void serial_init()//串口初始化
{
TMOD=0x20;//設置定時器1為工作方式2
TH1=0xfd; //波特率為9600,標准波特率
TL1=0xfd;
TR1=1; //啟動定時器1
PCON&=0x7f; //SMOD=0,這里不需要倍頻
SCON=0x40; //設置串口為工作方式1
} void serial_send() //串口發送函數
{
for(i=0;i<N;i++)
{
TI=0; //串口發送完畢標志位清0
SBUF=a[i]; //發送數組中存放的密碼字元
while(!TI); //等待發送完畢
}
} void keyscan() //鍵盤掃描
{
if(!key) //用獨立鍵盤簡單舉例,按下為低電平
{
delay(10);//延時10毫秒,去抖。delay()函數省略
if(!key)
{ while(!key); //鬆手監測
serial_send(); //發送密碼
for(i=0;i<N;i++) //發送完畢清0
a[i]=0;
}
}
} void main(){ serial_send() ; while(1) { keyscan() ; }}大概就是這個思路,你可以把密碼鍵盤的值都寫在keyscan()函數里,可以加刪除鍵(密碼輸錯可以退格),最好加個顯示,密碼雖然不能顯示出來,但還是要顯示輸入的個數吧。還有個要提醒你的,就是上位機軟體的編寫,下位機發送的格式要與上位機接收的格式對應(字元或者數字)。

㈡ 串口通信編程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);

}

}

}

}

㈢ RS232串口通信的程序怎麼寫啊

c或vb中有mscomm控制項很好用,我常用,以下是我用delphi寫的
with mscomm1 do begin

commport:=1; //埠號
settings:=9600,n,8,1; //埠設置
InputMode:=0; //設置或返回Input屬性取回的數據的類型 0:文本 1:二進制
RThreshold:=1; //每次接收到字元即產生OnComm事件
SThreshold:=0; //傳輸緩沖區允許最小字元數
InBufferCount:=0; //清空接收緩沖區內容
InputLen:=0; //為0時 Input一次讀取整個緩沖區內容
DTREnable:=true; //數據終端准備好
RTSEnable:=true; //發送請求
end;

mscomm1.Output:=edit1.text;//發送

str:=mscomm1.input; //接收

㈣ 51單片機串口通信c語言編程

#include <REG52.H>
#define uchar unsigned char
#define uint unsigned int

sbit ring=P3^7;
sbit CASE1=P2^0;
sbit CASE2=P2^1;
sbit CASE3=P2^2;
sbit CASE4=P2^3;

uchar se=0,re=0;
uchar temp=0;

void wait(uint cnt)
{
while(--cnt);
}

//串口發送程序
void send(uchar se)
{
SBUF=se; //發送數據
while(TI == 0);
TI = 0;
}
//串口接收程序
uchar receive(void)
{
re=SBUF; //接收數據
while(RI==0);
RI=0;
return re;
}
//串口初始化
void sinti(void)
{
SCON = 0x50;
TMOD |= 0x20;
TH1 = 0xFD;
TR1 = 1;
EA = 1;
ES = 1;
}
void delay(int cnt)
{
while(--cnt);
}

//主程序
int main (void)
{
int i;
sinti(); //串口初始化程序
ring=1;
while(1)
{
while (1)
{
if(CASE1==0)
{
send('a');
ring=0;
break;
}
if(CASE2==0)
{
send('b');
ring=0;
break;
}
if(CASE3==0)
{
send('c');
ring=0;
break;
}
if(CASE4==0)
{
send('d');
ring=0;
break;
}
}
if(ring==0)
{
wait(60000);
ring=1;
}
for(i=0;i<10000;i++);
}
}
//串口中斷程序
void UART_SER (void) interrupt 4 //串列中斷服務程序
{

if(RI) //判斷是接收中斷產生
{
RI=0; //標志位清零
temp=SBUF;
}
if(TI) //如果是發送標志位,清零
TI=0;
}

㈤ RS232串口通信程序(VC++實現)

visual
c++_turbo
c串口通信編程實踐

㈥ 關於串口通信編程的疑問

上位機以PC,下位機以單片機為例,兩者在進行通信時一般用串口通信,而數據通過串口時是以16進制來傳送的,為了發送、接收處理方便,建議通過函數做一下處理,使發送的數據為16進制,這樣,通過串口接收到的數據也是相同的16進制,方便查看。
如果想讓下位機做某事,則需要上位機給下位機發送指令,也就是數據幀,這個要根據協議來寫,比如移動GSM、聯通GSM協議,里邊都有數據幀的格式以及具體定義。

補充:這個協議不是說串口通信協議,那個協議是根據用途或要求來採用的,比如說,要用單片機做一個聯通GSM協議的數據通信,那麼數據幀的格式必須是X開頭,X結尾的,有固定的格式。再比如移動的,數據幀格式有7E開頭7E結尾的,也有!開頭!結尾的,如果你的數據幀格式不正確,將無法識別而不能做出相關的動作。
你如果只是自己弄著玩,數據幀可以自己定義,但如果要做項目,最好根據要求協議來編寫。

㈦ 怎樣編寫單片機的串口通信的程序,一般的步驟是怎麼樣

編寫串口通訊程序步驟為:

1、設置波特率

2、設置串口工作方式

3、收發數據。

比如:

main()
{
unsignedchardat;
TMOD=0x20;
TH1=0xfd;
TL1=0xfd;
TR1=1;
SCON=0x50;
while(1)
{
while(RI==0);
RI=0;
dat=SBUF;
SBUF=~dat;
while(TI==0)
TI=0;
}
}

㈧ KEIL編程 串口通信程序

如果使用51系列單片機如STC89C52,它用的是串列通信方式的在線燒寫功能,和單片機裡面編程的串列通信無關,是硬體本身的功能,你連接串口的兩根線和共地線,用STC-ISP 4.8,選擇單片機型號與程序位置,關閉單片機開發板,點擊程序下載後再上電就可以完成燒寫。通常可採用MAX232,台式機後面的串口線或USB+PL2303這兩種形式,這個功能AT89C52或是AVR系列都是不具備的。

㈨ c++ 編寫串口通信程序

c++ 編寫串口通信程序

推薦 看書
Visual C++_Turbo C串口通信編程實踐

㈩ vb串口通信程序實例

我也是自己摸索開發出來的每一款VBtoCOM通訊,有具體的思路如下:

給你推薦一個工具「com串口測試工具 ComTone V1.0 中文綠色版」

1、打開你的噪音計的測試軟體,調整好串口號、通訊頻率等等,我用溫度計舉例說明。

熱點內容
支票原始密碼是多少 發布:2024-12-28 18:20:21 瀏覽:338
官方版的時空獵人怎麼改密碼 發布:2024-12-28 18:12:28 瀏覽:323
萬能鑰匙wifi破解不了密碼怎麼辦 發布:2024-12-28 18:03:41 瀏覽:162
上傳義烏購 發布:2024-12-28 17:57:59 瀏覽:280
python網路開發 發布:2024-12-28 17:56:36 瀏覽:511
androidisvisible 發布:2024-12-28 17:51:43 瀏覽:513
安卓系統如何卡游戲首充優惠 發布:2024-12-28 17:30:51 瀏覽:478
收銀機密碼忘了怎麼辦 發布:2024-12-28 17:24:57 瀏覽:653
開源伺服器怎麼登陸 發布:2024-12-28 17:22:47 瀏覽:268
微信無法清理緩存 發布:2024-12-28 17:19:34 瀏覽:19