使用逐飞TC264D驱动库一点思考

在学习使用逐飞库时,逐飞是将官方库重新整理打包后给用户使用的,这样代码的效率会下降,高级用户应该使用官方库比较好。
如将P20.8 引脚输出高电平,调用逐飞库函数是这样使用的:
gpio_set(P20_8, 1);

这个函数代码是这样编写的:
void gpio_set(PIN_enum pin, uint8 dat)
{
if(dat) IfxPort_setPinHigh(get_port(pin), pin&0x1f);
else IfxPort_setPinLow(get_port(pin), pin&0x1f);
}

里面要调用1个官方库函数: IfxPort_setPinHigh(x,x);
1个逐飞库函数:get_port(x);
官方库函数如下:
IFX_INLINE void IfxPort_setPinLow(Ifx_P *port, uint8 pinIndex)
{
IfxPort_setPinState(port, pinIndex, IfxPort_State_low);
}
这里又调用了另一个函数:IfxPort_setPinState(x,x,x);

这个流程下来CPU做一个简单操作的效率较低。

我做个修改,将官方库函数进行优化,如下处理:

IFX_INLINE void IfxPort_setPinLow(Ifx_P *port, uint8 pinIndex)
{
port->OMR.U = IfxPort_State_low << pinIndex;//周云龙 2021年修改
}

使用方法:
IfxPort_setPinLow(&MODULE_P20,9); //P20_9 = 0
虽然是用的是内联函数,感觉效率应该有所提高。

  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值