单片机中接收到奥串口的指令一般为字符串,如果使用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;
}
上一篇:keil写STM32程序出现literaltreatedas"longlong"
下一篇:stm32使用SDIO方式+FATFS读写内存卡
推荐阅读
史海拾趣
ENSIGN在资本市场上的表现也备受关注。近年来,ENSIGN的股价稳步上涨,市值不断扩大。多家投资机构对ENSIGN的前景表示乐观,并上调了其目标股价。ENSIGN凭借其稳健的财务表现、强大的研发能力和广阔的市场前景,吸引了众多投资者的关注。
这些故事概述了ENSIGN在电子行业中的发展历程和多元化战略。通过不断创新和拓展业务领域,ENSIGN逐渐成为了电子行业中备受瞩目的企业之一。
ENSIGN不仅关注传统电子行业的发展,还积极探索新的业务领域。最近,ENSIGN集团宣布收购位于亚利桑那州的医疗保健园区River Park Post Acute和Elmwood Senior Living,以及其他七家公司。这一收购标志着ENSIGN正逐步向医疗保健领域进军,寻求多元化的发展机会。
芯联集成非常重视企业文化建设,致力于打造一个高效、协作、创新的团队。公司倡导“以人为本”的管理理念,关注员工成长和发展,为员工提供良好的工作环境和福利待遇。同时,公司还建立了完善的激励机制和培训体系,激发员工的工作热情和创造力。这些努力使芯联集成在行业内树立了良好的口碑和形象,吸引了众多优秀人才加入公司。
Alan Industries Inc.自创立之初,就以其对技术研发的不懈追求而闻名。在公司成立的早期,其研发团队成功开发出一款高效能、低功耗的芯片,这一创新产品在市场上引起了巨大反响。随后,公司不断投入研发资源,推出了一系列具有竞争力的电子产品,逐渐在行业中树立了技术领先的地位。这些产品不仅满足了消费者对电子产品性能的需求,还为公司带来了可观的利润,为公司的快速发展奠定了坚实基础。
在电子行业中,EWC Controls公司选择了工业自动化控制这一细分领域作为切入点。通过深入了解行业需求和痛点,公司专注于研发和生产符合市场需求的高品质产品。例如,在食品加工行业,EWC Controls公司针对温度、湿度等关键参数的控制需求,开发出了一套高效稳定的控制系统,帮助食品加工企业提高了生产效率和产品质量。这种深耕行业、专注细分领域的策略使得EWC Controls公司在市场中逐渐崭露头角。
随着电子行业的快速发展,Barry Industries Inc意识到只有不断创新才能在市场中立足。公司加大了对研发的投入,引进了一批高素质的研发人才,并建立了完善的研发体系。经过多年的努力,Barry成功突破了微波半导体封装技术的多项关键技术,推出了多款性能卓越、具有创新性的产品。这些产品不仅广泛应用于军事、航天、通信等领域,还为公司赢得了市场的广泛认可。
程序中大量使用AD模块: 采用序列通道单次采样,低8个寄存器与高8个设置基本差不多,但如果序列中要想使用高8个寄存器,则产生不了中断。连用了两块芯片,结果一样。 1。是不是高8位存在问题,不能使用。 2。是不是高8位有与低8位很大的差别(除 ...… 查看全部问答∨ |
|
本帖最后由 jameswangsynnex 于 2015-3-3 19:56 编辑 各种万年历、温湿度计、时钟、电波钟、定时器、计步器、计算器、语音、遥控类所涉及到的芯片及相关芯片部分参数。 … 查看全部问答∨ |
|
uchar temp = 0; int ii; uchar tt,tt2; uchar a = 0, b = 0, c = 0; float f = 123.456; i ...… 查看全部问答∨ |
|
鄙人在做cc1101的通信实验,用的单片机是G2553的。 参考资料,发现wor这个功能。于是仿照着书写进去。不能使用。 我想问下熟悉这个功能的前辈。发送端想要激活终端设备的cc1101,是要发送什么东西?直接是普通数据包就可以了吗?… 查看全部问答∨ |