AtmelStudio7 ,avr-gcc 的printf支持

本文介绍了在Atmel Studio 7环境下,使用avr-gcc工具链开发嵌入式项目时,如何配置链接库以支持printf功能。重点讨论了printf和printf_P的区别,当格式控制字符串存储在flash中时,应使用printf_P,并通过示例展示了其用法。还提到了PSTR宏的作用,以及利用printf_P来提高代码效率的方法。
摘要由CSDN通过智能技术生成

avr gcc 的printf支持

avr gcc 的printf支持

开发环境

开发环境(IDE):AtmelStudio 7 (Version:7.0.1931)
工具链:avr-gcc

工具链配置

linker链接库配置:

libm
m
printf_flt
scanf_flt
libc

printf重定向

/*
* 下面的代码演示了如何使printf的输出重定向到串口0输出
*/
static int uart_putchar(char c, FILE *stream);//打印一个字符相当于MDK,armcc平台下的putchar,gcc平台下可以自定义名字,函数名称不一定要用"putchar"
//下面的两行代码很关键
static FILE mystdout = FDEV_SETUP_STREAM(uart_putchar, NULL,_FDEV_SETUP_WRITE);
//自定义的打印一个字符的函数
void Uart0_SendChar(u8 ch)
{
   
	while(!(UCSR0A&
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值