zoukankan      html  css  js  c++  java
  • ASSERT宏基于单片机编程开发

    /*
    ---------------------------------------------------------------
    文件名称:ASSERT.h
    说    明:ASSERT宏
    作    者:温子祺
    创建时间:2010-08-06
    联系方式:wenziqi@hotmail.com
    博    客:
    http://www.cnblogs.com/wenziqi/
    小    组:
    http://group.ednchina.com/2748/
    官    网:www.smartmcu.com
    ---------------------------------------------------------------
    */

      

    1:字符串打印函数

      

    代码
    /******************************************************
    *文件名称:UARTPrintfAssertFail
    *输 入:fmt 字符串
    *输 出:无
    *功能说明:串口 打印字符串
    用于打印断言失败
    ******************************************************
    */
    void UARTPrintfAssertFail(CHAR *fmt, ...)
    {
    va_list ap;
    CHAR
    string[256];

    va_start(ap,fmt);
    vsprintf(
    string,fmt,ap);
    UARTPrintfString(
    string);
    va_end(ap);
    while(1);
    }

      2:字符替换变为ASSERT宏

    代码
    #define assert_fail UARTPrintfAssertFail

    #define ASSERT(p) do{p ? (void)0:\
    assert_fail(
    "\r\nAssert fail at "#p" "__FILE__" Line %d\r\n ",__LINE__);\
    }
    while(0)

    3:测试演示

      

     

    例1:ASSERT(1==2);

     

    显示结果:

    Assert fail at 1==2 main.c Line 126

     

     

    例1:ASSERT(2==2);
     

    显示结果:无显示,直接执行(void)0;

     

     

     

     

    转载请注明出处,谢谢!

     

     


     

  • 相关阅读:
    趋势线突破有效的标志 武胜
    jira 试用license
    Jmeter使用指南
    linux c mysql 编程
    apache module 读取配置文件
    solr 中文分词 mmseg4j 使用例子 ,NGramTokenizerFactory
    使用CTabCtrl控件实现属性页功能
    linux 命令
    vc++2008 采用GSoap访问 WebService
    apr 编程demo出错。
  • 原文地址:https://www.cnblogs.com/wenziqi/p/1799044.html
Copyright © 2011-2022 走看看