hal_gpio.c
来自「最新版IAR FOR ARM(EWARM)5.11中的代码例子」· C语言 代码 · 共 58 行
C
58 行
//-----------------------------------------------------------------------------
// HAL_GPIO
//-----------------------------------------------------------------------------
#include "hal_gpio.h"
//-----------------------------------------------------------------------------
void GPIO_Init (u8 dir)
{
GPIO->DIR = dir; //1=input, 0=output
CONFR->GLOBAL_CONTROL |= 0x1;
LEDs(~ALL_LEDs);
}
//-----------------------------------------------------------------------------
void LEDs (u8 value)
{
if (ValBit(value,0))
ClrBit(GPIO->DOUT0,0);
else
SetBit(GPIO->DOUT0,0);
if (ValBit(value,1))
ClrBit(GPIO->DOUT1,0);
else
SetBit(GPIO->DOUT1,0);
if (ValBit(value,2))
ClrBit(GPIO->DOUT2,0);
else
SetBit(GPIO->DOUT2,0);
if (ValBit(value,3))
ClrBit(GPIO->DOUT3,0);
else
SetBit(GPIO->DOUT3,0);
if (ValBit(value,4))
ClrBit(GPIO->DOUT4,0);
else
SetBit(GPIO->DOUT4,0);
if (ValBit(value,5))
ClrBit(GPIO->DOUT5,0);
else
SetBit(GPIO->DOUT5,0);
}
//-----------------------------------------------------------------------------
void LEDs_Toggle (u8 mask)
{
u8 nto_change = GPIO->DIN & (~mask); //not to change
u8 to_change = mask & (~(GPIO->DIN & (mask))); //to toggle
LEDs (~(nto_change |to_change));
}
//-----------------------------------------------------------------------------
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?