串口重映射的问题

[复制链接]
874|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的内容,有遇到过类似问题的大侠吗?感谢
wangzsa 发表于 2021-1-5 23:04 | 显示全部楼层
你需要研究一下单片机的printf做法..
huwr 发表于 2021-1-5 23:12 | 显示全部楼层
印象中好像是下面的调用关系:
printf==>putch==>UxTXREG=ch,
tian111 发表于 2021-1-5 23:15 | 显示全部楼层
必须的用重定向,不然print函数是调用默认的。
juventus9554 发表于 2021-1-5 23:19 | 显示全部楼层
编译器不是大罗神仙,能知道你想从哪个端口printf……
pengf 发表于 2021-1-5 23:22 | 显示全部楼层
重定向就是满足你的要求的
supernan 发表于 2021-1-5 23:25 | 显示全部楼层
这个问题好奇怪
yinxiangh 发表于 2021-1-5 23:28 | 显示全部楼层
看看你的代码
 楼主| kangzj 发表于 2021-1-5 23:31 | 显示全部楼层

唉,还是没有什么结果,算了,多谢大家啦
奔波儿熊 发表于 2021-1-6 23:41 | 显示全部楼层
printf需要重定向才能在usart6输出, 说直接点就是要重写put_char 类似这个名字的函数
木木guainv 发表于 2021-2-4 12:35 | 显示全部楼层
这是预料中的结果吗
wakayi 发表于 2021-2-4 12:36 | 显示全部楼层
非常有意思的一个发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

672

主题

7007

帖子

2

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