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

stm32cubemx 中断发送后直接触发中断接收,发什么收什么的...

[复制链接]
benlarden 提问时间:2017-4-21 17:05 /
请教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);
  }

收藏 1 评论3 发布时间:2017-4-21 17:05

举报

3个回答
zhao.zhao 回答时间:2017-4-22 11:52:47
不需要的,按你说的现象看,好像是TXD和RXD线连在了一块儿了
benlarden 回答时间:2017-4-22 12:59:22
zhao.zhao 发表于 2017-4-22 11:52
不需要的,按你说的现象看,好像是TXD和RXD线连在了一块儿了

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

评分

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

查看全部评分

zhao.zhao 回答时间:2017-4-23 14:29:52
研究寄存器,佩服佩服

所属标签

相似问题

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32Cube扩展软件包
意法半导体边缘AI套件
ST - 理想汽车豪华SUV案例
ST意法半导体智能家居案例
STM32 ARM Cortex 32位微控制器
关注我们
st-img 微信公众号
st-img 手机版