两块8266的通信 服务器端程序
单片机源程序如下:
- //#include<reg52.h>
- #include "STC15Fxxxx.H"
- #include<string.h>
- #include "intrins.h"
- #include "oled.h"
- #include "ADC.H"
- #include "bmp.h"
- #define BAUD 2400 //波特率
- #define SYSTEMCLOCK 11059200L //系统时钟频率
- #define uint unsigned int
- #define uchar unsigned char
- #define uint16 unsigned short
- uint x,y;
- uint j=0;
- uint sendflag=0;
- uint serialport0flag=0;
- uchar yaogan_left_y;
- uchar yaogan_right_x;
- uchar yaogan_right_y;
- char serial[6];
- char code step0[]="AT+CWMODE=2\r\n";
- char code step1[]="AT+RST\r\n";
- char code step2[]="AT+CIPMUX=1\r\n";
- char code step3[]="AT+CIPSERVER=1,5000\r\n";
- char code step4[]="AT+CIPSEND=0,7\r\n";
- extern bit interval;
- void uart_sendstring(unsigned char *str)
- {
- unsigned char *p;
-
- p = str;
- while(*p != '\0')
- {
- SBUF = *p;
- while(TI == 0); //等待发送标志位置位
- TI = 0;
- p++;
- }
- }
- void init(void)
- {
- SCON = 0x50;
- AUXR = 0x40; //1T
- TMOD = 0x00; //
- TL1 = (65536 - (SYSTEMCLOCK/4/BAUD)); //
- TH1 = (65536 - (SYSTEMCLOCK/4/BAUD))>>8;
- TR1 = 1;
- TMOD|=0x01;
- TL0 =55535%256;
- TH0 =55535/256;
- TR0 = 1;
- ET0=1;
- EA=1;
- OLED_Init(); //初始化OLED
- OLED_Clear();
- OLED_ShowString(0,0,"CrazyAde");
- OLED_ShowString(0,1,"Designer:WuHao");
- OLED_ShowString(0,2,"Date:2018.5.6");
- OLED_ShowCHinese(0,5,0);//小
- OLED_ShowCHinese(18,5,1);//壮
- OLED_ShowCHinese(36,5,2);//真
- OLED_ShowCHinese(54,5,3);//可
- OLED_ShowCHinese(72,5,4);//爱
- OLED_ShowCHinese(90,5,5);//!
-
- ADC_Inilize(ADC_P11);
- ADC_Inilize(ADC_P12);
- ADC_Inilize(ADC_P13);
- ADC_PowerControl(ENABLE);
-
- uart_sendstring(step0);
- delay_ms(10);
- uart_sendstring(step1);
- delay_ms(2000);
- uart_sendstring(step2);
- delay_ms(10);
- uart_sendstring(step3);
- delay_ms(10);
- OLED_Clear() ;
- OLED_DrawBMP(0,0,127,7,WUHAO);
- delay_ms(1000);
- OLED_Clear();
- }
- void data_collect()
- {
- yaogan_right_x=Get_ADC10bitResult(0)*1.0*256/1024;
- yaogan_right_y=(256-Get_ADC10bitResult(1)*1.0*256/1024);
- yaogan_left_y=(256-Get_ADC10bitResult(2)*1.0*256/1024);
- serial[0]=0x57;
- serial[1]=yaogan_left_y;
- serial[2]=yaogan_right_x;
- serial[3]=yaogan_right_y;
- serial[4]=0x48;
- }
- void sendto_8266()
- {
- uart_sendstring(step4);
- uart_sendstring(serial);
- memset(serial,0,sizeof(serial));
- }
- void dat_disply()
- {
- OLED_ShowString(0,0,"PITCH:");
- OLED_ShowString(0,1,"YAW:");
- OLED_ShowString(0,2,"ROLL:");
- OLED_ShowString(0,4,"left_y:");
- OLED_ShowNum(70,4,yaogan_left_y/100,1,2);
- OLED_ShowNum(80,4,yaogan_left_y%100/10,1,2);
- OLED_ShowNum(90,4,yaogan_left_y%10,1,2);
- OLED_ShowString(0,5,"right_x:");
- OLED_ShowNum(70,5,yaogan_right_x/100,1,2);
- OLED_ShowNum(80,5,yaogan_right_x%100/10,1,2);
- OLED_ShowNum(90,5,yaogan_right_x%10,1,2);
- OLED_ShowString(0,6,"right_y:");
- OLED_ShowNum(70,6,yaogan_right_y/100,1,2);
- ……………………
- …………限于本文篇幅 余下代码请从51黑下载附件…………
复制代码
所有资料51hei提供下载:
程序.rar
(111.22 KB, 下载次数: 62)
|