hal_api.c
来自「最新版IAR FOR ARM(EWARM)5.11中的代码例子」· C语言 代码 · 共 1,406 行 · 第 1/5 页
C
1,406 行
if (manageStateMachine(UPLAT_7D_HAL_PIO_READ_IO) == HAL_OK) {
ret = HalPio_PioReadIo(port_no, port_io);
manageStateMachine(UPLAT_7D_HAL_PIO_READ_IO_END);
}
else{
ret = HAL_DOUBLE_ERROR; /* Double error. */
}
return ret;
}
/*********************************************************************/
/* */
/* Function Name : uplat7dHAL_PioOutData */
/* Input : port_no , data */
/* Output : int16_t HAL_OK(1) */
/* HAL_DOUBLE_ERROR(-2) */
/* Note : Pio output set. */
/* */
/*********************************************************************/
int16_t uplat7dHAL_PioOutData(uint16_t port_no, uint8_t data)
{
int16_t ret = HAL_OK;
if (manageStateMachine(UPLAT_7D_HAL_PIO_OUT_DATA) == HAL_OK) {
ret = HalPio_PioOutData(port_no, data);
manageStateMachine(UPLAT_7D_HAL_PIO_OUT_DATA_END);
}
else{
ret = HAL_DOUBLE_ERROR; /* Double error. */
}
return ret;
}
/*********************************************************************/
/* */
/* Function Name : uplat7dHAL_PioOutBitData */
/* Input : port_no , bit_no, bit_data */
/* Output : int16_t HAL_OK(1) */
/* HAL_DOUBLE_ERROR(-2) */
/* Note : Pio out bit data set. */
/* */
/*********************************************************************/
int16_t uplat7dHAL_PioOutBitData(uint16_t port_no, uint8_t bit_no, uint8_t bit_data)
{
int16_t ret = HAL_OK;
if (manageStateMachine(UPLAT_7D_HAL_PIO_OUT_BIT_DATA) == HAL_OK) {
ret = HalPio_PioOutBitData(port_no, bit_no, bit_data);
manageStateMachine(UPLAT_7D_HAL_PIO_OUT_BIT_DATA_END);
}
else{
ret = HAL_DOUBLE_ERROR; /* Double error. */
}
return ret;
}
/*********************************************************************/
/* */
/* Function Name : uplat7dHAL_PioInData */
/* Input : port_no , *data */
/* Output : int16_t HAL_OK(1) */
/* HAL_DOUBLE_ERROR(-2) */
/* Note : Pio input read. */
/* */
/*********************************************************************/
int16_t uplat7dHAL_PioInData(uint16_t port_no, uint8_t *data)
{
int16_t ret = HAL_OK;
if (manageStateMachine(UPLAT_7D_HAL_PIO_IN_DATA) == HAL_OK) {
ret = HalPio_PioInData(port_no, data);
manageStateMachine(UPLAT_7D_HAL_PIO_IN_DATA_END);
}
else{
ret = HAL_DOUBLE_ERROR; /* Double error. */
}
return ret;
}
/*********************************************************************/
/* */
/* Function Name : uplat7dHAL_PioInBitData */
/* Input : port_no , bit_no, *bit_data */
/* Output : int16_t HAL_OK(1) */
/* HAL_DOUBLE_ERROR(-2) */
/* Note : Pio input read bit_data. */
/* */
/*********************************************************************/
int16_t uplat7dHAL_PioInBitData(uint16_t port_no, uint8_t bit_no, uint8_t *bit_data)
{
int16_t ret = HAL_OK;
if (manageStateMachine(UPLAT_7D_HAL_PIO_INI_BIT_DATA) == HAL_OK) {
ret = HalPio_PioInBitData(port_no, bit_no, bit_data);
manageStateMachine(UPLAT_7D_HAL_PIO_INI_BIT_DATA_END);
}
else{
ret = HAL_DOUBLE_ERROR; /* Double error. */
}
return ret;
}
/************************************************************************/
/* */
/* Function Name : uplat7dHAL_InterruptInitAll */
/* Input : void */
/* Output : int16_t HAL_OK(1) */
/* HAL_DOUBLE_ERROR(-1) */
/* */
/* Note : Initialize interrupt. */
/* */
/************************************************************************/
int16_t uplat7dHAL_InterruptInitAll(void)
{
int16_t rtnVal = HAL_OK;
if (manageStateMachine(UPLAT7D_HAL_INTERRUPT_INIT_ALL) == HAL_OK) {
HALInterrupt_InitAll();
manageStateMachine(UPLAT7D_HAL_INTERRUPT_INIT_ALL_END);
}
else {
rtnVal = HAL_DOUBLE_ERROR;
}
return rtnVal;
}
/************************************************************************/
/* */
/* Function Name : uplat7dHAL_InterruptSetPrimary */
/* Input : param Interrupt parameter. */
/* Output : int16_t HAL_OK(1) */
/* HAL_PARAM_ERROR(-2) */
/* HAL_DOUBLE_ERROR(-1) */
/* */
/* Note : Set interrupt. */
/* */
/************************************************************************/
int16_t uplat7dHAL_InterruptSetPrimary(const uPLAT_InterruptParam *param)
{
int16_t rtnVal = HAL_OK;
if (manageStateMachine(UPLAT7D_HAL_INTERRUPT_SET_PRIMARY) == HAL_OK) {
rtnVal = HALInterrupt_SetPrimary(param);
manageStateMachine(UPLAT7D_HAL_INTERRUPT_SET_PRIMARY_END);
}
else {
rtnVal = HAL_DOUBLE_ERROR;
}
return rtnVal;
}
/************************************************************************/
/* */
/* Function Name : uplat7dHAL_TimerInit */
/* Input : cycle Timer cycle. */
/* Output : int16_t HAL_OK(1) */
/* HAL_PARAM_ERROR(-2) */
/* HAL_DOUBLE_ERROR(-1) */
/* */
/* Note : Initialize system timer. */
/* */
/************************************************************************/
int16_t uplat7dHAL_TimerInit(uint16_t cycle)
{
int16_t rtnVal = HAL_OK;
if (manageStateMachine(UPLAT7D_HAL_TIMER_INIT) == HAL_OK) {
rtnVal = HALTimer_Init(cycle);
manageStateMachine(UPLAT7D_HAL_TIMER_INIT_END);
}
else {
rtnVal = HAL_DOUBLE_ERROR;
}
return rtnVal;
}
/************************************************************************/
/* */
/* Function Name : uplat7dHAL_TimerSetStart */
/* Input : start 1: start 0: stop */
/* Output : int16_t HAL_OK(1) */
/* HAL_PARAM_ERROR(-2) */
/* HAL_DOUBLE_ERROR(-1) */
/* */
/* Note : Start or stop system timer. */
/* */
/************************************************************************/
int16_t uplat7dHAL_TimerSetStart(uint16_t start)
{
int16_t rtnVal = HAL_OK;
if (manageStateMachine(UPLAT7D_HAL_TIMER_SET_START) == HAL_OK) {
HALTimer_SetStart(start);
manageStateMachine(UPLAT7D_HAL_TIMER_SET_START_END);
}
else {
rtnVal = HAL_DOUBLE_ERROR;
}
return rtnVal;
}
/************************************************************************/
/* */
/* Function Name : ml675050HAL_AdcInit */
/* Input : adc_mode 1: scan 0: select. */
/* channel Select ADC channel. */
/* Output : int16_t HAL_OK(1) */
/* HAL_PARAM_ERROR(-2) */
/* HAL_DOUBLE_ERROR(-1) */
/* */
/* Note : Initialize adc. */
/* */
/************************************************************************/
int16_t ml675050HAL_AdcInit(uint16_t mode, uint16_t channel)
{
int16_t rtnVal = HAL_OK;
if (manageStateMachine(ML675050_HAL_ADC_INIT) == HAL_OK) {
rtnVal = HALAdc_Init(mode, channel);
manageStateMachine(ML675050_HAL_ADC_INIT_END);
}
else {
rtnVal = HAL_DOUBLE_ERROR;
}
return rtnVal;
}
/************************************************************************/
/* */
/* Function Name : ml675050HAL_AdcStart */
/* Input : start 1: start 0: stop. */
/* channel Select ADC channel. */
/* Output : int16_t HAL_OK(1) */
/* HAL_PARAM_ERROR(-2) */
/* HAL_DOUBLE_ERROR(-1) */
/* */
/* Note : Start or stop adc. */
/* */
/************************************************************************/
int16_t ml675050HAL_AdcStart(uint16_t start)
{
int16_t rtnVal = HAL_OK;
if (manageStateMachine(ML675050_HAL_ADC_START) == HAL_OK) {
rtnVal = HALAdc_Start(start);
manageStateMachine(ML675050_HAL_ADC_START_END);
}
else {
rtnVal = HAL_DOUBLE_ERROR;
}
return rtnVal;
}
/************************************************************************/
/* */
/* Function Name : ml675050HAL_AdcRxData */
/* Input : buff Buffer of ADC result. */
/* Output : int16_t HAL_OK(1) */
/* HAL_PARAM_ERROR(-2) */
/* HAL_DOUBLE_ERROR(-1) */
/* */
/* Note : Copy ADC result to buff. */
/* */
/************************************************************************/
int16_t ml675050HAL_AdcRxData(int8_t *buff)
{
int16_t rtnVal = HAL_OK;
if (manageStateMachine(ML675050_HAL_ADC_RX_DATA) == HAL_OK) {
rtnVal = HALAdc_RxData(buff);
manageStateMachine(ML675050_HAL_ADC_RX_DATA_END);
}
else {
rtnVal = HAL_DOUBLE_ERROR;
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?