qiangtech 发表于 2019-4-18 11:20:51

可以用STM32CUBEMX生成一个串口的程序来比较一下,先把串口调通。再来调Printf,先确定问题的位置,一个一个慢慢解决。

五哥1 发表于 2019-4-18 16:10:16

thereborn000 发表于 2019-4-18 10:10
也就是说我不能简单地修改PA9,PA10为PB6和PB7,我还得进行重映射的一些配置是吗?
...

不进行重映射,机器会第一时间认定为USART1口的PA9,PA10。

toofree 发表于 2019-4-18 18:45:13

本帖最后由 toofree 于 2019-4-18 18:46 编辑

thereborn000 发表于 2019-4-18 10:43
哦对了 我的是stm32f107 还要重映射吗?
板凳楼层回复,重映射代码都给你写了,理解不了?
多动脑,抓住一切细节。为以防万一PORTB的时钟也开一下。
刚开始学没关系,但你得跑一下F103官方的样例程序呀,103和107对串口1操作完全一致。

aiherong 发表于 2019-4-19 03:16:26

AFIO时钟都要打开,设计电路时首选缺省管脚(它本身就是REMAP0组),再考虑其它重定向组,但也是固定的映射,不是想remap哪个都行(至少串口这样),缺省管脚不用Remap函数,配置参数齐全,依据标志收发,波特率双方一致(串1是APB2,其它APB1),交叉接线(收对发,发对收,有限长度),一帧后清中断标志,做到这些应该能成功,另外定义一个全局buffer,方便主函数读写,发与收都是逐个字节进行,我能想到的就这些了

Dylan疾风闪电 发表于 2019-4-19 10:08:32

用cube直接配置好引脚、外设,生成了即可使用。
这样就降低遗漏的风险。(当然STM32老手可以忽略,寄存器666的随便怎么玩都不会崩)
一般没有苛刻要求的测试,都可以用它快速生成,节约周期。
后续的可以等功能实现后再优化。:)
页: 1 2 [3]
查看完整版本: 串口调试出不来