基本信息
源码名称:串口通信(JSJ.C)
源码大小:1.16KB
文件格式:.C
开发语言:C/C++
更新时间:2021-04-29
   友情提示:(无需注册或充值,赞助后即可获取资源下载链接)

     嘿,亲!知识可是无价之宝呢,但咱这精心整理的资料也耗费了不少心血呀。小小地破费一下,绝对物超所值哦!如有下载和支付问题,请联系我们QQ(微信同号):813200300

本次赞助数额为: 2 元 
   源码介绍



#include <stdio.h>
#include <bios.h>
#include <dos.h>
#include <graphics.h>
main()
  {
  int	getdata();
  void receive_51(void);
  char	ch;
  int gm,gd=DETECT;
  initgraph(&gd,&gm,"d:\\tc20\\");
  setbkcolor(BLACK);
/********************/
  outportb(0x2fb,0x80);
  outportb(0x2f8,0x30);
  outportb(0x2f9,0x00);
  outportb(0x2fb,0x03);   /*2400  8  */
  outportb(0x2f9,0x00);
  outportb(0x2fc,0x00);
/********************/
		do receive_51();
		  while((ch=getch())!='a');
  closegraph();
  return(0);
}

/*PC机获取单片机发送来的数据块
 使用了动态存储单元分配的方法,用完后释放*/
void receive_51(void)
  {int i,n1,n2,n;
	int *p=NULL;
	n1=getdata();
	n2=getdata();
	n=256*n2 n1;
	p = calloc(n,sizeof(int));
	for(i=0;i<n;i  )  *(p i)=getdata();
	cleardevice();
	for(i=0;i<n;i  )  putpixel(50 i,400-*(p i),WHITE);
	free(p);
  }

/*获取一个数据,并向单片机发送一个反馈数据表示数据接收到,单片机可传输另一个数据*/
int getdata(void)
 {
  int   ready,data;
  do ready=inportb(0x2fd)&0x01;
	while (ready==0);

  data=inportb(0x2f8);      /*获取数据*/
  do ready=inportb(0x2fd)&0x20;
	while(ready==0);
  outportb(0x2f8,data);
  return(data);
 }