(IoSetFunc(IOT_PWM_BEEP, 5) Hi3861函数参数解释

IoSetFunc(IOT_PWM_BEEP, 5) Hi3861函数参数解释

问题

在配置pwm时,IoSetFuc(WifiIotIoName id, unsigned char val),前面的id 即为设置的引脚编号。而后的val是什么就让人摸不着头脑。

unsigned int IoSetFunc(unsigned int id, unsigned char val)
{
    if (id >= HI_GPIO_IDX_MAX) {
        return IOT_FAILURE;
    }
    return hi_io_set_func((hi_io_name)id, val);
}

继续查看hi_io_set_func属性:

hi_u32 hi_io_set_func(hi_io_name id, hi_u8 val);

右键查看hi_u8属性,转到hi_io.h头文件中

hi_u32 hi_io_set_func(hi_io_name id, hi_u8 val);
/**
* @ingroup  iot_io
* @brief Obtains the I/O multiplexing.CNcomment:获取某个IO复用功能。CNend
*
* @par 描述:
*           Obtains the I/O multiplexing.CNcomment:获取某个IO复用功能。CNend
*
* @attention None
* @param  id    [IN]  type #hi_io_name,I/O index.CNcomment:硬件管脚。CNend
* @param  val   [OUT] type #hi_u8*,I/O multiplexing.CNcomment:IO复用功能。CNend
*
* @retval 0       Success
* @retval #HI_ERR_GPIO_INVALID_PARAMETER     Failure. Input invalid.
* @par 依赖:
*           @li hi_io.h:Describes I/O APIs.CNcomment:文件用于描述IO相关接口。CNend
* @see  hi_io_set_func。
*/

在同一文件中找到

typedef enum {
    HI_IO_FUNC_GPIO_9_GPIO,
    HI_IO_FUNC_GPIO_9_I2C0_SCL,
    HI_IO_FUNC_GPIO_9_UART2_RTS_N,
    HI_IO_FUNC_GPIO_9_SDIO_D2,
    HI_IO_FUNC_GPIO_9_SPI0_TXD,
    HI_IO_FUNC_GPIO_9_PWM0_OUT,
    HI_IO_FUNC_GPIO_9_I2S0_MCLK = 7,
} hi_io_func_gpio_9;

解答

现在答案就很明了了。GPIO9对应的是PWM0;因此在GPIO复用时,输入5即选择使用PWM功能,类似的,如果是IoSetFunc(9,1),即采用I2C_scl端口。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值