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 \n

* 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 \n
* 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
}

 

转载于:https://www.cnblogs.com/llw2017/p/9067604.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值