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

德阳手机网站建设郑州软件公司排行榜

德阳手机网站建设,郑州软件公司排行榜,wordpress用户登录地址,上线了建的网站免费吗字符串指令的格式 例子1就成功发送了指令 例子2就是发送的字符串有误 查询当前位置就会在附加信息中返回当前座位的坐标 第一个指令的参数就是闪灯的两个参数 如第一个示例就是10ms On Time 第二个就是Off Time 使用标准库来接收字符串命令 字符串指令的接收 因为一个指令就是…字符串指令的格式 例子1就成功发送了指令 例子2就是发送的字符串有误 查询当前位置就会在附加信息中返回当前座位的坐标 第一个·指令的参数就是闪灯的两个参数 如第一个示例就是10ms On Time 第二个就是Off Time 使用标准库来接收字符串命令 字符串指令的接收 因为一个指令就是一行 所以可以调用PAL库的接口 PAL_USART_ReadLine 读取这个字符串指令 首先需要声明一个数组 就把读到的字符指令放到这个字符数组里面 超时值为0因为在进程函数里 预处理 因为接收到的指令是字符串所以有\r\n 要把这些无用的信息去掉 在c语言中字符串的末尾为\0代表字符串的结束 所以只需要在字符串倒数第二个位置添加字符\0就可以去除掉没用的信息 使用strlen可以得到字符串的长度 数据的解析 收到指令后把字符串进行解析 分别是指令的名称和后边的两个参数 首先要分隔开然后把对应的数据存储在对应的变量里面 解析指令名称 第一个函数接口就是查找字符 char*strchr 第一个参数是要查找的字符串数组 第二个是要查找的字符 如果找到了就返回一个指针指向要查找的字符的位置 如果查找不到就返回0 第二个函数接口就是 strcmp把两个字符串进行比较 如果相等就返回0 首先ptr指向字符串数组的第一个字符 char * ptr cmdline 然后又定义一个指针指向字符串数组的第一个字符 然后ptr strchrcmdline’ ’就是要查找字符 空格 ‘ ‘ 然后返回一个指针 ptr 就是ptr指向要查找的字符 空格 然后再ptr指向的位置写入\0 就得到了指令的名称 然后把这个字符数组只剩下指令名称和两个指令对比 做对应的动作即可 解析指令参数 第二个函数接口就是 atoi 就是传入一个字符 就返回这个字符对应的数字 当提取玩指令名称后 ptr来到了图中位置 此时ptr指向一个字符 右上角的程序首先声明了两个指针变量 用来接收字符串指令的两个参数 然后第一个指针指向ptr 也就是第一个字符 然后去搜寻剩下字符串的空格 调用函数strchrptr‘ ’ 使得ptr指向剩余的字符串中的空格 ptr位置如图所示 然后在prt指向的位置写入\0 然后再向后移动 arg2指向ptr 此时就把指令字符串分为了三个部分 cmdName字符串数组只有指令名称 SetBlinkParam 第二个字符串数组arg1 只有10 第三个字符串数组只有1000 app_cmd.c #include app_cmd.h #include stm32f10x_pal_usart.h #include string.h #include app_blinky_led.h #include stdlib.hstatic PalUSART_HandleTypeDef hUSART;void App_Cmd_Init(void) {NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);hUSART.Init.BaudRate 115200;hUSART.Init.USARTx USART3;hUSART.Init.USART_WordLength USART_WordLength_8b;hUSART.Init.USART_Parity USART_Parity_No;hUSART.Init.USART_StopBits USART_StopBits_1;hUSART.Init.USART_Mode USART_Mode_Tx | USART_Mode_Rx;hUSART.Init.USART_IRQ_PreemptionPriority 0;hUSART.Init.USART_IRQ_SubPriority 0;hUSART.Init.TxBufferSize 128;hUSART.Init.RxBufferSize 128;hUSART.Init.Advanced.LineSeparator LineSeparator_CRLF;PAL_USART_Init(hUSART);} void App_Cmd_Proc(void) { char *ptr;const char*cmdName;//用来存储指令名称char cmdline [64];if( PAL_USART_ReadLine(hUSART,cmdline,64,0) 0)//返回值大于就接收到一行字符串了{cmdline[ strlen(cmdline)-2] \0; //预处理 删除行尾的\r\nptr cmdline;cmdName ptr; //这样cmdName就是只剩下指令名称的数组了ptr strchr(cmdline, );if(ptr ! 0){*ptr \0;//取值改成\0ptr;}if(strcmp(cmdName,SetBlinkParam) 0 ){const char *arg1,*arg2;//解析第一个参数arg1 ptr;ptr strchr(ptr, );*ptr \0;ptr;//解析第二个参数arg2 ptr;App_BlinkyLED_SetOnTime(atoi(arg1));App_BlinkyLED_SetOffTime(atoi(arg2));//OK\r\n\r\nPAL_USART_SendString(hUSART,OK\r\n\r\n); //表示指令执行成功了} //修改闪灯参数else if(strcmp(cmdName,GetBlinkParam) 0) {//OK\r\nOn%d,Off%d\r\n 返回参数PAL_USART_Printf(hUSART, OK\r\nOn%d, Off%d\r\n, App_BlinkyLED_GetOnTime(),App_BlinkyLED_GetOffTime());App_BlinkyLED_GetOnTime();//获取亮灯时间App_BlinkyLED_GetOffTime();//获取灭灯时间}//获取闪灯参数else //返回错误 ERROR,cmd name not support{PAL_USART_Printf(hUSART,ERROR, cmd Name not supported\r\n\r\n);}}}void USART3_IRQHandler(void) {PAL_USART_IRQHandler(hUSART);} app_cmd.h #ifndef __APP_CMD_H__ #define __APP_CMD_H__#include stm32f10x.hvoid App_Cmd_Init(void); void App_Cmd_Proc(void);#endif
http://www.w-s-a.com/news/691063/

相关文章:

  • 怎么搞一个服务器建设网站wordpress页眉编辑
  • 计算机企业网站建设论文流量平台是什么意思
  • 成都建设网站公司哪家好上海有名的广告公司
  • 收录优美图片找不到了整站seo优化一般多少钱
  • 大型网站建设哪家好汉川网页设计
  • 深圳品牌策划公司推荐南昌网站怎么做seo
  • 滨州做微商城网站备案时暂时关闭网站
  • 手机网站样式代码网站是怎样制作的
  • 任务发布网站建设苏州园区房价
  • 网站的认识知识付费做的最好的平台
  • 企业电子商务网站设计的原则深圳的网站建设公司怎么样
  • 个人网站趋向wordpress图片搬家
  • 做空压机网站的公司有哪些wordpress 外部链接
  • 网站建设管理成本估计小红书推广平台
  • 一级a做爰片免费观看网站焦作建设企业网站公司
  • 欧阳网站建设2022华为云营销季
  • 快速学做网站高水平的大连网站建设
  • 专业做房地产网站建设wordpress侧面小工具
  • 旅游网站开发的重要性wordpress添加广告插件
  • 关于网站建设管理工作的报告婚纱网站php
  • 东莞市建设培训中心网站那个网站可以看高速的建设情况
  • 网站开发工具安卓版专业小程序商城开发
  • 网站不备案影响收录吗深圳住房网站app
  • 交网站建设域名计入什么科目开发平台教程
  • 个人网站定制北京快速建站模板
  • 河南海华工程建设监理公司网站高端论坛网站建设
  • 网站建设网络推广方案图片编辑器免费
  • 如何用dw做网站设计设计头条
  • 网站建设基础及流程北京商场购物中心排名
  • 青州市城乡建设局网站自建网站步骤