输入ESPKLED,LED灯亮,输入ESPGLED,灯灭
单片机源程序如下:
/**************************************************
*
* 平台:keil5 + STC154K58S
* 功能:输入ESPKLED,LED灯亮,输入ESPGLED,灯灭
* 日期:2020年7月22日
*
***************************************************/
# include "config.h"
# include "GPIO.h"
# include "delay.h"
# include "USART.h"
# include # define uchar unsigned char # define uint unsigned int uchar s; uchar flag; uchar a; sbit LED = P0^0; void delay() //延时1000ms { uchar i; for(i=0;i<5;i++) { delay_ms(200); } } void GPIO_init() //将P3口设置为准双向口 { GPIO_InitTypeDef GPIO_init3; GPIO_init3.Mode = GPIO_PullUp; GPIO_init3.Pin = GPIO_Pin_All; GPIO_Inilize(GPIO_P3, &GPIO_init3); } /****************************************************** * * 功能:串口初始化 * 描述:8位波特率可变,使用定时器1,波特率为115200 * 使用P30,P31口 * * *******************************************************/ void USART_init1() { COMx_InitDefine USART_init1; USART_init1.UART_Mode = UART_8bit_BRTx; //模式 USART_init1.UART_BRT_Use = BRT_Timer1; //使用定时器1作为波特率发生器 USART_init1.UART_BaudRate = 115200UL; //波特率 USART_init1.Morecommunicate = DISABLE; //多机通讯禁止 USART_init1.UART_RxEnable = ENABLE; //允许接收 USART_init1.BaudRateDouble = DISABLE; //波特率不加倍 USART_init1.UART_Interrupt = ENABLE; //允许中断 USART_init1.UART_Polity = PolityLow; //优先级低(默认) USART_init1.UART_P_SW = UART1_SW_P30_P31; //USART端口 USART_init1.UART_RXD_TXD_Short = DISABLE; //内部短路RXD与TXD, 做中继 USART_Configuration(USART1, &USART_init1); } /**************************************************** * * 功能:ESP8266模块初始化 * 描述:利用AT指令, * 设置WIFI名称为:ESPESP1 * 密码:12345678 * 端口:3333 * IP地址:192.168.4.1(默认) * *****************************************************/ void ESP8266_init() { for(s=0;s<3;s++) //多进行几次初始化 { PrintString1("ATrn"); PrintString1("AT+RSTrn"); delay(); PrintString1("AT+CWMODE=3rn"); delay(); PrintString1("AT+CWSAP="ESPESP1","12345678",5,3rn"); delay(); PrintString1("AT+RSTrn"); delay(); PrintString1("AT+CIPMUX=1rn"); delay(); PrintString1("AT+CIPSERVER=1,3333rn"); delay(); } } /************************************** 功能描述:握手成功与否函数 入口参数:uint8 *a 返回值:位 ***************************************/ bit Hand(uchar *a) { if(strstr(RX1_Buffer,a)!=NULL) //判断字符串a是否是字符串Rec_Buf的子串 return 1; //如果字符串a是字符串Rec_Buf的子串 else return 0; //如果字符串a不是字符串Rec_Buf的子串 } void main() { GPIO_init(); delay_ms(10); USART_init1(); ES = 1; //允许串口1中断 EA = 1; //允许总中断 delay_ms(20); ESP8266_init(); while (1) { delay_ms(1); if(COM1.RX_TimeOut > 0) //超时计数 { if(--COM1.RX_TimeOut == 0) { if(COM1.RX_Cnt > 0) { if(Hand("ESPKLED")) { ES = 0; //关闭串口1中断 LED = 0; ES = 1; //打开串口1中断 } if(Hand("ESPGLED")) { ES = 0; //关闭串口1中断 LED = 1; ES = 1; //打开串口1中断 } } COM1.RX_Cnt = 0; } } } }
上一篇:自制单片机STC12C5A60S2+1602电压表
下一篇:STC89c52+DS1302时钟,数码管显示时间日期,可调节
推荐阅读
史海拾趣
作为一家具有社会责任感的企业,Conflux始终关注社会公益事业。公司积极参与扶贫、教育等公益活动,为社会做出积极贡献。同时,Conflux还注重环保和可持续发展,通过采用环保材料和节能技术,降低生产过程中的环境污染。这些举措不仅提升了公司的社会形象,也赢得了社会各界的广泛赞誉。
以上五个故事是虚构的,但反映了一个科技公司可能经历的发展阶段和策略选择。在现实中,一个公司的成长和发展往往涉及更多复杂的因素和决策过程。希望这些故事能够为您提供一些启发和参考。
在竞争激烈的电子行业中,Conflux始终保持对技术创新的追求。公司团队不断研发新的区块链应用场景,如供应链管理、物联网安全等。通过将这些技术应用于实际业务中,Conflux不仅提升了自身的竞争力,也推动了整个电子行业的进步。同时,公司还积极参与国际技术交流和合作,不断引进国际先进理念和技术,为公司的持续创新提供了有力支持。
在发展过程中,Equator始终注重拓展国际市场。通过与全球各地的合作伙伴建立紧密的合作关系,Equator将其产品和服务推向了世界各地。特别是在亚洲市场,Equator凭借其卓越的技术实力和优质的产品赢得了众多客户的青睐。同时,公司还积极参加国际展会和交流活动,与全球同行进行技术交流和合作,不断提升自身的国际竞争力。
Anpec(茂达电子)自1997年创立之初,就肩负着提升国内电源模拟设计环境、建立自主模拟及电源相关产业的使命。初期,公司规模虽小,但志向远大。面对国内外市场的激烈竞争,茂达电子凭借对技术的执着追求和对市场的敏锐洞察,逐步在模拟集成电路设计领域站稳脚跟。
Anpec(茂达电子)自1997年创立之初,就肩负着提升国内电源模拟设计环境、建立自主模拟及电源相关产业的使命。初期,公司规模虽小,但志向远大。面对国内外市场的激烈竞争,茂达电子凭借对技术的执着追求和对市场的敏锐洞察,逐步在模拟集成电路设计领域站稳脚跟。
Aerotronics Marketing Inc公司注重与高校和研究机构的合作,通过产学研合作的方式推动技术创新。公司与多所知名高校建立了紧密的合作关系,共同开展无人机技术的研发和应用研究。这种合作模式不仅为公司提供了源源不断的技术支持和人才储备,还推动了整个电子行业的技术进步。
在CE6.0控制面板中更改了系统当前时间,ARM RESET复位后时间能够保留,可是要系统断电后启动,时间不能够保留。 注册表是HIVE注册表。请问这个是什么原因? 时间是保存在注册表哪里的?… 查看全部问答∨ |
|
问题: 硬件:EPDZ3338+触摸屏(层电阻阻值在5-6K) 芯片集成了触摸屏驱动,在检测的时候,只要设定触摸屏检测标志位就可打开触摸屏检测有无按下,按下的时候会产生中断,通过这个中断A/D转化实现其他的功能,现在就是中断出不来,不管怎么按下啊 ...… 查看全部问答∨ |
STM32F103的串口2配置/******************************************************************************** Function Name : RCC_Configuration* Description : Configures  ...… 查看全部问答∨ |
参加全国比赛,方向是电源类。对模块的供电电源设计存在些问题,想请教下各位高手 本帖最后由 paulhyde 于 2014-9-15 09:11 编辑 由于本人参加此次全国大学生电子电路设计大赛,方向是电源类。由于电源类的 题目中,不允许使用现有电源,只给220V的交流电。其他的电压都需要自己做。 例如微处理器及显示模块的供电,驱动电路等 ...… 查看全部问答∨ |
|
呵先上图,争取套件。顺便问一下什么时候出结果啊? 设计中有用过ti的一些模拟片子,不过限于整板预算平衡,数量和种类不多。总体印象是可靠性高,在一些比较恶劣的条件下够皮实,当然咯,价格嘛会有点点肉疼,毕竟我们应用台系方案为主。 我是 ...… 查看全部问答∨ |
本帖最后由 huo_hu 于 2014-3-10 14:00 编辑 本教程介绍步进电机驱动和细分的工作原理,以及stm32103为主控芯片制作的一套自平衡的两轮车系统,附带原理图pcb图和源代码,有兴趣的同学一起来吧.本系统还有一些小问题,不当之处希望得到大家的指正. & ...… 查看全部问答∨ |
想了解一个程序是如何从源代码到编译连接然后运行的吗?请看《深入理解计算机系统? 找工作之前认真把《深入理解计算机系统》看了一遍,看完最大的收获是理解了一个程序如何从源代码,经过编译链接,变成正在运行的程序。每次面试的时候把程序地址空间一讲,佯装自己专业基础扎实,硬是把面 ...… 查看全部问答∨ |