你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

串口调试出不来

[复制链接]
thereborn000 提问时间:2019-4-17 11:33 /
悬赏10ST金币已解决
本帖最后由 thereborn000 于 2019-4-17 11:37 编辑

我现在使用UWB测距 stm32f107和dw100.程序已经写好了,串口调试出不来结果,想问问是什么原因?
重定向 EHR`95488{7[4AHZX~W~C3C.png

打印函数,本来是LCD显示,我改了一下
IB`THXZ[K{H{B_NX7`2A7RC.png



串口引脚配置
@]P{O%JK[NPZ)`D2G)D52@F.png
JXG%K3W6JJF]451A7[{$O9N.png 串口调试助手没结果
GPJ5XY)WM%X6_F6I{[3KXFL.png

最佳答案

查看完整内容

USART1的管脚设置有问题,默认是PA9、PA10。 如果要使用PB6、PB7,那得重映射一下。 GPIO_PinRemapConfig(GPIO_Remap_USART1, ENABLE ); 没看到你的重映射代码,你量一下PA9管脚是不是有波形,或者把外部串口接到PA9、PA10上去。
收藏 评论24 发布时间:2019-4-17 11:33

举报

24个回答
七哥 回答时间:2019-4-17 11:33:55
本帖最后由 toofree 于 2019-4-17 12:34 编辑

USART1的管脚设置有问题,默认是PA9、PA10。
如果要使用PB6、PB7,那得重映射一下。
GPIO_PinRemapConfig(GPIO_Remap_USART1, ENABLE );

没看到你的重映射代码,你量一下PA9管脚是不是有波形,或者把外部串口接到PA9、PA10上去。

评分

参与人数 1蝴蝶豆 +3 收起 理由
STMCU + 3

查看全部评分

老牛洋车 回答时间:2019-4-17 12:07:59
会不会是接线错误,试着将TX和RX交换一下.

评分

参与人数 1蝴蝶豆 +2 收起 理由
STMCU + 2

查看全部评分

thereborn000 回答时间:2019-4-17 13:04:49
toofree 发表于 2019-4-17 12:26
USART1的管脚设置有问题,默认是PA9、PA10。
如果要使用PB6、PB7,那得重映射一下。
GPIO_PinRemapConfig(G ...

怎么重映射呀?就是说直接改不可以是吗?
thereborn000 回答时间:2019-4-17 13:08:31
toofree 发表于 2019-4-17 12:26
USART1的管脚设置有问题,默认是PA9、PA10。
如果要使用PB6、PB7,那得重映射一下。
GPIO_PinRemapConfig(G ...

EK4UA(Z(IEIF71WV$GLH]@L.png 我看了貌似前面有
edmundlee 回答时间:2019-4-17 14:15:21
USART 的 APB2Clock Enable 要放在初始化之前, 不先Clock Enable就设置不了的

评分

参与人数 1蝴蝶豆 +2 收起 理由
STMCU + 2

查看全部评分

thereborn000 回答时间:2019-4-17 14:18:20
edmundlee 发表于 2019-4-17 14:15
USART 的 APB2Clock Enable 要放在初始化之前, 不先Clock Enable就设置不了的

那gpio的呢??
thereborn000 回答时间:2019-4-17 14:21:02

CMQHS(YK(%SSD0R61NJG7ZO.png 这样吗??

s2333 回答时间:2019-4-17 14:21:35
你用的是重映射引脚,需要重映射
GPIO_PinRemapConfig(GPIO_Remap_USART1,ENABLE);

评分

参与人数 1蝴蝶豆 +2 收起 理由
STMCU + 2

查看全部评分

edmundlee 回答时间:2019-4-17 14:21:46

也一样, Clock Enable要放最前面
thereborn000 回答时间:2019-4-17 14:28:38
edmundlee 发表于 2019-4-17 14:21
也一样, Clock Enable要放最前面

最前面是usartinit函数的外面还是这个函数的最前面???
edmundlee 回答时间:2019-4-17 14:55:26
thereborn000 发表于 2019-4-17 14:28
最前面是usartinit函数的外面还是这个函数的最前面???

不管你放外面还是放函数内, 反正要设置外设之前, 第一步就是先Enable Clock, USART是这样, SPI是这样, IO也是这样
aiherong 回答时间:2019-4-18 06:05:16
开启rcc时钟只要在usart_init()之前即可,结构体定义可以在rcc之前,这不是原因。重点看缺省管脚要对应,象toofree说的。另外,大多串行通讯接口其两方接线均是交叉的

评分

参与人数 1蝴蝶豆 +2 收起 理由
STMCU + 2

查看全部评分

jeffhe1 回答时间:2019-4-18 08:38:05
沒重映射吧 ?
五哥1 回答时间:2019-4-18 08:50:41
楼主这个重映射是基本的,你要自己找资料来学,不如先不要改PA9,PA10,先确认在这个状况下,程序是否可用,然后,再重映射改成PB6,PB7,还有,如果你用CUBEMX来设置的话,重映射这个就由机器自己生成了,具体就是先占用PA9,PA10,然后设置USART1就可以了。

评分

参与人数 1蝴蝶豆 +3 收起 理由
STMCU + 3

查看全部评分

12下一页

所属标签

相似问题

关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新和工艺
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版