打印
[PIC®/AVR®/dsPIC®产品]

如何实现printf函数

[复制链接]
1109|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并将串口重定向

使用特权

评论回复
5
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,里面如果有跟你寄存器名称不一样的自己查找改一下

使用特权

评论回复
6
heweibig| | 2022-11-12 09:56 | 只看该作者
请问这个串口重定向应该添加在哪个文件下呢?

使用特权

评论回复
7
lizye| | 2022-11-12 09:59 | 只看该作者
一般重定义这几个函数就可以了

使用特权

评论回复
8
zhanghqi| | 2022-11-12 10:02 | 只看该作者
将C语言的printf函数重定义就可以了。

使用特权

评论回复
9
hu9jj| | 2022-11-12 10:02 | 只看该作者
在MCC配置时选择Redirect STDIO to UART,如下图所示:


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


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

使用特权

评论回复
10
hu9jj| | 2022-11-12 10:03 | 只看该作者
晕,又被戏弄了!

使用特权

评论回复
11
renyaq| | 2022-11-12 10:04 | 只看该作者
既然你已经知道printf函数了, 你可以再看一下编译器手册, 里面有关于printf的说明的, 需要你自行重定义putch就可以了..

使用特权

评论回复
12
happy_10| | 2022-11-12 10:06 | 只看该作者
如果可以 用MPLAB可以自动生成的,看到一篇帖子写的很好,分享给你https://bbs.21ic.com/icview-3136270-1-1.html,上面有说用printf

使用特权

评论回复
13
olivem55arlowe| | 2023-1-5 12:01 | 只看该作者
你是要自己来写这个代码的吗?              

使用特权

评论回复
14
pmp| | 2023-1-6 19:41 | 只看该作者
这个需要使用stdio.h里面的printf了。

使用特权

评论回复
15
1988020566| | 2023-1-7 11:33 | 只看该作者
这个有冲映射的方案。              

使用特权

评论回复
16
olivem55arlowe| | 2023-1-9 14:00 | 只看该作者
在你的main 文件中 包含“stdio.h”  

使用特权

评论回复
17
51xlf| | 2023-1-10 19:09 | 只看该作者
putc函数(被printf函数调用)换成串囗发送函数即可

使用特权

评论回复
18
youtome| | 2023-1-10 20:10 | 只看该作者
因为printf函数是调用putchar函数输入

使用特权

评论回复
19
mmbs| | 2023-1-10 21:58 | 只看该作者
printf 函数在单片机中要重定向到串口

使用特权

评论回复
20
mmbs| | 2023-1-12 11:06 | 只看该作者
重写 fputc(int ch, FILE *f)。   

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

712

主题

7557

帖子

1

粉丝