zoukankan      html  css  js  c++  java
  • novoton-gpio配置+变量转化算法

    普通gpio初始化,只需设置输入输出模式和是否使能中断:

    void GPIO_SetMode(GPIO_T *port, uint32_t u32PinMask, uint32_t u32Mode);

    * @param[in] port GPIO port. It could be PA, PB, PC, PD, PE or PF.

    * @param[in] u32PinMask The single or multiple pins of specified GPIO port.

    * It could be BIT0 ~ BIT15 for PA, PB, PC and PD GPIO port.

    * It could be BIT0 ~ BIT14 for PE GPIO port.
    * It could be BIT0 ~ BIT7 for PF GPIO port.
    * @param[in] u32Mode Operation mode. It could be

    * GPIO_MODE_INPUT, GPIO_MODE_OUTPUT, GPIO_MODE_OPEN_DRAIN, GPIO_MODE_QUASI.

     

    void GPIO_EnableInt(GPIO_T *port, uint32_t u32Pin, uint32_t u32IntAttribs);

    * @param[in] u32IntAttribs The interrupt attribute of specified GPIO pin. It could be
    * GPIO_INT_RISING, GPIO_INT_FALLING, GPIO_INT_BOTH_EDGE, GPIO_INT_HIGH, GPIO_INT_LOW.

    void GPIO_DisableInt(GPIO_T *port, uint32_t u32Pin);

    //是否确定要加入__asm("nop");之前运行时死机。

    1 //开放中断
    2 NVIC_EnableIRQ(GPA_IRQn);
    3 __asm("nop");
    4 NVIC_EnableIRQ(GPD_IRQn);
    5 __asm("nop");
    6 NVIC_EnableIRQ(GPE_IRQn);

    变量转化算法:

    uint32_t i;
    volatile uint32_t *ptrLED[_LED_Bar_Count] = {&PB2, &PB3, &PC3, &PC2, &PA9, &PB1, &PC7};

    for(i = 0; i < _LED_Bar_Count; i++)
    {
      if((Number > i) & 0x01)
        *ptrLED[i] = 0; //LED ON
      else
        *ptrLED[i] = 1; //LED OFF
    }

  • 相关阅读:
    周报说明8-4
    周报7-28
    日志-maven-c监控 周报7-21
    证明创建runnable实例和普通类时间一样长, 其实吧
    UE4开始之路
    js简单框架设计
    json中key为数字会自动排序问题
    u3动画
    工厂模式
    单例模式
  • 原文地址:https://www.cnblogs.com/llw2017/p/9067604.html
Copyright © 2011-2022 走看看