单⽚机keilc语⾔字符⽐较函数的使⽤使⽤strcmp();
单⽚机 keil c语⾔字符⽐较函数的使⽤使⽤strcmp();
strcmp()的介绍、
这是菜鸟教程的介绍:C 库函数 int strcmp(const char *str1, const char *str2) 把 str1 所指向的字符串和 str2 所指向的字符串进⾏⽐较。
32单⽚机中的使⽤⽰例
1.要在单⽚机中使⽤我们要先添加头⽂件:string.h
不然程序会出现警告,程序不会有正常。
main.c(35): warning: #223-D: function “strcmp” declared implicitly if( strcmp( (char *) USART_RX_BU
F,“ABC\0”)==0);
2.然后⽐较即可,
这⾥⽤串⼝中断接收的u8 字符数组与 ”ABC“等⾃定义字符⽐较。利⽤⽤了正点原⼦串⼝实验代码,
void USART1_IRQHandler(void)//串⼝1中断服务程序
{
u8 Res;
#if SYSTEM_SUPPORT_OS //如果SYSTEM_SUPPORT_OS为真,则需要⽀持OS.
OSIntEnter();
#endif
if(USART_GetITStatus(USART1, USART_IT_RXNE)!= RESET)//接收中断(接收到的数据必须是0x0d 0x0a结尾) {
Res =USART_ReceiveData(USART1);//读取接收到的数据
if((USART_RX_STA&0x8000)==0)//接收未完成
{
if(USART_RX_STA&0x4000)//接收到了0x0d
{
if(Res!=0x0a)USART_RX_STA=0;//接收错误,重新开始
else USART_RX_STA|=0x8000;//接收完成了
}
else//还没收到0X0D
{
if(Res==0x0d)USART_RX_STA|=0x4000;
else
{
USART_RX_BUF[USART_RX_STA&0X3FFF]=Res ;
USART_RX_STA++;
if(USART_RX_STA>(USART_REC_LEN-1))USART_RX_STA=0;//接收数据错误,重新开始接收
}
}
}
}
#if SYSTEM_SUPPORT_OS //如果SYSTEM_SUPPORT_OS为真,则需要⽀持OS.
c++中string的用法OSIntExit();
#endif
}
注意事项
1.注意添加头⽂件。string.h
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论