智能车制作

 找回密码
 注册

扫一扫,访问微社区

查看: 1395|回复: 4
打印 上一主题 下一主题

[咨询] 野火求助

[复制链接]

4

主题

9

帖子

0

精华

注册会员

Rank: 2

积分
191
威望
119
贡献
40
兑换币
51
注册时间
2012-11-20
在线时间
16 小时
跳转到指定楼层
1#
发表于 2013-9-13 11:23:54 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
火哥,用野火的库出现了小问题,程序一直在一个在assert.c的文件的函数里死循环,这个assert.c的作用是什么啊

22

主题

1613

帖子

1

精华

跨届大侠

Rank: 10Rank: 10Rank: 10

积分
6784
QQ
威望
2910
贡献
1540
兑换币
1579
注册时间
2012-3-17
在线时间
1167 小时
5#
发表于 2013-9-13 15:08:19 | 只看该作者
断言,即 不可能出现的事情,例如 PWM 占空比不能超过 100% ,而实际上代码 却出现配置 占空比超过 100% ,即不可能出现的事情发生了,这种情况是不允许的,需要程序员自行检测错误的原因!

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

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

回复 支持 反对

使用道具 举报

17

主题

671

帖子

0

精华

跨届大侠

Rank: 10Rank: 10Rank: 10

积分
6187
QQ
威望
3024
贡献
1755
兑换币
1315
注册时间
2012-2-4
在线时间
704 小时
4#
发表于 2013-9-13 14:50:54 | 只看该作者
举个例子吧:
void gpio_init (PORTx portx, u8 n, GPIO_CFG cfg, u8 data)
ASSERT( (n < 32u)  && (data < 2u) );
这个断言是说  n要取值<32   data<2赋值才正确,否则就进入错误

你打开串口就可以打印出从那里进入断言的
回复 支持 反对

使用道具 举报

4

主题

9

帖子

0

精华

注册会员

Rank: 2

积分
191
威望
119
贡献
40
兑换币
51
注册时间
2012-11-20
在线时间
16 小时
3#
 楼主| 发表于 2013-9-13 11:53:23 | 只看该作者
青龙00 发表于 2013-9-13 11:38
那个是断言检测,说明你赋值赋错了!

赋值赋错了,是指数据类型不对吗
回复 支持 反对

使用道具 举报

17

主题

671

帖子

0

精华

跨届大侠

Rank: 10Rank: 10Rank: 10

积分
6187
QQ
威望
3024
贡献
1755
兑换币
1315
注册时间
2012-2-4
在线时间
704 小时
2#
发表于 2013-9-13 11:38:26 | 只看该作者
那个是断言检测,说明你赋值赋错了!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

关于我们|联系我们|小黑屋|智能车制作 ( 黑ICP备2022002344号

GMT+8, 2024-11-8 18:31 , Processed in 0.053832 second(s), 27 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表