智能车制作
标题:
野火求助
[打印本页]
作者:
阑锦
时间:
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