历史上的今天
今天是:2024年10月06日(星期日)
2018年10月06日 | stm32指令集合不区分大小写
2018-10-06 来源:eefocus
单片机中接收到奥串口的指令一般为字符串,如果使用strncmp比较是否为我们的指令集中的指令,则不能区分大小写,这里可以使用strcasecmp( )函数和strncasecmp( )函数,来对接收到的字符串指令进行接收比较,并且可以不区分大小写,包含头文件include“stdio.h”
下面对strcasecmp( )函数和strncasecmp( )函数的原型以及应用进行介绍:
strcasecmp( )函数说明:
strcasecmp()用来比较参数s1和s2字符串,比较时会自动忽略大小写的差异。
返回值 若参数s1和s2字符串相同则返回0。s1长度大于s2长度则返回大于0 的值,s1 长度若小于s2 长度则返回小于0的值.
#include ”stdio.h“
#include “string.h”
#include ”ctype.h“
int strcasecmp(const char *s1, const char *s2)
{
int c1, c2;
do {
c1 = tolower(*s1++);
c2 = tolower(*s2++);
} while(c1 == c2 && c1 != 0);
return c1 - c2;
}
int main(void)
{
int n = 4;
char str1[] = "Acef";
char str2[] = "ACEFd";
printf("strcasecmp(str1, str2) = %d/n", strcasecmp(str1, str2));
return 0;
}
strncasecmp()函数说明:
strncasecmp()用来比较参数s1和s2字符串前n个字符,比较时会自动忽略大小写的差异
返回值 :若参数s1和s2字符串相同则返回0 s1若大于s2则返回大于0的值 s1若小于s2则返回小于0的值
#include ”stdio.h“
#include “string.h”
#include ”ctype.h
int mystrncasecmp(const char *s1, const char *s2, int n)
{
int c1, c2;
do {
c1 = tolower(*s1++);
c2 = tolower(*s2++);
} while((--n > 0) && c1 == c2 && c1 != 0);
return c1 - c2;
}
int main(void)
{
int n = 4;
char str3[] = "ABCf";
char str4[] = "abcd";
printf("mystrncasecmp(str3, str4, n) = %d/n", mystrncasecmp(str3, str4, n));
return 0;
}
史海拾趣
|
本帖最后由 paulhyde 于 2014-9-15 04:15 编辑 基于51单片机的数字信号发生器 关键词:51 单片机,UART 通讯,模拟开关,波形转换 … 查看全部问答> |
|
初学Zigbee(MiWi),有前辈给指点下如何快速上手不? -Micrchip MiWi solution. -Demo board都有了 -相关文档也看了不少,总觉得比较浅,望有经验的前辈指点下接下来怎样更全面的学习… 查看全部问答> |
|
虽然前面做的xds-mini算上人力成本,严重赔钱了 现在依然开始准备团购的事宜 团购产品考虑贴上EEWorld的标, SOSO帮问问看可不可以呀 团购说明: 目前,我的净器件成本约为100元左右,为什么不是五六十,咱没量,你懂的 团购打算出去贴,这样 ...… 查看全部问答> |
|
产品已设计完成,现在想改为BSL下载,但遇到如下问题: CPU用是149,BSL接口是自己制作的,按网上流行推荐电路,P1.1 接PC的RXD;P2.2接PC的TXD,RST,和TCK都相应连接,采用串口取电的方式,正负电压分别大约是10V和-8V,并将CPU板的3.3V引入接口 ...… 查看全部问答> |
|
ADuC8XX UART Emulation Many customers have puzzles about the application of the ADuC8XX UART Emulation. This document introduces the steps about how to realize it. Using UART Emulation can save cost and make emulation easy ...… 查看全部问答> |
|
本帖最后由 digitaltek 于 2014-10-31 11:58 编辑 A:概述 在考试的时候,特别是英语考试的时候都有选择题,一般我们都是涂答题卡,然后上交后,由读卡器来读取答 ...… 查看全部问答> |




