导航:首页 > 操作系统 > 单片机发数组

单片机发数组

发布时间: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仿真如下

阅读全文

与单片机发数组相关的资料

热点内容
苹果库乐队怎么连接服务器 浏览:552
程序员埋bug的心理 浏览:257
好多个g的文件夹怎么转发 浏览:321
javadesaes加密 浏览:126
基于单片机的wifi设计 浏览:885
国什么app 浏览:366
rtk文件夹没了怎么办 浏览:187
饥荒安卓闪退怎么办 浏览:635
python二次开发cad 浏览:304
程序员直播机器人舞团 浏览:769
devc指针编译问题 浏览:1002
支持dsd硬解压声卡 浏览:771
怎么查看u盘加密区 浏览:184
台电加密是什么格式 浏览:158
php论坛版块在哪个文件夹 浏览:442
暗黑的服务器为什么维护 浏览:624
android内存溢出的原因 浏览:18
标志307的压缩比是多少 浏览:637
服务器启动为什么叫三声 浏览:997
追风筝的人英文pdf 浏览:940