• stm32中阻塞模式和非阻塞模式 in blocking mode 与 in non-blocking mode区别


    阻塞模式和非阻塞模式......

    我的理解是:
    阻塞模式就像是一个延时函数,当这个函数没处理完那么,所有的按照流程需要执行的代码都不会被执行,要等到这个延时完成,类似 平时看书上写的LED灯闪烁,用的delay()一样..
    而非阻塞模式就像他定义的那样,一般用的是中断,执行这条语句的时候,开启相应的中断达到一定的条件才进行处理,这样不会影响到流程的执行.

    我的理解就是,阻塞就是死等,非阻塞就是中断

    可以参考

    /**
      * @brief  Sends an amount of data in non blocking mode.
      * @note   When UART parity is not enabled (PCE = 0), and Word Length is configured to 9 bits (M1-M0 = 01),
      *         the sent data is handled as a set of u16. In this case, Size must indicate the number
      *         of u16 provided through pData.
      * @param  huart Pointer to a UART_HandleTypeDef structure that contains
      *               the configuration information for the specified UART module.
      * @param  pData Pointer to data buffer (u8 or u16 data elements).
      * @param  Size  Amount of data elements (u8 or u16) to be sent
      * @retval HAL status
      */
    HAL_StatusTypeDef HAL_UART_Transmit_IT(UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size)
     

    /**
      * @brief  Sends an amount of data in blocking mode.
      * @note   When UART parity is not enabled (PCE = 0), and Word Length is configured to 9 bits (M1-M0 = 01),
      *         the sent data is handled as a set of u16. In this case, Size must indicate the number
      *         of u16 provided through pData.
      * @param  huart Pointer to a UART_HandleTypeDef structure that contains
      *               the configuration information for the specified UART module.
      * @param  pData Pointer to data buffer (u8 or u16 data elements).
      * @param  Size  Amount of data elements (u8 or u16) to be sent
      * @param  Timeout Timeout duration
      * @retval HAL status
      */
    HAL_StatusTypeDef HAL_UART_Transmit(UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size, uint32_t Timeout)
    ————————————————
    版权声明:本文为CSDN博主「liming0931」的原创文章,遵循CC 4.0 by-sa版权协议,转载请附上原文出处链接及本声明。
    原文链接:https://blog.csdn.net/liming0931/article/details/99721916

  • 相关阅读:
    RocketMQ消息存储(一) mmap零拷贝
    RocketMQ消息存储(二) MappedFile
    RocketMQ(六) 服务端请求与响应的处理 源码分析
    shell脚本中的 [ 和 [[ 的区别(单中括号和双中括号的区别)
    版本回退
    红队字典收集整理
    武装你的 Burp Suite 好用插件分享
    RMI 2021【杂题】
    XXII Open Cup, Grand Prix of IMO【杂题】
    原生渲染自插入列表
  • 原文地址:https://www.cnblogs.com/CodeWorkerLiMing/p/11376725.html
Copyright © 2020-2023  润新知