智能车制作

标题: 野火求助 [打印本页]

作者: 阑锦    时间: 2013-9-13 11:23
标题: 野火求助
火哥,用野火的库出现了小问题,程序一直在一个在assert.c的文件的函数里死循环,这个assert.c的作用是什么啊
作者: 青龙00    时间: 2013-9-13 11:38
那个是断言检测,说明你赋值赋错了!
作者: 阑锦    时间: 2013-9-13 11:53
青龙00 发表于 2013-9-13 11:38
那个是断言检测,说明你赋值赋错了!

赋值赋错了,是指数据类型不对吗

作者: 青龙00    时间: 2013-9-13 14:50
举个例子吧:
void gpio_init (PORTx portx, u8 n, GPIO_CFG cfg, u8 data)
ASSERT( (n < 32u)  && (data < 2u) );
这个断言是说  n要取值<32   data<2赋值才正确,否则就进入错误

你打开串口就可以打印出从那里进入断言的
作者: 野火    时间: 2013-9-13 15:08
断言,即 不可能出现的事情,例如 PWM 占空比不能超过 100% ,而实际上代码 却出现配置 占空比超过 100% ,即不可能出现的事情发生了,这种情况是不允许的,需要程序员自行检测错误的原因!

注意,断言 和 异常事件 不是 一回事!例如初始化 失败,这就是 异常事件。具体的请自行百度了解。

通过串口即可查看 断言失败的地方,从而根据代码来判断失败原因。串口printf 的设置,可以看我们的教程






欢迎光临 智能车制作 (http://dns.znczz.com/) Powered by Discuz! X3.2