比较实用的三个字符串处理函数(STM32串口)
如果有漏洞,请大家留言继续修改/*//函数名称:复制字符串//参数:dest字符串容器,str被复制字符串,count复制长度//返回值:无//*/void my_strncpy(u8 *dest, u8 *src, int count) { u8 *tmp = dest; while(count) { if ((
如果有漏洞,请大家留言继续修改
/*
//函数名称:复制字符串
//参数:dest字符串容器,str被复制字符串,count复制长度
//返回值:无
//
*/
void my_strncpy(u8 *dest, u8 *src, int count)
{
u8 *tmp = dest;
while(count) {
if ((*tmp = *src) != 0)
src++;
tmp++;
count--;
}
}
//函数名称:2字符串比较函数
//参数:string1待比较字符串 string2标准字符串 count比较长度
//返回值:2字符串差值
u8 my_strncmp(u8 *string1,u8 *string2,size_t count)
{
u8 res,k=1;
while(*string1!='\0'&&*string2!='\0'&&k<=count)
{
k++;
if(*string1==*string2)
{
string1++;
string2++;
}
else break;
}
res=*string1-*string2;
return res;
}
/*
//函数名称:STM32串口输入字符串比较
//参数:标准字符串
//返回值:0为相同,其他值为不同
*/
char return_data(u8 *cmpstr)
{
u8 len;
u8 state=1;
u8 cmpstr2[10];
if(USART_RX_STA&0x80)
{
len=USART_RX_STA&0x3f;
my_strncpy(cmpstr2,USART_RX_BUF,len);
state=my_strncmp(cmpstr2,cmpstr,sizeof(cmpstr));
memset(cmpstr2,0,10);
memset(USART_RX_BUF,0,10);
USART_RX_STA=0;
}
delay_ms(200);
return state;
}
更多推荐
所有评论(0)