導航:首頁 > 操作系統 > 單片機發數組

單片機發數組

發布時間:2025-03-12 12:46:26

Ⅰ 組態王與單片機通信 怎麼才能一次發送多個字

嚴格點講,單片機每次只能發送一個位元組數據,但完全可以通過循環的方式連續發送多個位元組的數據,宏觀上就像是一次發送多個位元組了。發送數據時,最好採用查詢方式連續發送,如果還有其它任務需要同時完成,就得採用中斷方式,每次中斷發送一個位元組。不論什麼方式發送,可以定義一個數組,將要發送的數據放在數組里,根據需要定義數組元素的個數,發送時就可以循環發送這個數組就行了,表面上就像是一次發送多個數據了。

Ⅱ c51,單片機從串口接收字元串,放到一個數組裡面,然後在通過串口發出去。急!謝謝

#include<reg52.h>

#defineucharunsignedchar

#defineuintunsignedint

uchardatatable[10];//暫存數組,可以將10改為你需要的數值

/***********************************************

串列口初始化波特率9600,定時器1,工作方式2 *************************************************/

voidserial_init(void)

{

TMOD=0x20;//計時器1作為比特率發生器,方式2

TH1=0xfd;

TL1=0xfd;//裝入初值

TR1=1;//計時中斷允許

SM0=0;

SM1=1;//串列口工作於方式2

ES=1;//串列口中斷允許

REN=1;//接收允許

EA=1;// 總中斷允許

}

/***********************************************

串列口傳送數據

傳送顯示數組各字元給計算機

*************************************************/

voidsend(uchar*dis)

{

while(*dis!='')

{

SBUF=*dis;

dis++;

while(!TI);

TI=0; //軟體請發送中斷

}

}

voidmain()

{

serial_init();//初始化

while(SBUF!=0x0d);//計算機鍵盤按下回車鍵,則開始將接收到的數據回傳給計算機

send(table);

}

/***********************************************

串列中斷服務函數

單片機接收數據,存入table數組

*************************************************/

voidserial()interrupt4

{

inti;

ES=0; //關串口中斷

table[i++]=SBUF;//命令存到命令數組

RI=0;//軟體清除接收中斷

ES=1;//開串口中斷

}

已經通過proteus模擬如下

閱讀全文

與單片機發數組相關的資料

熱點內容
程序員哪有可愛 瀏覽:837
郴州app開發哪裡好 瀏覽:942
一隻眼弱視程序員 瀏覽:577
android全屏無標題 瀏覽:116
梁的非加密區箍筋計算 瀏覽:965
linux7關閉防火牆 瀏覽:813
如何執行安全演算法 瀏覽:729
設計模式程序員水平 瀏覽:917
最帥程序員愛德華 瀏覽:933
php並發框架 瀏覽:397
看健身app哪個好 瀏覽:33
php返回http狀態碼 瀏覽:48
ftp伺服器怎麼設置不同的用戶 瀏覽:143
為什麼視頻加密不能看 瀏覽:537
哪個銀行app存定期利息高 瀏覽:710
百度網盤不付費解壓 瀏覽:613
python數據分析與網路 瀏覽:120
pdfreader64 瀏覽:346
伺服器所在物理地址 瀏覽:676
收費app哪個最便宜 瀏覽:533