打印

串口重映射的问题

[复制链接]
571|14
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
kangzj|  楼主 | 2021-1-5 22:51 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
PIC24FJ1024GB610这颗片子,在调试的时候,我想用串口6输出Printf打印的内容,在网上找了下,发现大家使用putch()函数重映射一下就能映射到USART6,我发现不用putch函数也能输出打印的内容

使用特权

评论回复
沙发
supernan| | 2021-1-5 22:54 | 只看该作者

什么意思?不是很明白你说的什么,能再解释一下这个现象吗

使用特权

评论回复
板凳
kangzj|  楼主 | 2021-1-5 22:58 | 只看该作者
只能从串口1输出,而不是从串口6输出。

使用特权

评论回复
地板
kangzj|  楼主 | 2021-1-5 23:04 | 只看该作者
单独用 U6TXREG = Ch;      //将需要发送的数据给TXREG
    while( U6STAbits.TRMT == 0);//等待数据写入 也能从串口6发出数据,但是就是无法从串口6输出printf的内容,有遇到过类似问题的大侠吗?感谢

使用特权

评论回复
5
wangzsa| | 2021-1-5 23:04 | 只看该作者
你需要研究一下单片机的printf做法..

使用特权

评论回复
6
huwr| | 2021-1-5 23:12 | 只看该作者
印象中好像是下面的调用关系:
printf==>putch==>UxTXREG=ch,

使用特权

评论回复
7
tian111| | 2021-1-5 23:15 | 只看该作者
必须的用重定向,不然print函数是调用默认的。

使用特权

评论回复
8
juventus9554| | 2021-1-5 23:19 | 只看该作者
编译器不是大罗神仙,能知道你想从哪个端口printf……

使用特权

评论回复
9
pengf| | 2021-1-5 23:22 | 只看该作者
重定向就是满足你的要求的

使用特权

评论回复
10
supernan| | 2021-1-5 23:25 | 只看该作者
这个问题好奇怪

使用特权

评论回复
11
yinxiangh| | 2021-1-5 23:28 | 只看该作者
看看你的代码

使用特权

评论回复
12
kangzj|  楼主 | 2021-1-5 23:31 | 只看该作者

唉,还是没有什么结果,算了,多谢大家啦

使用特权

评论回复
13
奔波儿熊| | 2021-1-6 23:41 | 只看该作者
printf需要重定向才能在usart6输出, 说直接点就是要重写put_char 类似这个名字的函数

使用特权

评论回复
14
木木guainv| | 2021-2-4 12:35 | 只看该作者
这是预料中的结果吗

使用特权

评论回复
15
wakayi| | 2021-2-4 12:36 | 只看该作者
非常有意思的一个发现

使用特权

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

本版积分规则

672

主题

7007

帖子

2

粉丝