3021|7

613

帖子

2

TA的资源

纯净的硅(初级)

楼主
 

STM32学习第三贴,断言篇,欢迎高手来喷,来指导 [复制链接]

#define assert_param(expr) ((expr) ? (void)0 : assert_failed((uint8_t *)__FILE__, __LINE__))

        void assert_failed(uint8_t* file, uint32_t line);

请高手们解说得越详细越好,深入解说.



此帖出自stm32/stm8论坛

最新回复

断言很有用。好好用酷叔。  详情 回复 发表于 2017-6-3 12:59
点赞 关注
个人签名我是一头搞电子的猪,猪是一种好色的动物,猪八戒就是代表.       
 

回复
举报

1万

帖子

16

TA的资源

版主

沙发
 
本帖最后由 ddllxxrr 于 2017-6-3 07:36 编辑

我认为断言是多余的东东,工作中根本用不上,是个没有用的东东
就象《黔之驴》,黔无驴,有好事者船载以入,至则无可用。放之山下。。。。。。
此帖出自stm32/stm8论坛
 
个人签名http://shop34182318.taobao.com/
https://shop436095304.taobao.com/?spm=a230r.7195193.1997079397.37.69fe60dfT705yr
 

回复

767

帖子

2

TA的资源

纯净的硅(初级)

板凳
 
断言我是没使用过,因为一般的官方demo的框架搭的很好,不管程序对还是错,总有地方能跑到。
而且调试更喜欢仿真和printf
而断言也可以对程序框架和自检起到一定的作用,不过当代码调试完毕之后,断言一般会禁用掉。
此帖出自stm32/stm8论坛

点评

是不是跟山寨仿真器便宜的一笔有干系?  详情 回复 发表于 2017-6-3 08:22
 
个人签名物致DIY 欢迎你的加入~
QQ群:646461928 公众号:智物知心致成
小店
 

回复

1310

帖子

3

TA的资源

一粒金砂(高级)

4
 
一般用在Debug版本,通过USE_FULL_ASSERT这个宏来决定是否使用断言,
#define assert_param(expr) ((expr) ? (void)0 : assert_failed((uint8_t *)__FILE__, __LINE__))检测expr是否为真,如果是,那么麻溜的干该干的事情,如果否,则
void assert_failed(uint8_t* file, uint32_t line)
{
    printf("Wrong parameters value: file %s on line %d\r\n", file, line);
    while(1);
}
这里只是举个栗子而已。而__LINE__,__FILE__,__DATE__,__TIME__等都是标准预定义宏,每条都有自己特殊的含义,百度一下ANSI C标准,最后assert_failed((uint8_t *)__FILE__, __LINE__))将会在出错时打印出错的信息(错误所在文件,行号),并停止向下继续进行。

ps:水平有限,只能解释这么多了
此帖出自stm32/stm8论坛
 
个人签名

RTEMS

 
 

回复

1310

帖子

3

TA的资源

一粒金砂(高级)

5
 
皈依 发表于 2017-6-3 08:18
断言我是没使用过,因为一般的官方demo的框架搭的很好,不管程序对还是错,总有地方能跑到。
而且调试更喜 ...

是不是跟山寨仿真器便宜的一笔有干系?
此帖出自stm32/stm8论坛

点评

额 这个我倒是没思考过哦。。。 话说用山寨也没遇到过有不良影响的情况出现 可能运气好吧~嘿嘿  详情 回复 发表于 2017-6-3 08:42
 
个人签名

RTEMS

 
 

回复

767

帖子

2

TA的资源

纯净的硅(初级)

6
 
54chenjq 发表于 2017-6-3 08:22
是不是跟山寨仿真器便宜的一笔有干系?

额 这个我倒是没思考过哦。。。 话说用山寨也没遇到过有不良影响的情况出现
可能运气好吧~嘿嘿
此帖出自stm32/stm8论坛
 
个人签名物致DIY 欢迎你的加入~
QQ群:646461928 公众号:智物知心致成
小店
 
 

回复

1234

帖子

4

TA的资源

纯净的硅(高级)

7
 
断言 不对就死机 没得商量
此帖出自stm32/stm8论坛
 
个人签名天地庄周马;江湖范蠡船。
个性签名还是放QQ号吧,2060347305,添加说明EEworld好友
 
 

回复

7608

帖子

2

TA的资源

五彩晶圆(高级)

8
 
断言很有用。好好用酷叔。
此帖出自stm32/stm8论坛
 
 
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/9 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表