完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
int my_strlen(char *string)
{ int len = 0; while (*string != ‘ ’) { string++; len++; } return len; } const char *my_strstr(const char *str, const char *sub_str) { for(int i = 0; str!= ‘ ’; i++) { int tem = i; //tem保留主串中的起始判断下标位置 int j = 0; while(str[i++] == sub_str[j++]) { if(sub_str[j] == ‘ ’) { return &str[tem]; } } i = tem; } return “”; } char* my_strncpy(char* dest, const char* src, int len) { char* temp=dest; int i=0; while(i++ 《 len && (*temp++ = *src++)!=‘ ’) { } if(*(temp)!=‘ ’) *temp=‘ ’; return dest; } int my_strcmp(char* str1, char* str2){ while(*str1 && *str2 && *str1==*str2) { ++str1; ++str2; } return *str1-*str2; } 有返回值 /*---------------------------- UART 中断服务程? -----------------------------*/ void Uart() interrupt 4 using 1 { if (RI) { RI = 0; //清除RI位 // P0 = SBUF; //P0显示串口?据 // P22 = RB8; //P2.2显示校验位 } if (TI) { TI = 0; //清除TI位 busy = 0; //清忙标志 } } /*---------------------------- 发送串口数据 ----------------------------*/ void SendData(uchar dat) { while (busy); //等待前面的数据发送完成 ACC = dat; //获取校验位P (PSW.0) if (P) //根据P来设置校验位 { #if (PARITYBIT == ODD_PARITY) TB8 = 0; //设置校验位为0 #elif (PARITYBIT == EVEN_PARITY) TB8 = 1; //设置校验位为1 #endif } else { #if (PARITYBIT == ODD_PARITY) TB8 = 1; //设置校验位为1 #elif (PARITYBIT == EVEN_PARITY) TB8 = 0; //设置校验位为0 #endif } busy = 1; SBUF = ACC; //写数据到UART数据寄存器 } /*---------------------------- 发送字符串 ----------------------------*/ void SendString(char *s) { while (*s) //检测字符串结束标志 { SendData(*s++); //发送当前字符 } } 没有返回值 |
|
|
|
只有小组成员才能发言,加入小组>>
2563 浏览 0 评论
1159浏览 2评论
762浏览 1评论
520浏览 0评论
273浏览 0评论
454浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-28 17:26 , Processed in 1.283512 second(s), Total 78, Slave 60 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号