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

Nucleo F303k8串口调试能发送,但是不能接收

[复制链接]
justsoso110110 提问时间:2016-6-7 22:30 /
之前发了一个帖子,没有上传工程。发现还能加附加的,就上传下整个工程。
新买了一块Nucleo F303k8,调试串口:
MDK 5.18 使用HAL库开发。下载了STM32CubeF3,里面有F303K8的串口例程。
根据串口的例程,自己写了一个,使用中断方式处理串口。
问题描述:
(1)字符串发送正常,用串口助手都能收到,会进入中断函数USARTx_IRQHandler;
(2)通过串口助手发送的字符没有任何反应,程序不进入中断函数USARTx_IRQHandler,也不会进入回调函数HAL_UART_RxCpltCallback
(3)怀疑过串口芯片的问题,但是用我自己焊的线路板和买的串口线路板都是一样的情况。
搞了两天了,求高手指点!
谢谢!

UART_TwoBoards_ComIT.zip

下载

3.36 MB, 下载次数: 31, 下载积分: ST金币 -1

串口通信

收藏 1 评论12 发布时间:2016-6-7 22:30

举报

12个回答
天涯水乡 回答时间:2016-6-8 15:47:34
中断处理函数 USARTx_IRQHandler()都被注释了,即使产生中断,如何进入处理呢?
Dylan疾风闪电 回答时间:2016-6-8 14:19:23
本帖最后由 Dylan疾风闪电 于 2016-6-8 14:50 编辑

先下载代码,帮你排查下,一会回复你
大致看了下,有2个问题:
1、中断处理函数 USARTx_IRQHandler()被注释了,即使产生中断,也无法跳转到处理函数中
2、中断优先级未配置  HAL_NVIC_SetPriority(SysTick_IRQn, 0, 0); 中断未开,MCU不会进入中断


(对HAL库了解的不多,只能回答这些)--------------------------标准库使用者一枚
wenyangzeng 回答时间:2016-6-8 10:47:55
楼主你的串口中断USARTx_IRQHandler()都注释掉了,如何进入串口接收中断?
power568 回答时间:2016-6-8 10:18:13
1. 首先确认工具是否正常,数据是否发送的芯片的接收引脚;
2. 确认串口配置时正确的,特别是接收引脚和接收中断;
3. 使用Cube的话,确认相关的接口都初始化或使用正确,之前有人由于回调到原因就出现收发异常...
衔胆栖冰 回答时间:2016-6-8 09:24:22
沙发!我没有看代码哈,看了问题就没必要看代码了。首先你得确定你的硬件上没有错误。可以用示波器测你MCU的RX引脚上有没有波形,用或者用轮询的方法看能不能收到。我就试过拿别人的开发板调串口,能发不能收,最后发现开发板有问题,不要太相信别人的东西。实际测试才是王道。
justsoso110110 回答时间:2016-6-8 20:21:15
衔胆栖冰 发表于 2016-6-8 09:24
沙发!我没有看代码哈,看了问题就没必要看代码了。首先你得确定你的硬件上没有错误。可以用示波器测你MCU ...

昨天忙了一晚上,终于找到原因了。是新买的一根USB转串口的线坏的。本来以为新买的,应该没问题,试着换了一下USB转串口线,一切都正常了。坑爹。
谢谢!
justsoso110110 回答时间:2016-6-8 20:22:13
power568 发表于 2016-6-8 10:18
1. 首先确认工具是否正常,数据是否发送的芯片的接收引脚;
2. 确认串口配置时正确的,特别是接收引脚和接 ...

嗯,已经解决了,是我的USB转串口的线有问题
justsoso110110 回答时间:2016-6-8 20:23:03
wenyangzeng 发表于 2016-6-8 10:47
楼主你的串口中断USARTx_IRQHandler()都注释掉了,如何进入串口接收中断?

我把中断函数直接放在main里面了。
不过问题已经解决,谢谢!
justsoso110110 回答时间:2016-6-8 20:23:42
Dylan疾风闪电 发表于 2016-6-8 14:19
先下载代码,帮你排查下,一会回复你
大致看了下,有2个问题:
1、中断处理函数 USARTx_IRQHandler()被注 ...

中断优先级不是0级最高吗?0是关闭的意思?
justsoso110110 回答时间:2016-6-8 20:24:12
kernaly 发表于 2016-6-8 15:47
中断处理函数 USARTx_IRQHandler()都被注释了,即使产生中断,如何进入处理呢? ...

已经解决,谢谢!
yu515301489 回答时间:2016-6-9 12:14:32
先拿一块好的板子测试串口板没问题,在试试1.串口中断配置 2.中断函数名称别弄错
atomx 回答时间:2019-7-16 09:25:34
学习

所属标签

相似问题

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