stm32 获取有效字符串

void USART2_IRQHandler()   {  
     if(USART_GetITStatus(USART2,USART_IT_RXNE) != RESET) //中断产生       
     {  
        USART_ClearITPendingBit(USART2,USART_IT_RXNE); //清除中断标志        
        Uart2_Buffer[Uart2_Rx] = USART_ReceiveData(USART2); //把数据存储到缓冲数组        
        Uart2_Rx++;  
        Uart2_Rx &= 0xFF;      
      }  
     if(Uart2_Buffer[Uart2_Rx-1] == 0x5A) //如果收到的是 0x5A 则下面就是有效数据      
            Uart2_Tx = Uart2_Rx-1;  
     if((Uart2_Buffer[Uart2_Tx] == 0x5A)&&(Uart2_Buffer[Uart2_Rx-1] == 0xA5)) //检测到头的情况下检测到尾    
     {  
            Uart2_Len = Uart2_Rx-1- Uart2_Tx; //长度              
            Uart2_Sta=1; //标志位      
      }  
     if(USART_GetFlagStatus(USART2,USART_FLAG_ORE) == SET) //溢出      
      {  
            USART_ClearFlag(USART2,USART_FLAG_ORE); //读SR              
            USART_ReceiveData(USART2); //读DR      
      }  
} 

main.c###################################################################
     if( Uart2_Sta )//数据帧接收完毕
      {  
            for(tx2=0;tx2 <= Uart2_Len;tx2++,Uart2_Tx++)  
            USART2_SendByte(Uart2_Buffer[Uart2_Tx]); //发送数据         
            Uart2_Rx = 0; //初始化         
            Uart2_Tx = 0;     
            Uart2_Sta = 0; 
      }
      
比如数据帧为  5A 00 11 65 33 22 23 43 A5    此为一帧
时间: 2024-08-27 21:17:29

stm32 获取有效字符串的相关文章

js获取一个字符串中指定字符串第n次出现的位置

1.JS获取一个字符串中指定字符串第n次出现的位置 了解类似的获取字符位置的方法: 1.1 charAt() 获取字符串指定位置的字符 用法:strObj是字符串对象,index是指定的位置,(位置从0开始数) strObj.charAt(index) 1.2 indexOf() 方法可返回某个指定的字符串值在字符串中首次出现的位置 用法:stringObject是字符串对象,searchvalue是指定的字符串值,fromindex(可有可无)指定开始匹配字符串值的位置,若无,表示从0位置开始

如何获取枚举字符串,值及遍历枚举(转)

http://www.cnblogs.com/fanwenxuan/archive/2007/10/16/926019.html 枚举是一个特定的常量集合组成的独特类型using System;public enum TimeOfDay{   Morning = 0,   Afternoon = 1,   Evening }class EnumExample{   public static int Main()   {//调用方法      WriteGreeting(TimeOfDay.Mo

获取某个字符串的所有字节数

<script type="text/javascript">        function getBytes(str){            if(!arguments.length || !str)                return null;            if(str.length == '')                return 0;            var len = str.length;            var by

UTF-8编码的字符串拆分成单字、获取UTF-8字符串的字符个数的代码及原理

一.字符编码简介 1. ASCII码 在计算机内部,所有的信息最终都表示为一个二进制的字符串.每一个二进制位(bit)有0和1两种状态,因此八个二进制位就可以组合出256种状态,这被称为一个字节(byte).也就是说,一个字节一共可以用来表示256种不同的状态,每一个状态对应一个符号,就是256个符号,从0000000到11111111.上个世纪60年代,美国制定了一套字符编码,对英语字符与二进制位之间的关系,做了统一规定.这被称为ASCII码,一直沿用至今.ASCII码一共规定了128个字符的

VC++ GetModuleFileName()获取路径字符串中带波浪线~

GetModuleFileName()获取的字符串中带波浪线,不是完整的路径显示. 原因:获取的是短路径,进行了缩写 解决:还原长路径 TCHAR strLongPath[MAX_PATH] = { 0 }; GetLongPathName( strTempPath, strLongPath, sizeof(strLongPath)/sizeof(TCHAR) ); 其中,strTempPath是带波浪线的短路径,strLongPath为得到的长路径. 主要使用了Win32 API函数GetLo

高并发下获取随机字符串

#region 获取随机字符串 //digit 最终返回的字符串的长度 public static string BuildCode(int digit) { StringBuilder resultCode = new StringBuilder(); Random ran = new Random(GetRandomSeed()); for (int i = 0; i < digit; i++) { resultCode.Append(("0123456789").Subst

Swift3.0语言教程获取C字符串

Swift3.0语言教程获取C字符串 Swift3.0语言教程获取C字符串,为了让Swift和C语言可以实现很好的交互,开发者可以使用NSString的cString(using:)方法在指定编码格式后,获取C字符串,其语法形式如下: func cString(using: UInt) 其中,using用来指定编码格式. [示例1-19]以下将使用cString(using:)方法获取C字符串. import Foundation var str1=NSString(string:"Hello&

【记录】获取日期字符串

利用datetime中定义的date和timedelta,简单获取日期字符串的方法: #!/usr/bin/env python #-*- coding:utf-8 -*- #  from datetime import date, timedelta def getDateStr(n=0):     '''     获取格式为YYYYMMDD的日期字符串.     参数n为目标日期与当前日期的差     '''     ds = date.today() + timedelta(n)     

NSString类中三个用于获取子字符串的方法:

NSString类中提供了这样三个方法用于获取子字符串: – substringFromIndex: – substringWithRange: – substringToIndex: 它们该怎么使用呢?见下面代码即可知道. NSString *str = @"12345"; -substringFromIndex: 以指定索引开始(包括指定索引的字符,索引从0开始),并包括之后的全部字符: // NSString *subString0 = [str substringFromInd