专栏名称: 21ic电子网
即时传播最新电子科技信息,汇聚业界精英精彩视点。
今天看啥  ›  专栏  ›  21ic电子网

嵌入式代码常见的容错设计

21ic电子网  · 公众号  · 半导体  · 2024-09-13 15:35

文章预览

作者 | strongerHuang 微信公众号 | strongerHuang 如果一个大型嵌入式项目,代码没有做容错设计,你能想象后果是什么吗? 有经验的朋友肯定能想到,这样的项目会有无数bug,而且有些bug很难查找。 今天就来聊聊嵌入式代码常见的一些容错设计方法。 使用断言( Assert ) 什么是Assert断言?这里 举一个栗子来说明吧。 有这么一个数组和函数: int Array[ 5 ] = { 0xA1 , 0xB2 , 0xC3 , 0xD4 , 0xE5 }; int Fun ( char i ) { return Array[i]; } 假如按下下面方式调用Fun函数,你觉得会出错吗? int a; a = Fun(8); 有经验的朋友肯定都猜到了,在Fun函数中增加 断言(Assert)机制,就可以避免出错。 断言(Assert)是代码中最常见的一种容错设计,很多源码库都能看到断言的身影,比如STM32外设库: void GPIO_Init (GPIO_TypeDef* GPIOx, GPIO_InitTypeDef* GPIO_InitStruct) { /* Check the parameters */ asse ………………………………

原文地址:访问原文地址
快照地址: 访问文章快照
总结与预览地址:访问总结与预览