社区导航

 

搜索
查看: 403|回复: 2

[原创] 【ATmega4809 Curiosity Nano测评】使用printf函数

[复制链接]

9082

TA的帖子

14

TA的资源

版主

Rank: 6Rank: 6

测评达人

发表于 2019-10-28 23:39 | 显示全部楼层 |阅读模式

在C语言中,printf函数可以用来打印调试信息,非常方便。在AVR中,可以非常容易的将串口映射到stdout上,从而实现printf功能。

 

在MCC中,使用方法如下:

 

在MCC中创建串口时,将Printf support选中,就可以使用printf功能,通过printf打印的内容,就会通过UART3输出。

 

image.png




此内容由EEWORLD论坛网友dcexpert原创,如需转载或用于商业用途需征得作者同意并注明出处

此帖出自单片机论坛


回复

使用道具 举报

9082

TA的帖子

14

TA的资源

版主

Rank: 6Rank: 6

测评达人

 楼主| 发表于 2019-10-28 23:43 | 显示全部楼层

如果打开文件usart3.c,就可以看到下面新增的代码,它就是使能printf的关键:

 

#if defined(__GNUC__)

int USART3_printCHAR(char character, FILE *stream)
{
    USART3_Write(character);
    return 0;
}

FILE USART3_stream = FDEV_SETUP_STREAM(USART3_printCHAR, NULL, _FDEV_SETUP_WRITE);

#elif defined(__ICCAVR__)

int putchar(int outChar)
{
    USART0_Write(outChar);
    return outChar;
}
#endif

 

#if defined(__GNUC__)
    stdout = &USART3_stream;
#endif

 



回复

使用道具 举报

9082

TA的帖子

14

TA的资源

版主

Rank: 6Rank: 6

测评达人

 楼主| 发表于 2019-10-29 23:10 | 显示全部楼层

经测试,现在只能支持printf,不支持scanf函数,有点遗憾。



回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

关闭

站长推荐上一条 /5 下一条

  • 论坛活动 E手掌握

    扫码关注
    EEWORLD 官方微信

  • EE福利  唾手可得

    扫码关注
    EE福利 唾手可得

Archiver|手机版|小黑屋|电子工程世界 ( 京ICP证 060456 )

GMT+8, 2019-11-16 09:17 , Processed in 0.122892 second(s), 16 queries , Gzip On, MemCache On.

快速回复 返回顶部 返回列表