当前位置: 首页 > news >正文

wordpress图片收费杭州做seo的公司

wordpress图片收费,杭州做seo的公司,cdr做网站怎么导出,门户网站安全建设1.配置stm32cubemx 使用串口二接收esp8266的数据#xff0c;单片机接收#xff0c;使用串口1将数据发送给串口助手 串口2波特率设置74880#xff0c;串口1设置115200 在初始化的时候需要将复位引脚拉低20ms,然后再拉高20ms, 设置GPIOB的输出模式 对PB12做输出处理 2.…1.配置stm32cubemx 使用串口二接收esp8266的数据单片机接收使用串口1将数据发送给串口助手 串口2波特率设置74880串口1设置115200 在初始化的时候需要将复位引脚拉低20ms,然后再拉高20ms, 设置GPIOB的输出模式 对PB12做输出处理 2.esp8266初始化 需要将复位引脚拉低20ms,再拉高20ms esp8266初始化化的时候有信息我们可以通过串口2获取信息然后串口1输出 需要自己实现fputc 我们发现下面有乱码应该怎么处理这里会涉及到波特率的转换 3.波特率转换 当我们遇到csum 0xde需要转换波特率 先处理波特率转换之前的数据先打印到串口1 void esp8266_response(const char*msg,uint32_t timeout) {uint32_t CurtickHAL_GetTick();//获取当前时间uint8_t data;uint8_t i0;while(1){if(HAL_GetTick()-Curticktimeout)//如果超时2s就breakbreak;if(HAL_UART_Receive(huart2,(uint8_t*)data,1,10)HAL_TIMEOUT)//如果10ms没收到esp8266发给单片机的数据就返回HAL_TIMEOUTcontinue; //如果初始化成功不会HAL_TIMEOUT就不continue;printf(%c,data); //单片机把串口2的数据一个字节一个字节读到data中然后通过printf打印到串口1 //这里串口2的波特率为74880if(datamsg[i]) //chksum 0xde\r\n //匹配到的话就是初始化成功{i;if(istrlen(msg)){break;}}else //重新匹配{ i0;}}}波特率转换需要转换波特率为115200. //直接复制uart中的 void esp8266_setbaud(uint32_t baud) {huart2.Instance USART2;huart2.Init.BaudRate baud;//需要传参修改需要的波特率huart2.Init.WordLength UART_WORDLENGTH_8B;huart2.Init.StopBits UART_STOPBITS_1;huart2.Init.Parity UART_PARITY_NONE;huart2.Init.Mode UART_MODE_TX_RX;huart2.Init.HwFlowCtl UART_HWCONTROL_NONE;huart2.Init.OverSampling UART_OVERSAMPLING_16;HAL_UART_Init(huart2);} 这里的ready只剩下了eady,这是因为串口涉及到硬件串口转换很快将数据给你放到data,printf还没来得及处理已经串口下次转换了所以就会覆盖所以我们将串口转换的值放到缓冲区。然后统一输出到串口1 缓冲区及下标 接下来需要将串口2的波特率转换为115200 void esp8266_setbaud(uint32_t baud) {huart2.Instance USART2;huart2.Init.BaudRate baud;huart2.Init.WordLength UART_WORDLENGTH_8B;huart2.Init.StopBits UART_STOPBITS_1;huart2.Init.Parity UART_PARITY_NONE;huart2.Init.Mode UART_MODE_TX_RX;huart2.Init.HwFlowCtl UART_HWCONTROL_NONE;huart2.Init.OverSampling UART_OVERSAMPLING_16;HAL_UART_Init(huart2);} 4.连接wifi 使用指令即可 void esp8266_link_wifi(const char*name,const char*password) {char buffer[128];sprintf(buffer,ATCWJAP\%s\,\%s\,name,password);//构建指令字符串HAL_UART_Transmit(huart2,(uint8_t*)buffer,strlen(buffer),HAL_MAX_DELAY);//向esp8266串口2发送指令字符串HAL_UART_Transmit(huart2,(uint8_t*)\r\n,2,HAL_MAX_DELAY);} 根据esp8266_response(const char*msg,uint32_t timeout)返回值判断是否发生成功修改esp8266_response函数 uint8_t esp8266_response(const char*msg,uint32_t timeout) {uint32_t CurtickHAL_GetTick();//获取当前时间uint8_t data;uint8_t i0;while(1){if(HAL_GetTick()-Curticktimeout)//如果超时2s就breakreturn 0;if(HAL_UART_Receive(huart2,(uint8_t*)data,1,10)HAL_TIMEOUT)//如果10ms没收到esp8266发给单片机的数据就返回HAL_TIMEOUTcontinue; //如果初始化成功不会HAL_TIMEOUT就不continue;//printf(%c,data); //单片机把串口2的数据一个字节一个字节读到data中然后通过printf打印到串口1 //这里串口2的波特率为74880buffer[num]data; if(datamsg[i]) //chksum 0xde\r\n //匹配到的话就是初始化成功{i;if(istrlen(msg)){return 1; //匹配成功}}else //重新匹配{ i0;}}}void esp8266_link_wifi(const char*name,const char*password) {char buffer[512];sprintf(buffer,ATCWJAP\%s\,\%s\,name,password);HAL_UART_Transmit(huart2,(uint8_t*)buffer,strlen(buffer),HAL_MAX_DELAY);HAL_UART_Transmit(huart2,(uint8_t*)\r\n,2,HAL_MAX_DELAY);if(esp8266_response(buffer,2000))//esp8266串口收到{printf(%s,buffer);}else //发送失败{printf(%s,buffer);printf(connect fail);}memset(buffer,0,512);//清空缓冲区}esp8266.c #include esp8266.h #include stdio.h #include string.h extern UART_HandleTypeDef huart2; extern uint8_t buffer[512]; extern uint16_t num; void esp8266_init(void) {HAL_GPIO_WritePin(GPIOB,GPIO_PIN_12,GPIO_PIN_RESET);HAL_Delay(20);HAL_GPIO_WritePin(GPIOB,GPIO_PIN_12,GPIO_PIN_SET);HAL_Delay(20);esp8266_response(chksum 0xde\r\n,2000);HAL_Delay(50);esp8266_setbaud(115200);esp8266_response(ready\r\n,1000);printf(%s,buffer);memset(buffer,0,512);}uint8_t esp8266_response(const char*msg,uint32_t timeout) {uint32_t CurtickHAL_GetTick();//获取当前时间uint8_t data;uint8_t i0;while(1){if(HAL_GetTick()-Curticktimeout)//如果超时2s就breakreturn 0;if(HAL_UART_Receive(huart2,(uint8_t*)data,1,10)HAL_TIMEOUT)//如果10ms没收到esp8266发给单片机的数据就返回HAL_TIMEOUTcontinue; //如果初始化成功不会HAL_TIMEOUT就不continue;//printf(%c,data); //单片机把串口2的数据一个字节一个字节读到data中然后通过printf打印到串口1 //这里串口2的波特率为74880buffer[num]data; if(datamsg[i]) //chksum 0xde\r\n //匹配到的话就是初始化成功{i;if(istrlen(msg)){return 1;}}else //重新匹配{ i0;}}}void esp8266_setbaud(uint32_t baud) {huart2.Instance USART2;huart2.Init.BaudRate baud;huart2.Init.WordLength UART_WORDLENGTH_8B;huart2.Init.StopBits UART_STOPBITS_1;huart2.Init.Parity UART_PARITY_NONE;huart2.Init.Mode UART_MODE_TX_RX;huart2.Init.HwFlowCtl UART_HWCONTROL_NONE;huart2.Init.OverSampling UART_OVERSAMPLING_16;HAL_UART_Init(huart2);} void esp8266_link_wifi(const char*name,const char*password) {char buffer[512];sprintf(buffer,ATCWJAP\%s\,\%s\,name,password);HAL_UART_Transmit(huart2,(uint8_t*)buffer,strlen(buffer),HAL_MAX_DELAY);HAL_UART_Transmit(huart2,(uint8_t*)\r\n,2,HAL_MAX_DELAY);if(esp8266_response(buffer,2000))//esp8266串口收到{printf(%s,buffer);}else{printf(%s,buffer);printf(connect fail);}memset(buffer,0,512); //清空缓冲区}esp8266.h #ifndef _ESP8266_H_ #define _ESP8266_H_ #include stm32f4xx_hal.h void esp8266_init(void); uint8_t esp8266_response(const char*msg,uint32_t timeout); void esp8266_setbaud(uint32_t baud); void esp8266_link_wifi(const char*name,const char*password); #endif
http://www.dnsts.com.cn/news/189542.html

相关文章:

  • 宿州做企业网站网站大全
  • 网站用什么框架天猫网站建设的优势有哪些
  • 网站模块图片尺寸网站建设优化怎么做
  • 深圳网站制作厂家职业培训学校加盟
  • 做网站 阿里云北京市教学名师项目建设网站
  • 网站做交互设计淘宝客一定要建立网站
  • x域名免费网站wordpress 安装根目录
  • 铜仁建设厅官方网站丰顺网站建设
  • 乔拓云智能建站官网网站经营方案 备案
  • 网站推广做百度还是360WordPress文章朗读功能
  • 官网建设银行网站wordpress简单个人主题
  • 卖汽车的网站怎么做的吗免费网站模板带后台
  • 找建设网站公司哪家好彬县网站建设
  • 建设网站简单的需要多少天天津团购鲜花的网站建设
  • 网站建设案例好么品质商城网站建设
  • 北京旅游设计网站建设重庆网站建设设计公司哪家好
  • 深圳医疗网站建设报价金华集团网站建设
  • 做网站接口多少钱网页安全站点设置
  • 丹东手机网站wordpress配置网站
  • 成都装修公司排名哪家好seo排名优化代理
  • 大同市建设局网站0453牡丹江信息网手机极速版
  • 西双版纳网站建设公司快速迁移网站
  • 名律汇网站建设设计云开发教程
  • 协会网站信息平台建设电商关键字优化
  • 遵义在线网站建设定制app软件
  • 怎么做商品购买网站石景山 网站建设
  • 网站友情链接很重要吗苏州网站建设公司
  • 东莞seo建站网站开发的原理
  • 网站seo策划方案实例wordpress很卡
  • 做网站的外包公司可以进吗大连网站建设-中国互联