HAL驱动应用程序接口

1.ADC服务

1.1ADC初始化功能

void HalAdcInit (void)

1.2读取并返回指定通道和分辨率下的ADC转换值

uint16 HalAdcRead (uint8 channel,uint8 resolution);

2.LCD服务

2.1初始化LCD功能

void HalLcdInit (void);

2.2将一个字符串写入LCD

void HalLcdWriteString (unit8* str,uint8 option);

2.3将一个32位的数据写入LCD

void HalLcdWriteValue (uint32 value,uint8 radix,uint8 option);

2.4在LCD显示屏上写入2行文字

void HalLcdWriteScreen( char *line1,char *line2 );

2.5在LCD显示屏上的指定行号上写入一个字符串,后跟一个16位值

void HalLcdWriteStringValue( char *title,uint16 value,uint8 format,uint8 line );

2.6LCD显示屏上的指定行上背靠背写两个16位值

void HalLcdWriteStringValueValue( char *title,uint16 value1,uint8 format1,uint16 value2,uint8 format2,uint8 line );

2.7在屏幕中间以数字百分比模拟LCD上的百分比条

void HalLcdDisplayPercentBar( char *title,uint8 value );

3.LED服务

3.1初始化LED服务

void HalLedInit (void);

3.2设置LED

void HalLedSet (uint8 led, uint8 mode);

3.3设置LED闪烁

void HalLedBlink (uint8 leds,uint8 numBlinks,uint8 percent,uint16 period);

3.4返回LED的当前状态

uint8 HalLedGetState (void);

3.5存储LED的当前状态并关闭所有LED以节省电力

void HalLedEnterSleep (void);

3.6进入睡眠模式之前恢复LED的原始状态

void HalLedExitSleep (void);

4.按键服务

4.1初始化按键功能

void HalKeyInit (void *init);

4.2将按键服务配置为轮询或中断驱动

void HalKeyConfig (bool interruptEnable,halKeyCBack_t *cback);

4.3读取按键的当前状态

uint8 HalKeyRead ( void );

4.4设置一个全局状态变量,指示已进入睡眠模式

void HalKeyEnterSleep (void);

4.5设置一个全局状态变量,指示已退出睡眠模式

void HalKeyExitSleep (void);

4.6查询是否有按键信息

void HalKeyPoll ( void );

4.7按键按下

bool HalKeyPressed( void );

5.休眠(低功耗)服务

5.1设置MAC的低功耗模式

void halSleep(uint32 osal_timeout)

6.计数器/定时器服务

6.1计数器/定时器初始化

void HalTimerInit (void)

6.2配置计数器/定时器

halTimerStatus_t HalTimerConfig ( uint8 timerId,uint8 opMode,uint8 channel,uint8 channelMode,bool intEnable,halTimerCBack_t cback);

6.3启动计数器/定时器

uint8 HalTimerStart ( uint8 timerId, uint32 timePerTick );

6.4关闭计数器/定时器

uint8 HalTimerStop (uint8 timerId);

6.5计数器/定时器分频

void HalTimerTick (void);

6.6定时器中断

uint8 HalTimerInterruptEnable ( uint8 timerId,uint8 channelMode,bool enable );

7.串口服务

7.1串口初始化

void HalUARTInit (void)

7.2打开串口

HalUARTOpen (uint8 port,halUARTCfg_t *config);

7.3关闭串口

void HalUARTClose (uint8 port);

7.4从串口读取数据

uint16 HalUARTRead (uint8 port,uint8 *buf,uint16 length);

7.5向串口写入数据

uint16 HalUARTWrite (uint8 port,uint8 *buf,uint16 length);

7.6串口轮询

void HalUARTPoll (void);

7.7返回当前在Rx缓冲区中的字节数

uint16 Hal_UART_RxBufLen (uint8 port);

7.8返回当前在Tx缓冲区中的字节数

uint16 Hal_UART_TxBufLen (uint8 port);

7.9启用或禁用UART的流量控制

void Hal_UART_FlowControlSet (uint8 port,uint8 status);

7.10进入睡眠模式时,此功能会中止UART

void HalUARTSuspend (void);

7.11从睡眠中唤醒后恢复UART

void HalUARTResume (void);

8.PA/LNA服务

8.1RX低增益模式

#define HAL_PA_LNA_RX_LGM()

8.2RX高增益模式

#define HAL_PA_LNA_RX_HGM()

9.I2C服务

9.1 I2C初始化

void HalI2CInit (void)

9.2 I2C接受数据

int8 HalI2CReceive(uint8 address,uint8 *buf,uint16 len);

9.3 I2C发送数据

int8 HalI2CSend(uint8 address,uint8 *buf,uint16 len);

10.IR服务

10.1 IR初始化

void HalIrGenInit (void);

10.2 生成与命令对应的IR格式信号

void HalIrGenCommand (halIrGenCmd_t command );

10.3 IR信号生成完成回调

void HalIrGenComplete (void);



猜你喜欢

转载自blog.csdn.net/weixin_38491862/article/details/80076980