[PIC®/AVR®/dsPIC®产品] 如何实现printf函数

[复制链接]
1940|21
 楼主| ousj 发表于 2022-11-12 09:46 | 显示全部楼层 |阅读模式
picc下如何实现printf函数,包括sendch和getch还有UART的init(),最好有源代码
 楼主| ousj 发表于 2022-11-12 09:48 | 显示全部楼层
没有告知具体步骤也可以
huangchui 发表于 2022-11-12 09:51 | 显示全部楼层

不了解!
zwll 发表于 2022-11-12 09:53 | 显示全部楼层
好像得调用stdio.h并将串口重定向
supernan 发表于 2022-11-12 09:54 | 显示全部楼层

void putch(unsigned char byte)
{
        while(!TXIF)                                                                                       
                continue;
        TXREG = byte;
}

unsigned char getch(void)
{
        while(!RCIF)                                                                                       
                continue;
        return RCREG;
}

unsigned char getche(void)
{
        unsigned char c;
        putch(c = getch());
        return c;
}

我是18F4550,里面如果有跟你寄存器名称不一样的自己查找改一下
heweibig 发表于 2022-11-12 09:56 | 显示全部楼层
请问这个串口重定向应该添加在哪个文件下呢?
lizye 发表于 2022-11-12 09:59 | 显示全部楼层
一般重定义这几个函数就可以了
zhanghqi 发表于 2022-11-12 10:02 | 显示全部楼层
将C语言的printf函数重定义就可以了。
hu9jj 发表于 2022-11-12 10:02 | 显示全部楼层
在MCC配置时选择Redirect STDIO to UART,如下图所示:


生成代码后就可以使用printf命令了:


记得还需要在使用前包含头文件。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
hu9jj 发表于 2022-11-12 10:03 | 显示全部楼层
晕,又被戏弄了!
renyaq 发表于 2022-11-12 10:04 | 显示全部楼层
既然你已经知道printf函数了, 你可以再看一下编译器手册, 里面有关于printf的说明的, 需要你自行重定义putch就可以了..
happy_10 发表于 2022-11-12 10:06 | 显示全部楼层
如果可以 用MPLAB可以自动生成的,看到一篇帖子写的很好,分享给你https://bbs.21ic.com/icview-3136270-1-1.html,上面有说用printf
olivem55arlowe 发表于 2023-1-5 12:01 | 显示全部楼层
你是要自己来写这个代码的吗?              
pmp 发表于 2023-1-6 19:41 | 显示全部楼层
这个需要使用stdio.h里面的printf了。
1988020566 发表于 2023-1-7 11:33 | 显示全部楼层
这个有冲映射的方案。              
olivem55arlowe 发表于 2023-1-9 14:00 | 显示全部楼层
在你的main 文件中 包含“stdio.h”  
51xlf 发表于 2023-1-10 19:09 | 显示全部楼层
putc函数(被printf函数调用)换成串囗发送函数即可
youtome 发表于 2023-1-10 20:10 | 显示全部楼层
因为printf函数是调用putchar函数输入
mmbs 发表于 2023-1-10 21:58 | 显示全部楼层
printf 函数在单片机中要重定向到串口
mmbs 发表于 2023-1-12 11:06 | 显示全部楼层
重写 fputc(int ch, FILE *f)。   
您需要登录后才可以回帖 登录 | 注册

本版积分规则

712

主题

7557

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部