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

精彩代码分析-1

void SlaveClone_Version(u8 ucComm)//发送版本信息
{u8  ucI;u8	ucSour;g_ucUart0TxBuf[OFF_APPCLONE_BLOCK_START]=FRAME_DATA_START_A;g_ucUart0TxBuf[OFF_APPCLONE_BLOCK_START+1]=FRAME_DATA_START_B;g_ucUart0TxBuf[OFF_APPCLONE_BLOCK_COMMAND]=ucComm;	//'v';ucSour=0;for(ucI=0;ucI<48;ucI++){if(g_ucSoftVerBuf[ucSour]==0)break;g_ucUart0TxBuf[OFF_APPCLONE_BLOCK_DATA+ucI]=g_ucSoftVerBuf[ucSour];ucSour++;}ucSour=0;for(;ucI<48;ucI++){if(g_ucSoftDateBuf[ucSour]==0)break;g_ucUart0TxBuf[OFF_APPCLONE_BLOCK_DATA+ucI]=g_ucSoftDateBuf[ucSour];ucSour++;}g_ucUart0TxBuf[OFF_APPCLONE_BLOCK_BYTES]=ucI;g_ucUart0TxBuf[OFF_APPCLONE_BLOCK_DATA+ucI]=CLONE_GenerateCheckSum(g_ucUart0TxBuf+OFF_APPCLONE_BLOCK_COMMAND,ucI+2);ucI++;g_ucUart0TxBuf[OFF_APPCLONE_BLOCK_DATA+ucI]=FRAME_DATA_END;ucI++;g_wUart0TxLen=OFF_APPCLONE_BLOCK_DATA+ucI;HAL_UART_Transmit_IT(&g_hUart0,g_ucUart0TxBuf,g_wUart0TxLen);			//开始发送数据
}

这里是串口编程的一段代码,        

		if(g_ucSoftVerBuf[ucSour]==0)break;

这一句很精彩,可以在检测出‘/0’的时候break,ucI<48,这里48不一定是准确的数据的长度,只要检测出‘/0’就会退出。

http://www.dtcms.com/a/282979.html

相关文章:

  • 深入探讨机器学习中的过拟合:从VC维到正则化的贝叶斯视角
  • Alamofire 网络请求全流解析,通俗易懂
  • 降本增效利器:汽车制造中EtherCAT转PROFIBUS DP网关应用探析
  • Linux权限管理:玩转root与用户组
  • 前端 oidc-client 静默刷新一直提示:Error: Frame window timed out 问题分析与解决方案
  • 前端上传 各类 文件 ,前端自己解析出来 生成界面 然后支持编辑(增强版 支持大多数文件格式的在线编辑)
  • React Native 在 Web 前端跨平台开发中的优势与实践
  • Windows下编译pthreads
  • vue-router 导航式编程 参数的设置
  • 优学教育官网搭建02课程中心
  • vscode Cline接入火山引擎的Deepseek R1
  • 项目资源预算分散,如何实现协同整合?
  • orfeotoolbox ResetMargin
  • 《小白学习产品经理》第五章:方法论之波士顿矩阵
  • Linux中的GDB的作用与GCC的区别
  • 设计一款用于捕捉动态产品视频的摄像机器人
  • 《透视定轴:CSS 3D魔方中视觉层级的秩序法则》
  • Linux下操作SQL SERVER
  • sqli-labs通关笔记-第03关 GET字符型注入(单引号括号闭合 手工注入+脚本注入两种方法)
  • github上传大文件
  • 2025 Python3 网络编程 Socket编程详解
  • 基于SD-WAN的智慧高速解决方案:高效、低成本的智能交通实践
  • AWS权限异常实时告警系统完整实现指南
  • 网络安全初级(XSS-labs 1-8)
  • WebView 性能调试与优化 解决资源加载与请求顺序问题
  • 5.更新-demo
  • Matlab数字图像处理——基于图像分割与模板匹配的的车牌识别系统
  • 7.17 滑动窗口
  • TCP粘包和拆包问题详解:原理与Netty解决方案
  • 命令解释器-shell