搜索
查看: 1350|回复: 3

[已解决] stm32cubemx 中断发送后直接触发中断接收,发什么收什么的...

[复制链接]

该用户从未签到

8

主题

89

帖子

0

蝴蝶豆

中级会员

最后登录
2019-4-30
发表于 2017-4-21 17:05:31 | 显示全部楼层 |阅读模式
请教stm32cubemx 中断发送后直接触发中断接收,发什么就收什么,是不是在发之前要调用以下函数?__HAL_UART_DISABLE_IT(&huart2, UART_IT_RXNE);

禁止掉接收,发送完后开启?我选择的是异步收发。

HAL_UART_IRQHandler()函数的收发不是互斥关系,如下:
  tmp_flag = __HAL_UART_GET_FLAG(huart, UART_FLAG_RXNE);
  tmp_it_source = __HAL_UART_GET_IT_SOURCE(huart, UART_IT_RXNE);
  /* UART in mode Receiver ---------------------------------------------------*/
  if((tmp_flag != RESET) && (tmp_it_source != RESET))
  {
    UART_Receive_IT(huart);
  }

  tmp_flag = __HAL_UART_GET_FLAG(huart, UART_FLAG_TXE);
  tmp_it_source = __HAL_UART_GET_IT_SOURCE(huart, UART_IT_TXE);
  /* UART in mode Transmitter ------------------------------------------------*/
  if((tmp_flag != RESET) && (tmp_it_source != RESET))
  {
    UART_Transmit_IT(huart);
  }

回复

使用道具 举报

该用户从未签到

3

主题

971

帖子

176

蝴蝶豆

论坛元老

最后登录
2021-4-1
发表于 2017-4-22 11:52:47 | 显示全部楼层
不需要的,按你说的现象看,好像是TXD和RXD线连在了一块儿了
回复 支持 反对

使用道具 举报

该用户从未签到

8

主题

89

帖子

0

蝴蝶豆

中级会员

最后登录
2019-4-30
 楼主| 发表于 2017-4-22 12:59:22 | 显示全部楼层
zhao.zhao 发表于 2017-4-22 11:52
不需要的,按你说的现象看,好像是TXD和RXD线连在了一块儿了

谢谢!问题找到了,是CR3寄存器里面HDSEL(半双工)设置了1导致的

评分

参与人数 1ST金币 +2 收起 理由
zero99 + 2 结贴奖励

查看全部评分

回复 支持 反对

使用道具 举报

该用户从未签到

3

主题

971

帖子

176

蝴蝶豆

论坛元老

最后登录
2021-4-1
发表于 2017-4-23 14:29:52 | 显示全部楼层
研究寄存器,佩服佩服
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 注册/登录

本版积分规则

关闭

站长推荐上一条 /3 下一条

Archiver|手机版|小黑屋|论坛-意法半导体STM32/STM8技术社区

GMT+8, 2024-5-8 02:36 , Processed in 0.147939 second(s), 33 queries .

Powered by Discuz! X3.4

Copyright © 2001-2024, Tencent Cloud.

快速回复 返回顶部 返回列表