Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: diskio
Форум разработчиков электроники ELECTRONIX.ru > Сайт и форум > В помощь начинающему > Программирование
sergey sva
Не соображу как это работает и куда будет выводить diskio_printf()
Код
/*-----------------------------------------------------------------------*/
/* Low level disk I/O module                                             */
/* (C) Copyright 2007,2008                                               */
/* Martin Thomas, Lorenz Aebi                                            */
/*-----------------------------------------------------------------------*/
/* This is a LPC23xx/24xx MCI disk I/O module                            */
/*-----------------------------------------------------------------------*/

// Add Multi Block Write by Lorenz Aebi 2008
// Bugfix from Marco Ziegert 20090823

// #define DISKIO_DEBUG
// #define DISKIO_DUMPSTAT
// #define DISKIO_DEBUGR
// #define DISKIO_DEBUGW

#include "LPC23xx.h"
#include "type.h"
#include "irq.h"
#include "target.h"
#include "mci.h"
#include "dma.h"
#include <string.h>

#include "diskio.h"

#ifdef __GNUC__
#include "monitor.h"
#define myprintf xprintf
#else
#include <stdio.h>
#define myprintf printf
#endif

#ifdef __ARMCC_VERSION
// RealView
#define INLINE __inline
#else
// gcc
#define INLINE inline
#endif


#ifdef DISKIO_DEBUG
#define diskio_printf myprintf              этот код выключен
#else
#define diskio_printf( fmt, args... )       этот включен
#endif

#ifdef DISKIO_DEBUGR
#define diskio_printfr myprintf            этот выключен
#else
#define diskio_printfr( fmt, args... )    этот включен
#endif

#ifdef DISKIO_DEBUGW
#define diskio_printfw myprintf          этот выключен
#else
// #define diskio_printfw( fmt, args... )
#define diskio_printfw( fmt, ... )         этот включен
#endif



Дальше в коде diskio_printf("------ Status register %s\n -----", info);
куда он выведет не пойму к printf он вроде не привязан ?
aaarrr
Цитата(sergey sva @ Mar 22 2011, 22:09) *
куда он выведет не пойму к printf он вроде не привязан ?

Никуда: он просто будет убран с потрохами препроцессором.
sergey sva
Цитата
Никуда: он просто будет убран с потрохами препроцессором.

В какой строчке?, но что то не пойму почему.
Палыч
Если определен DISKIO_DEBUG, то обращение к diskio_printf заменяется на вызов myprintf; в противном случае - обращение "выбрасывается" этой строчкой
Код
#define diskio_printf( fmt, args... )
т.е. от символов "diskio_printf(" до соответствующего ")" будет заменено на "пусто".
sergey sva
понял sm.gif Вот это и ввело в тупик что пусто, теперь все понял sm.gif
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.