• 国哥
    了解作者
  • C/C++
    开发工具
  • 429KB
    文件大小
  • zip
    文件格式
  • 0
    收藏次数
  • 1 积分
    下载积分
  • 0
    下载次数
  • 2021-04-11 20:01
    上传日期
一种家用电器上用的WIFI功能板源代码,可直接应用于WIFI通讯!
CBB.zip
  • CBB
  • cbbp.opt.bak
    829B
  • main.OBJ
    19.2KB
  • WIFI-CBB.lnp
    44B
  • WIF-CBB-OK-1
    12KB
  • WIF-CBB-OK-3.M51
    45.7KB
  • WIF-PASS
    12KB
  • WIFI-CBB-1
    10.6KB
  • WIF-CBB-PASS.lnp
    48B
  • cbbp_Opt.Bak
    831B
  • WIFI-ok
    11.6KB
  • WIF-PASS-1201-4.lnp
    51B
  • WIF-PASS-1201-2.lnp
    51B
  • WIF-CBB-1201.hex
    10.4KB
  • WIF-CBB-PS.M51
    45.8KB
  • WIF-CBB-20210104.M51
    45.9KB
  • WIF-OK.M51
    45.9KB
  • CBB-1
    11KB
  • WIF-CBB-OK-3.lnp
    48B
  • WIF-CBB-20210104
    12KB
  • CBB-999.plg
    16.8KB
  • WIF-CBB-OK-3
    11.9KB
  • WIF-PASS-1201-3.M51
    45.9KB
  • WIF-CBB-1203.hex
    10.4KB
  • WIF-PASS.lnp
    44B
  • WIF-CBB-20210104.plg
    0B
  • main.c
    28.7KB
  • CBB-001
    11.6KB
  • WIFI-CBB.M51
    42.6KB
  • WIFI-CBB-ok.M51
    43.7KB
  • WIF-OK
    12KB
  • WIFI-CBB-ok.lnp
    47B
  • WIF-CBB-20210104.lnp
    52B
  • WIFI-CBB-1.lnp
    46B
  • WIFI-CBB-2.M51
    43.7KB
  • WIF-PASS-1201-4.M51
    45.9KB
  • WIFI-HEX.plg
    2.2KB
  • WIF-CBB-1203.M51
    45.8KB
  • WIF-PASS-1201-3
    12KB
  • cbbp.uvproj
    13KB
  • WIF-PASS-1201-2
    12KB
  • WIF-PASS-1201.M51
    45.9KB
  • cbbp.uvopt
    70.6KB
  • main.LST
    48.2KB
  • WIF-CBB-PS-ER
    12KB
  • WIFI-ok.lnp
    43B
  • WIF-CBB-1203
    11.9KB
  • CBB-003.lnp
    43B
  • CBB-1117-2
    11.5KB
  • WIF-CBB-1203.lnp
    48B
  • WIF-PASS.M51
    45.8KB
  • WIF-CBB-WS.lnp
    46B
  • CBB-1117-3
    11.1KB
  • CBB-3.lnp
    65B
  • WIFI-1.plg
    5.9KB
  • WIF-CBB-OK.lnp
    46B
  • WIF-CBB-P-OK.plg
    7.3KB
  • WIF-CBB-PS.lnp
    46B
  • WIF-CBB-PASS
    11.9KB
  • WIF-PASS-1201-3.lnp
    51B
  • WIF-CBB-PS
    12KB
  • WIF-OK-PASS
    12KB
  • WIF-CBB-1201
    11.9KB
  • WIF-CBB-1201.plg
    3KB
  • WIF-CBB-PS-ER.lnp
    49B
  • CBB-002.lnp
    43B
  • WIFI-CBB-2
    11.3KB
  • WIF-PASS.plg
    21.5KB
  • WIF-OK-PASS.M51
    45.9KB
  • WIFI-CBB-2.lnp
    46B
  • WIF-CBB-20210104.hex
    10.4KB
  • WIF-CBB-OK-1.M51
    45.9KB
  • WIF-CBB-OK.M51
    45.8KB
  • CBB-1119-1.plg
    12.9KB
  • STARTUP.A51
    5KB
  • WIFI-CBB-1.M51
    42.7KB
  • WIF-CBB-1203.plg
    1.6KB
  • WIFI-001.plg
    11KB
  • WIF-OK-PASS.lnp
    47B
  • cbbp_uvopt.bak
    70.6KB
  • WIF-PASS-1201-2.M51
    45.9KB
  • WIF-CBB-WS.M51
    45.8KB
  • WIFI-CBB-ok
    11.3KB
  • CBB-1.lnp
    41B
  • CBB
    8.2KB
  • WIFI-CBB
    10.6KB
  • CBB-2.lnp
    41B
  • WIF-CBB-PS-ER.M51
    45.8KB
  • WIF-CBB-PASS.M51
    45.7KB
  • WIF-CBB-OK-1.lnp
    48B
  • cbbp_uvproj.bak
    12.9KB
  • cbbp.Uv2.bak
    1.7KB
  • WIF-CBB-1201.lnp
    48B
  • WIF-PASS-1201
    12KB
  • STARTUP.OBJ
    708B
  • WIF-CBB-OK.plg
    149B
  • serial.c
    5.3KB
  • WIF-PASS-1201.lnp
    49B
  • WIFI-103.plg
    6.2KB
  • WIFI-ok.hex
    10KB
内容介绍
#include "STC10FXX.H" //包含头文件 #include "intrins.h" #include "ctype.h" #include "string.h" //比较字符串相关操作头文件! /******************************/ sbit OUT1=P2^0; //控制三极管 sbit OUT2=P2^1; //控制LED3 sbit OUT3=P2^2; //控制LED4 sbit S1 =P2^3; sbit S2 =P2^4; sbit OUT4=P3^3; //控制LED2 #define FOSC 11059200 //晶振频率 #define BAUD 115200L //波特率值 #define RELOAD_COUNT (256-FOSC/32/BAUD) //载入值 #define UART_P1 0x80 //串口选择在P1。 /*Define ISP/IAP/EEPROM command*/ #define CMD_IDLE 0 //Stand-By #define CMD_READ 1 //Byte-Read #define CMD_PROGRAM 2 //Byte-Program #define CMD_ERASE 3 //Sector-Erase //#define ID_ADDR_RAM 0xf1 //ID号的存放内部RAM单元 F1H - F7H。 //#define ID_ADDR_ROM 0x0ff9 //4K程序 /*Define ISP/IAP/EEPROM operation const for IAP_CONTR*/ //#define ENABLE_IAP 0x80 //if SYSCLK<30MHz //#define ENABLE_IAP 0x81 //if SYSCLK<24MHz //#define ENABLE_IAP 0x82 //if SYSCLK<20MHz //#define ENABLE_IAP 0x83 //if SYSCLK<12MHz //#define ENABLE_IAP 0x84 //if SYSCLK<6MHz //#define ENABLE_IAP 0x85 //if SYSCLK<3MHz //#define ENABLE_IAP 0x86 //if SYSCLK<2MHz //#define ENABLE_IAP 0x87 //if SYSCLK<1MHz #define ENABLE_IAP 0x83 //if SYSCLK<12MHz //Start address for STC11/10xx series EEPROM #define IAP_ADDRESS 0x0000 #define uchar unsigned char #define uint unsigned int #define OLEN 48 /* size of serial transmission buffer */ idata char outbuf[OLEN]; /* storage for transmission buffer */ volatile uchar idata *outlast=outbuf; //最后由中断传输出去的字节位置 volatile uchar idata *putlast=outbuf; //最后放入发送缓冲区的字节位置 #define ILEN 64 /* size of serial receiving buffer */ //LXG=64 idata char inbuf[ILEN]; //接收缓冲区 volatile uchar idata *inlast=inbuf; //最后由中断进入接收缓冲区的字节位置 volatile uchar idata *getlast=inbuf; //最后取走的字节位置 bit outbufsign0; //最后一个数据覵BUF发完标志 发完=0 bit outbufsign; //输出缓冲区非空标志 有=1 bit inbufsign; //接收缓冲区非空标志 有=1 bit inbufful; //输入缓冲区满标志 满=1 bit worksign ; //上电时间够了,可以工作了! bit atsign ; //每隔1S发送AT指令,用业配置或查询模块状态! //EEPROM 操作用 bit er_flag; //清除标标位。 0:清除成功, 1:未清除失败! //wifi at 状态控制 bit ip_flag; //IP分配状态标志 1:已分配, 0:未分配IP bit pw_flag; //AT配置标志 1:配置完成, 0:未完成 bit server_flag; //创建服务器标志 1:已创建, 0:未创建 bit gb_flag; //广播连接标志 1:已连接, 0:未连接 bit app_flag; //app使能标志 1:APP通信使能, 0:APP通信未使能 bit h_flag; // //APP 发送标志 bit send_flag ; //数据设置好,可以发送了! //bit ip_send_flag ; //发送IP及端口应答标志 //bit un_lock_flag ; //发送激化数据应答标志 uchar n=0; // uchar LockFlag=0; // 全局变量. uchar Count=0; //记录IP响应发送次数! uchar g_len = 0; // 全局变量,一次接收数据长度。 uchar a_len =0; //记录IP中点的位置,来记录IP前两数数长度! char data Rx_data[64]={0,0,0,0,0,0,0,0,0,0}; //存放读串口数据 char ip_addr[16] ={0,0,0,0,0,0,0,0,0,0}; // uint g_Count = 0; // 全局变量,定时器0用于上电记时。 uint g_flag; // 全局变量,定时器0用于AT配置。 char code UDPIP[]="AT+CIPSTART=0,UDP," ; char code PORTR[]="8888" ; char code PORTL[]="333" ; //基础配置 char code CWMODEACK[]="AT+CWMODE=3\n\r\nOK\r\n\0";//19 char code SLEEPACK[]="AT+SLEEP=0\n\r\n+SLEEP:0\0\r\nOK\r\n\0";//29 char code CWSMARTCONFIGACK[]="AT+CWSMARTCONFIG=1\n\r\nOK\r\n\0"; //26 //"AT+CIPSTAIP?\n\r\n+CIPSTAIP:192.168.1.102\0\r\nOK\r\n\0" //查询IP响应! //配置服务器及广播IP ,只要上电重启都需要再配一次。 char code CIPMUXACK[]="AT+CIPMUX=1\n\r\nOK\r\n\0"; //19 char code CIPSERVERACK[]="AT+CIPSERVER=1\n\r\nOK\r\n\0"; //22 char code CIPSTARTACK[]="AT+CIPSTART=0,UDP,";//18 //192.168.1.255,8888,333\n\r\0 CONNECT\r\n\0" ; //54 //char code CIPSTARTACK[]="AT+CIPSTART=0,UDP,192.168.1.102,8888,333\n\r\CONNECT\r\n\0" ; //54 //配置数据发送 ,只要发送数据,都需要重新配置。 char code CIPSENDACK[]="AT+CIPSEND=0,25\n\r\n>\0" ;//20 //AT+CIPSEND=<link ID>,<len> //配置好后,就可以向手机客户端发送数所了;每次都得先配置数据发送,然后才能发送数据。 //查询IP是否分配;状态:OK :ERROR char code CIPSTAIPERROR[]= "AT+CIPSTAIP?\n\r\nERROR\r\n\0" ; //23 char code CIPSTAIPOK[]="AT+CIPSTAIP?\n\r\n+CIPSTAIP:" ;//25 //“192.168.0.102\0\r\nOK\r\n\0” //21 void putbyte(char c); void putbytes(unsigned char *outplace,unsigned char j); void putstring(unsigned char *puts); uchar getbyte (void); void us_delay(uint n); void ms_delay(uint t); void IapIdle(); uchar IapReadByte(uint addr); void IapProgramByte(uint addr, uchar dat); void IapEraseSector(uint addr); void P2init(); void InitUart(); void InitTimer0(); void Send_Uart(uchar value); //AT 指令解析函数集 uchar CWMODE(); uchar SLEEP(); uchar CWSMARTCONFIG(); uchar WifiState(); uchar CIPSERVER(); uchar CIPSTART(); uchar CIPSEND(); void ATCommandPro(); //AT配置处理程序 void RecevieCommandData(); //AT配置接收程序 void WIFIPro(); //WIFI通信协议处理 uchar OPENLOCKACK();//开锁函数。 uchar GOTIPState(); //获取IP配网状态! void IPGETDOC();//udp 广播 void Word_Cvt_Str(char zifu[],uchar val);//数值转字符串功能 uchar IPGBACK(); //IP 广播确认 /********************************************************/ //***************************** //放入一个字节到发送缓冲区 void putbyte(char c) { ES=0; /*暂停串行中断,以免数据比较时出错�* */ while ( (((outlast-putlast)==2) && (outlast > putlast )) || ((outlast < putlast) && (OLEN-(putlast-outlast)==2))) //LXG出队比进队快时,等待下! { ES=1; c++; c--; ES=0; //what mean? } *putlast=c; //放字节进入缓冲区 putlast++; //发送缓冲区指针加一 if (putlast==outbuf+OLEN) putlast=outbuf; //指针到了顶部换到底部 outbufsign=1; //输出缓冲区非空标志 有=1 if (!outbufsign0) {outbufsign0=1;TI=1; } //缓冲区开始为空置为有,启动发送(第一个字节需要让TI=1 启动发送) ES=1; } //****************************** //放一串数据到发送缓冲区 void putbytes(unsigned char *outplace,unsigned char j) { unsigned char i; for(i=0;i<j;i++) { putbyte(*outplace); outplace++; } } //*************************************** //发送一个定义在程序存储区的字符串到串口 void putstring(unsigned char *puts) { for (;*puts!=0;puts++) //遇到停止符0结束 putbyte(*puts); } //************************************* //从接收缓冲区取一个byte,如不想等待则在调用前检测inbufsign是否为1。 uchar getbyte (void) { unsigned char c ; //while (!inbufsign); //缓冲区空等待 if(inbufsign) //接收缓冲区非空标志 有=1 { ES=0; c= *getlast; //取数据 getlast++; //最后取走的数据位置加一 inbufful=0; //输入缓冲区的满标志清零 if (getlast==inbuf+ILEN) getlast=inbuf; //地址到顶部回到底部 if (getlast==inlast) inbufsign=0; //地址相等置接收缓冲区空空标志,再取数前要检该标志 ES=1; return (c); //取回数据 } return 0; } //UDP 广播:IP最后一位改成255。 void IPGETDOC() { uchar j; for(j=0;j<13;j++) { if(ip_addr[j]=='.') { a_len=j+1; //把点也加上去。 } } putbytes(UDPIP,18); //"AT+CIPSTART=0,UDP," ; putbytes(ip_addr,a_len); //IP 局或网广播!xxx.xxx.1.255 a_len=0; //必须清零!!! putbyte('2'); putbyte('5'); putbyte('5'); putbyte(','); putstring(PORTR); putbyte(
评论
    相关推荐
    • STM32_WIFI.rar
      STM32单片机基于MARVELL_8385/8686 WIFI芯片的工程代码,包含裸板驱动WIFI,LWIP协议,以及UDP通讯收发数据等功能模块.
    • Wifi模块全总结.zip
      WIFI模块驱动开发资料,包含WIFI工作原理及驱动移植
    • WiFi-URAR-RS232.rar
      TCP标准通讯,技术成熟可靠,传输速率快,各种配套的网络设备十分丰富, 使用者接受程度最高, 全球免费使用,是区域无线通讯的首选方案。
    • 安卓串口Socket通讯USB驱动jni相关-android获取wifi的IP子网掩码网关dns等信息.rar
      android获取wifi的IP,子网掩码,网关,dns等信息.rar,太多无法一一验证是否可用,程序如果跑不起来需要自调,部分代码功能进行参考学习。
    • Android通过WIFI控制数码管
      Android通过WIFI控制数码管,我只是想那个积分谢谢
    • intoyun-wifi-mcu-sdk:WiFi从模式MCU端SDK
      WiFi从模式MCU SDK 说明:在应用此SDK前,请先阅读。 目录说明 |-- docs |-- keil |-- README.md -- src 1.docs为文档类 2.keil为示例工程(Keil-MDK平台) 3.src为源码 keil目录说明 `-- stm32f103rbx `-- smart...
    • 串口wifi模块,串口无线模块资料
      ◆ MSC51/PIC/ARM7 等 8、32位单片机轻易驱动,驱动代码极少; 智能卡终端;无线POS机;医疗仪器;数据采集;手持设备;游戏机;设备参数监测;现代农业;军事领域;智能交通;现 代教育;LED屏. 168ab@126....
    • 无线网卡串口接口 单片机wifi模块
      ◆ MSC51/PIC/ARM7 等 8、32 位单片机轻易驱动,驱动代码极少; 产品参数 ◆ 支持UART 数据接口,波特率:19.2k / 38.4k / 57.6k / 115.2k bps ; ◆ 无线数据速率支持802.11b,最高速率11M ; ◆ 集成802.11 MAC ...
    • internet communication.zip
      实现wifi通讯,连接路由器,采用tcp/ip协议,DHCP分配ip地址 。
    • Keil.STM32F1xx_DFP.2.3.0.zip
      Keil.STM32F1xx_DFP.2.3.0