AVR单片机中如何计算字符串长度?比如我的字符串是"ABCD",如何计算出是4个字符。我现在能发数据,但是总是发的不对,有些多出的地方,程序如下,请高手指教。
unsigned char strlen(char *str) //返回字符串长度
{
}
void send_data(unsigned char str) //发送数据 time次
{
unsigned char *data;
unsigned char a,leng;
data=str;
leng=strlen(*data); //计算字符串长度
for(a=0;a<leng;a++)
{
if(UCSRA&(1<<UDRE))
{
UDR=*data;
*data++;
}
_delay_us(1); //延时 等待数据发送完
}
}
主程序测试是这么写的:
send_data("ABCD");
此帖出自
小平头技术问答
unsigned char i=0;
while(data i !=0) {
发送data i;
i++;
}
}
中括号打不上去。。。
[ 本帖最后由 huo_hu 于 2013-10-2 16:11 编辑 ]
一周热门 更多>