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

串口重映射的问题

[复制链接]
938|23
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
kangzj|  楼主 | 2022-8-10 20:26 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 pzsh 于 2022-8-15 16:40 编辑

PIC24FJ1024GB610这颗片子,在调试的时候,我想用串口6输出Printf打印的内容,在网上找了下,发现大家使用putch()函数重映射一下就能映射到USART6,我发现不用putch函数也能输出打印的内容

使用特权

评论回复
沙发
supernan| | 2022-8-10 20:28 | 只看该作者
什么意思?不是很明白你说的什么,能再解释一下这个现象吗

使用特权

评论回复
板凳
kangzj|  楼主 | 2022-8-10 20:39 | 只看该作者
只能从串口1输出,而不是从串口6输出。

使用特权

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

使用特权

评论回复
5
dengdc| | 2022-8-10 20:44 | 只看该作者
你需要研究一下单片机的printf做法..

使用特权

评论回复
6
lizye| | 2022-8-10 20:46 | 只看该作者
印象中好像是下面的调用关系:
printf==>putch==>UxTXREG=ch,

使用特权

评论回复
7
yszong| | 2022-8-10 20:48 | 只看该作者
必须的用重定向,不然print函数是调用默认的。

使用特权

评论回复
8
zhaoxqi| | 2022-8-10 20:52 | 只看该作者
编译器不是大罗神仙,能知道你想从哪个端口printf……

使用特权

评论回复
9
yszong| | 2022-8-10 20:54 | 只看该作者

重定向就是满足你的要求的

使用特权

评论回复
10
kangzj|  楼主 | 2022-8-10 20:56 | 只看该作者
这个问题好奇怪

使用特权

评论回复
11
yszong| | 2022-8-10 20:58 | 只看该作者
看看你的代码

使用特权

评论回复
12
renyaq| | 2022-8-10 21:02 | 只看该作者
printf需要重定向才能在usart6输出

使用特权

评论回复
13
yszong| | 2022-8-10 21:04 | 只看该作者
说直接点就是要重写put_char 类似这个名字的函数

使用特权

评论回复
14
kangzj|  楼主 | 2022-8-10 21:06 | 只看该作者
唉,还是没有什么结果,算了,多谢大家啦

使用特权

评论回复
15
jkl21| | 2022-8-16 22:10 | 只看该作者
printf实现了吗   

使用特权

评论回复
16
quickman| | 2022-8-18 17:16 | 只看该作者
这个怎么配置呢   

使用特权

评论回复
17
xiaoyaozt| | 2022-8-18 18:58 | 只看该作者
以前只是以为单片机才有这个需求呢   

使用特权

评论回复
18
tpgf| | 2022-9-5 08:18 | 只看该作者
应该串口输出就可以

使用特权

评论回复
19
nawu| | 2022-9-5 12:35 | 只看该作者
需要自己定义从那个口输出

使用特权

评论回复
20
aoyi| | 2022-9-5 12:44 | 只看该作者
必须得用重定向

使用特权

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

本版积分规则

672

主题

7007

帖子

2

粉丝