📄 hal_pio.c
字号:
/* Input : uint16_t port_no, uint8_t bit_no, */
/* uint8_t bit_data */
/* Output : int16_t HAL_OK(1) */
/* HAL_PARAM_ERROR(-2) */
/* Note : Pio out bit data set. */
/* */
/*********************************************************************/
int16_t HalPio_PioOutBitData(uint16_t port_no, uint8_t bit_no, uint8_t bit_data)
{
int16_t rtnVal = HAL_OK;
PORT_BIT *port_bit=NULL;
if ((bit_data != 0)&&(bit_data != 1)){
rtnVal = HAL_PARAM_ERROR;
}
switch (port_no) {
case PA:
port_bit = (PORT_BIT *)PO0;
break;
case PB:
port_bit = (PORT_BIT *)PO1;
break;
case PC:
port_bit = (PORT_BIT *)PO2;
break;
case PD:
port_bit = (PORT_BIT *)PO3;
break;
case PE:
port_bit = (PORT_BIT *)PO4;
break;
case PF:
port_bit = (PORT_BIT *)PO5;
break;
case PG:
port_bit = (PORT_BIT *)PO6;
break;
case PH:
port_bit = (PORT_BIT *)PO7;
break;
default :
rtnVal = HAL_PARAM_ERROR;
break;
}
if (rtnVal == HAL_OK) {
switch (bit_no) {
case BIT0:
port_bit->bit0 = bit_data;
break;
case BIT1:
port_bit->bit1 = bit_data;
break;
case BIT2:
port_bit->bit2 = bit_data;
break;
case BIT3:
port_bit->bit3 = bit_data;
break;
case BIT4:
port_bit->bit4 = bit_data;
break;
case BIT5:
port_bit->bit5 = bit_data;
break;
case BIT6:
port_bit->bit6 = bit_data;
break;
case BIT7:
port_bit->bit7 = bit_data;
break;
default :
rtnVal = HAL_PARAM_ERROR;
break;
}
}
return rtnVal;
}
/*********************************************************************/
/* */
/* Function Name : HalPio_PioOutData */
/* Input : uint16_t port_no, uint8_t *data */
/* Output : int16_t HAL_OK(1) */
/* HAL_PARAM_ERROR(-2) */
/* Note : Pio input set. */
/* */
/*********************************************************************/
int16_t HalPio_PioInData(uint16_t port_no, uint8_t *data)
{
int16_t rtnVal = HAL_OK;
if (data == NULL) {
rtnVal = HAL_PARAM_ERROR;
}
if (rtnVal == HAL_OK) {
switch (port_no){
case PA:
*data = OkiCLib_read8(PI0);
break; /* GPIO0 input read */
case PB:
*data = OkiCLib_read8(PI1);
break; /* GPIO1 input read */
case PC:
*data = OkiCLib_read8(PI2);
break; /* GPIO2 input read */
case PD:
*data = OkiCLib_read8(PI3);
break; /* GPIO3 input read */
case PE:
*data = OkiCLib_read8(PI4);
break; /* GPIO4 input read */
case PF:
*data = OkiCLib_read8(PI5);
break; /* GPIO5 input read */
case PG:
*data = OkiCLib_read8(PI6);
break; /* GPIO6 input read */
case PH:
*data = OkiCLib_read8(PI7);
break; /* GPIO7 input read */
default :
rtnVal = HAL_PARAM_ERROR;
break;
}
}
return rtnVal;
}
/*********************************************************************/
/* */
/* Function Name : HalPio_PioOutBitData */
/* Input : uint16_t port_no, uint8_t bit_no, */
/* uint8_t *bit_data */
/* Output : int16_t HAL_OK(1) */
/* HAL_PARAM_ERROR(-2) */
/* Note : Pio input read bit_data */
/* */
/*********************************************************************/
int16_t HalPio_PioInBitData(uint16_t port_no, uint8_t bit_no, uint8_t *bit_data)
{
int16_t rtnVal = HAL_OK;
PORT_BIT *port_bit=NULL;
if (bit_data == NULL) {
rtnVal = HAL_PARAM_ERROR;
}
switch (port_no) {
case PA:
port_bit = (PORT_BIT *)PI0;
break;
case PB:
port_bit = (PORT_BIT *)PI1;
break;
case PC:
port_bit = (PORT_BIT *)PI2;
break;
case PD:
port_bit = (PORT_BIT *)PI3;
break;
case PE:
port_bit = (PORT_BIT *)PI4;
break;
case PF:
port_bit = (PORT_BIT *)PI5;
break;
case PG:
port_bit = (PORT_BIT *)PI6;
break;
case PH:
port_bit = (PORT_BIT *)PI7;
break;
default :
rtnVal = HAL_PARAM_ERROR;
break;
}
if (rtnVal == HAL_OK) {
switch (bit_no) {
case BIT0:
*bit_data = port_bit->bit0;
break;
case BIT1:
*bit_data = port_bit->bit1;
break;
case BIT2:
*bit_data = port_bit->bit2;
break;
case BIT3:
*bit_data = port_bit->bit3;
break;
case BIT4:
*bit_data = port_bit->bit4;
break;
case BIT5:
*bit_data = port_bit->bit5;
break;
case BIT6:
*bit_data = port_bit->bit6;
break;
case BIT7:
*bit_data = port_bit->bit7;
break;
default :
rtnVal = HAL_PARAM_ERROR;
break;
}
}
return rtnVal;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -