zoukankan      html  css  js  c++  java
  • get skill

    Get Skill

    2018-01-16

      > 001  防止数组越界的一种方法

    1 char array[5];
    2 array[n%5] = value;

      > 002  超时机制

          在等待某个事件或标志时,设定一定时限,时限到,等待的事件或标志还未发生,则输出一条提示信息

          拒绝死等,即永无时限的等待某个事件或标志发生,这样在调试程序很麻烦,不方便定位问题

     1 /**
     2   * @brief  使用SPI发送一个字节的数据
     3   * @param  byte:要发送的数据
     4   * @retval 返回接收到的数据
     5   */
     6 u8 bsp_SpiSendByte(u8 byte)
     7 {
     8     SPITimeout = SPI_TIMEOUT;
     9 
    10     /* 等待发送缓冲区为空,TXE事件 */
    11     while (SPI_I2S_GetFlagStatus(BSP_SPI, SPI_I2S_FLAG_TXE) == RESET)
    12     {
    13         if((SPITimeout--) == 0)
    14             return SPI_TIMEOUT_UserCallback(0);
    15     }
    16 
    17     /* 写入数据寄存器,把要写入的数据写入发送缓冲区 */
    18     SPI_I2S_SendData(BSP_SPI, byte);
    19 
    20     SPITimeout = SPI_TIMEOUT;
    21 
    22     /* 等待接收缓冲区非空,RXNE事件 */
    23     while (SPI_I2S_GetFlagStatus(BSP_SPI, SPI_I2S_FLAG_RXNE) == RESET)
    24     {
    25         if((SPITimeout--) == 0)
    26             return SPI_TIMEOUT_UserCallback(1);
    27     }
    28 
    29     /* 读取数据寄存器,获取接收缓冲区数据 */
    30     return SPI_I2S_ReceiveData(BSP_SPI);
    31 }
    32 
    33 
    34 /**
    35   * @brief  等待超时回调函数
    36   * @param  None.
    37   * @retval None.
    38   */
    39 static  uint16_t SPI_TIMEOUT_UserCallback(uint8_t errorCode)
    40 {
    41     /* 等待超时后的处理,输出错误信息 */
    42     SPI_ERROR("SPI 等待超时!errorCode = %d",errorCode);
    43     return 0;
    44 }

      > 003  spi总线时钟的4种模式

     

  • 相关阅读:
    k8s 集群文件共享
    .net core 使用IOptionsXXX读取配置
    docker Dockerfile
    k8s 部署tomcatservice (NodePort通过节点向外提供服务)
    k8s 用Rinetd对外tomcatservice
    k8s 部署应用
    坑爹的matlab除法
    Cygwin/Git与Git Source Control Provider结合时初始目录
    手机电话号码从excel导入的最简单方法
    快捷方式改变电源计划,设置关闭显示器时间
  • 原文地址:https://www.cnblogs.com/skullboyer/p/8295330.html
Copyright © 2011-2022 走看看