
之前发了一个帖子,没有上传工程。发现还能加附加的,就上传下整个工程。 新买了一块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
串å£éä¿¡
先下载代码,帮你排查下,一会回复你
大致看了下,有2个问题:
1、中断处理函数 USARTx_IRQHandler()被注释了,即使产生中断,也无法跳转到处理函数中
2、中断优先级未配置 HAL_NVIC_SetPriority(SysTick_IRQn, 0, 0); 中断未开,MCU不会进入中断
(对HAL库了解的不多,只能回答这些)--------------------------标准库使用者一枚
2. 确认串口配置时正确的,特别是接收引脚和接收中断;
3. 使用Cube的话,确认相关的接口都初始化或使用正确,之前有人由于回调到原因就出现收发异常...
昨天忙了一晚上,终于找到原因了。是新买的一根USB转串口的线坏的。本来以为新买的,应该没问题,试着换了一下USB转串口线,一切都正常了。坑爹。
谢谢!
嗯,已经解决了,是我的USB转串口的线有问题
我把中断函数直接放在main里面了。
不过问题已经解决,谢谢!
中断优先级不是0级最高吗?0是关闭的意思?
已经解决,谢谢!