codesys字符串拆分成字节
对于工控行业来说,字符串类型是在编程中使用频次最高的数据类型之一,但是在做项目过程中,经常遇到不同品牌的产品之间的字符串交互通讯问题,也就是我们常说的“大小端问题”,分为“ABCD”、“BACD”、“CDAB”、"DCAB"四种数据格式情况。
本文以Codesys平台为例,在和步科触摸屏通信时,就存在字符串的颠倒情况,比如PLC侧显示为“Product”,但是HMI侧实际显示“rPdocut”,接下来简单介绍如何借助指针实现字符串的高低字节转换。
1.首先判断字符串的长度
2.根据字符串长度,分别满足“空”,“1”、“偶数且非空”、“奇数并且大于等于3”这几种情况。
3.当字符串长度非空时,使用指针指向字符串第1个字符;
4.当字符长度为1时,直接输出当前值(注意一定不要处理,否则输出为NULL)
5.当字符长度为偶数并且长度不为0时,将指针指向的第1个字符和第2个字符交换,然后指向字符串第3个字符和第4个字符交换,依次,直到指针指向第SizeNum-1个字符停止。
6.当字符长度为奇数数并且长度不为1时,将指针指向的第1个字符和第2个字符交换,然后指向字符串第3个字符和第4个字符交换,依次,直到指针指向第SizeNum-3个字符停止。
7.结束,通过上述操作,可以实现字符串的字节位置变换。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论