今天看啥  ›  专栏  ›  嵌入式微处理器

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

嵌入式微处理器  · 公众号  ·  · 2024-09-14 12:00

文章预览

如果一个大型嵌入式项目,代码没有做容错设计,你能想象后果是什么吗? 有经验的朋友肯定能想到,这样的项目会有无数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 */ assert_param(IS_GPIO_ALL_PERIPH(GPIOx)); asse ………………………………

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