智能车制作
标题:
sprintf函数是单片机复位
[打印本页]
作者:
wei4769229
时间:
2011-4-16 12:36
标题:
sprintf函数是单片机复位
不知道大家有没有使用sprintf函数去把整形变量放到字符串里面,然后窗口发送。
当我的程序调用sprintf函数到一定次数单片机就复位了。
作者:
veronika
时间:
2011-4-16 12:36
我也遇到过这样的问题,
原因是:sprintf运行花费了太多的时间,可能一句sprintf在单片机里需要运行一二十ms, 这个时候你的狗在起作用,运行了很长时间的sprintf没时间踢狗了,就会引起复位。
解决方法:在单片机中不要用sprintf,会浪费太多时间,想办法用其他的函数代替。
希望能对你有帮助。
作者:
chengqing
时间:
2011-4-21 17:25
没有遇的过
作者:
萧狼1989
时间:
2011-4-21 17:53
char s[10];
void sendfloat(float fl)
{
unsigned char fjx;
sprintf(s,"%.3f",fl);
fjx=0;
while(s[fjx])
{
uartput(s[fjx]);
fjx++;
}
for(fjx=0;fjx<10;fjx++)
s[fjx]=0;
}
我sprintf 发float 一切正常啊
欢迎光临 智能车制作 (http://dns.znczz.com/)
Powered by Discuz! X3.2