⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 rprintf.h

📁 实现功能ATmega单片机上处理GSM模块的数据
💻 H
字号:


#ifndef RPRINTF_H
#define RPRINTF_H

#include <avr/pgmspace.h>

#ifndef RPRINTF_COMPLEX
	#define RPRINTF_SIMPLE
#endif

#define STRING_IN_RAM	0
#define STRING_IN_ROM	1

void rprintfInit(void (*putchar_func)(unsigned char c));

void rprintfChar(unsigned char c);

void rprintfStr(char str[]);
void rprintfStrLen(char str[], unsigned int start, unsigned int len);

void rprintfProgStr(const prog_char str[]);

#define rprintfProgStrM(string)			(rprintfProgStr(PSTR(string)))

void rprintfCRLF(void);

void rprintfu04(unsigned char data);	///< Print 4-bit hex number. Outputs a single hex character.
void rprintfu08(unsigned char data);	///< Print 8-bit hex number. Outputs two hex characters.
void rprintfu16(unsigned short data);	///< Print 16-bit hex number. Outputs four hex characters.
void rprintfu32(unsigned long data);	///< Print 32-bit hex number. Outputs eight hex characters.

void rprintfNum(char base, char numDigits, char isSigned, char padchar, long n);

#ifdef RPRINTF_FLOAT
	void rprintfFloat(char numDigits, double x);
#endif


#ifdef RPRINTF_SIMPLE
	int rprintf1RamRom(unsigned char stringInRom, const char *format, ...);
	#define rprintf1(format, args...)  		rprintf1RamRom(STRING_IN_ROM, PSTR(format), ## args)
	#define rprintf1RAM(format, args...)	rprintf1RamRom(STRING_IN_RAM, format, ## args)
	#define rprintf(format, args...)  		rprintf1RamRom(STRING_IN_ROM, PSTR(format), ## args)
#endif

#ifdef RPRINTF_COMPLEX
	int rprintf2RamRom(unsigned char stringInRom, const char *sfmt, ...);
	#define rprintf2(format, args...)		rprintf2RamRom(STRING_IN_ROM, format, ## args)
	#define rprintf2RAM(format, args...)	rprintf2RamRom(STRING_IN_RAM, format, ## args)
	#define rprintf(format, args...)  		rprintf2RamRom(STRING_IN_ROM, PSTR(format), ## args)
#endif

#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -