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

stm32串口接收硬件FIFO的实现

[复制链接]
wjandsq 发布时间:2017-1-23 13:29
阅读主题, 点击返回1楼
收藏 1 评论15 发布时间:2017-1-23 13:29
15个回答
zoomdy 回答时间:2017-1-23 16:04:32
wjandsq 发表于 2017-1-23 14:11
HAL库的串口中断函数,并没有认真考虑DMA和空闲中断,非常不专业。

没有空闲中断确实很棘手
jtc_88 回答时间:2017-1-23 16:09:26
hal 的 bug 是 没有 带DMA 的 空闲中断配置  都需要 后期 改
zbber 回答时间:2017-1-23 22:49:34
说的是实现思路
wjandsq 回答时间:2017-1-24 22:47:05
没有空闲中断,应该算是HAL库不完善。
另外,接收完数据,不应该自以为是的关闭串口,应该由用户决定是否关闭。
any012 回答时间:2017-1-25 13:31:42
请教,第二层软件FIFO缓冲是什么意思?实现什么功能?
wjandsq 回答时间:2017-1-25 17:02:41
HAL库串口空闲中断处理代码:

  /* UART in mode Transmitter end --------------------------------------------*/
  if(((isrflag & USART_SR_TC) != RESET) && ((crlits & USART_CR1_TCIE) != RESET))
  {
    UART_EndTransmit_IT(huart);
    return;
  }
  /* UART in mode Receiver end -----------------------------------------------*/
  if(((isrflags & USART_SR_IDLE) != RESET) && ((crlits & USART_CR1_IDLEIE) != RESET))
  {
    /* Clear the UART IDLE pending flag */
    __HAL_UART_CLEAR_IDLEFLAG(huart);
    return;
  }
}
12

所属标签

STM32团队

意法半导体微控制器和微处理器拥有广泛的产品线,包含低成本的8位单片机和基于ARM® Cortex®-M0、M0+、M3、M4、M33、M7及A7内核并具备丰富外设选择的32位微控制器及微处理器


最新内容

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版