USART字符串命令接收与响应

USART1中断服务函数( void USART1_IRQHandler(void) )的应用.

通过串口助手向stm32 USART1串口发送消息,USART1_IRQHandler函数中定义了消息的起止符,获取输入的消息内容。

#define CMD_SIZE 256

char cmd[CMD_SIZE];  //存放收到的消息字符串
int cmd_point=0;     //消息字符下标

void USART1_IRQHandler(void)
{
    u8 res;
    if(USART_GetITStatus(USART1, USART_IT_RXNE) != RESET)  //接收中断
    {
        res=USART_ReceiveData(USART1);  //读取接收到的数据
        if(res==‘>‘){
            cmd_point=0;
            memset(cmd,0,CMD_SIZE);  //清除
        }else{
            cmd_point++;
            if(res==0x0d){   //结束附加位 回车
                USART1_printf("cmd:%s \n\r ",cmd);
                cmd_point=0;
            }else{
                cmd[cmd_point-1]=res;
            }
        }
    }
}
时间: 2024-08-26 07:00:46

USART字符串命令接收与响应的相关文章

Server是如何完成针对请求的监听、接收与响应1

Server是如何完成针对请求的监听.接收与响应的[上] Server是ASP .NET Core管道的第一个节点,负责完整请求的监听和接收,最终对请求的响应同样也由它完成.Server是我们对所有实现了IServer接口的所有类型以及对应对象的统称,如下面的代码片段所示,这个接口具有一个只读属性Features返回描述自身特性集合的FeatureCollection对象,另一个Start方法用于启动服务器. 1: public interface IServer : IDisposable 2

[029] 微信公众帐号开发教程第5篇-各种消息的接收与响应

前一篇文章里我们已经把微信公众平台接口中消息及相关操作都进行了封装,本章节将主要介绍如何接收微信服务器发送的消息并做出响应. 明确在哪接收消息 从微信公众平台接口消息指南中可以了解到,当用户向公众帐号发消息时,微信服务器会将消息通过POST方式提交给我们在接口配置信息中填写的URL,而我们就需要在URL所指向的请求处理类CoreServlet的doPost方法中接收消息.处理消息和响应消息.   接收.处理.响应消息 下面先来看我已经写好的CoreServlet的完整代码: [java] vie

第 6 章 微信开发之各种消息的接收与响应

一.在哪里接收这些消息 从微信公众平台接口消息指南中可以了解到,当用户向公众帐号发消息时,微信服务器会将消息通过POST方式提交给我们在接口配置信息中填写的URL,而我们就需要在URL所指向的请求处理类CoreServlet的doPost方法中接收消息.处理消息和响应消息. /** * 处理微信服务器发来的消息 */ public void doPost(HttpServletRequest request, HttpServletResponse response) throws Servle

C 语言 字符串命令 strstr()的用法 实现将原字符串以分割串分割输出【转】

本文转载自;http://www.cnblogs.com/easyfrog/archive/2011/12/26/C_strstr_split_string.html C 语言 字符串命令 strstr()的用法 实现将原字符串以分割串分割输出 strstr() 命令是在原字符串中查找指定的字符串第一次出现的地址,用这个特性可以实现字符的分割,判断是否包涵等功能: 下面的这个例子是实现 字符串以分割串分割输出: 1 #include <stdio.h> 2 #include <strin

python通过get方式,post方式发送http请求和接收http响应-urllib urllib2

python通过get方式,post方式发送http请求和接收http响应-- import urllib模块,urllib2模块, httplib模块 http://blog.163.com/[email protected]/blog/static/132229655201231085444250/ 测试用CGI,名字为test.py,放在apache的cgi-bin目录下:#!/usr/bin/pythonimport cgidef main():     print "Content-t

redis学习笔记(11)---字符串命令及实现

对象类型与编码方式 对于字符串类型的命令,redis数据库会为每个对象创建一个字符串类型(REDIS_STRING)的对象. 对于字符串类型的对象,可以支持三种编码方式: #define REDIS_ENCODING_RAW 0 /* Raw representation */ #define REDIS_ENCODING_INT 1 /* Encoded as integer */ #define REDIS_ENCODING_EMBSTR 8 /* Embedded sds string e

ASP.NET Core真实管道详解[2]:Server是如何完成针对请求的监听、接收与响应的【上】

Server是ASP .NET Core管道的第一个节点,负责完整请求的监听和接收,最终对请求的响应同样也由它完成.Server是我们对所有实现了IServer接口的所有类型以及对应对象的统称,如下面的代码片段所示,这个接口具有一个只读属性Features返回描述自身特性集合的FeatureCollection对象,另一个Start方法用于启动服务器. 1: public interface IServer : IDisposable 2: { 3: IFeatureCollection Fea

Linux学习笔记--grep命令(搜索字符串命令)

grep,查找字符串的意思,作用是在文件中匹配符合条件的字符串. 1. 命令格式: grep [选项] 字符串 文件名 ... 2. 常用选项: "grep -c" 统计匹配到'字符串'内容的行数.(c为count的意思) "grep -i" 忽略大小写区别.(i为ignore的意思) "grep -l" 打印出匹配到'字符串'内容的文件清单. "grep -n" 在匹配的行前面打印行号.(n为line number的意思)

Linux查找字符串命令grep(转)

Linux grep命令用于查找文件里符合条件的字符串. grep指令用于查找内容包含指定的范本样式的文件,如果发现某文件的内容符合所指定的范本样式,预设grep指令会把含有范本样式的那一列显示出来.若不指定任何文件名称,或是所给予的文件名为"-",则grep指令会从标准输入设备读取数据. 语法 grep [-abcEFGhHilLnqrsvVwxy][-A<显示列数>][-B<显示列数>][-C<显示列数>][-d<进行动作>][-e&