专栏名称: 电子工程专辑
电子工程专辑是中国创建较早的电子工程类网站,是《电子工程专辑》杂志的有力补充。专注为工程师提供最新技术及实用方法的专业平台。包括:16个热门技术栏目在内的,新品信息和新闻报道、专题报道以及厂商应用报告、行业重要新闻的信息速递。
今天看啥  ›  专栏  ›  电子工程专辑

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

电子工程专辑  · 公众号  ·  · 2024-09-16 08:36

文章预览

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

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