目录
描述
把第11课实现的
printf
函数移植到011_sdram
程序中,修改内存数据,再以16进制打印出来
解答
首先将my_printf.c和my_printf.h文件加入011_sdram工程中
#include "my_printf.h"
typedef char * va_list;
//保证4字节对齐
#define _INTSIZEOF(n) ( (sizeof(n) + sizeof(int) - 1) & ~(sizeof(int) - 1) )
//移动指针
#define va_start(ap,v) ( ap = (va_list)&v + _INTSIZEOF(v) )
//取值
#define va_arg(ap,t) ( *(t *)( ap=ap + _INTSIZEOF(t), ap- _INTSIZEOF(t)) )
//赋值,避免野指针
#define va_end(ap) ( ap = (va_list)0 )
unsigned char hex_tab[]={'0','1','2','3','4','5','6',&