DRV8301/8303代码讲解

首先声明一点:drv8301和03代码SPI部分一模一样,区别只是01多了几个引脚因此多了几个状态检测。
SPI需要配置成16位SPI,配置代码参考我另一篇AS5048A,SPI一模一样,不需要做任何修改,此SPI初始化完成则可以保证可以正常读写DRV8301/03,需要注意的一点是drv8301/03必须要使能EN_GATE脚SPI才可以正常使用,即,EN_GATE = 1;

u16 spi3readwritebyte(u16 TxData)
{
    while (SPI_I2S_GetFlagStatus(SPI3, SPI_I2S_FLAG_TXE) == RESET){}//µÈ´ý·¢ËÍÇø¿Õ
        SPI_I2S_SendData(SPI3, TxData); //ͨ¹ýÍâÉèSPIx·¢ËÍÒ»¸öbyte  Êý¾Ý
    while (SPI_I2S_GetFlagStatus(SPI3, SPI_I2S_FLAG_RXNE) == RESET){} //µÈ´ý½ÓÊÕÍêÒ»¸öbyte
        return SPI_I2S_ReceiveData(SPI3); //·µ»Øͨ¹ýSPIx×î½ü½ÓÊÕµÄÊý¾Ý	
}

//u16 spi_drv8303_write(u16 TxData)
//{
//    GPIO_ResetBits(GPIOC,GPIO_Pin_13);
//    spi3readwritebyte(TxData);
//    GPIO_SetBits(GPIOC,GPIO_Pin_13);
//    delay_us(10);
//}

uint16_t m0_spi_drv8303_read(uint16_t TxData)
{
    uint16_t data;
    GPIO_ResetBits(GPIOC,GPIO_Pin_13);
    spi3readwritebyte(TxData);
    GPIO_SetBits(GPIOC,GPIO_Pin_13);
    delay_us(10);
    GPIO_ResetBits(GPIOC,GPIO_Pin_13);
    data = spi3readwritebyte(TxData);
    GPIO_SetBits(GPIOC,GPIO_Pin_13);
    return data;
}
//下面为寄存器配置,最下面四行为读取四个寄存器,上面为写寄存器,具体你需要怎么配置根据个人需求进行选择
    drv8303_reg_read[0] = (DRV8301_REG2<<11)|GATE_CURRENT_0_7_A|GATE_RESET_NOMAL|PWM_MODE_6_INPUTS|OCP_LATCH_SHUT_DOWN|OC_ADJ_SET_14;
    drv8303_reg_read[1] = (DRV8301_REG3<<11)|OCTW_OT_ONLY|GAIN_AMP_80|DC_CAL_CH1_CON|DC_CAL_CH2_CON|OC_TOFF_CYCLE;
    m0_spi_drv8303_read(drv8303_reg_read[0]);delay_ms(100);
    m0_spi_drv8303_read(drv8303_reg_read[1]);delay_ms(100);
    drv8303_reg_read[0] = m0_spi_drv8303_read((DRV8301_REG0<<11)|0x8000);delay_ms(100);
    drv8303_reg_read[1] = m0_spi_drv8303_read((DRV8301_REG1<<11)|0x8000);delay_ms(100);
    drv8303_reg_read[2] = m0_spi_drv8303_read((DRV8301_REG2<<11)|0x8000);delay_ms(100);
    drv8303_reg_read[3] = m0_spi_drv8303_read((DRV8301_REG3<<11)|0x8000);delay_ms(100);

只使用m0_spi_drv8303_read即可以读写
下面链接为drv83的数据手册
https://www.ti.com.cn/cn/lit/ds/symlink/drv8303.pdf?ts=1652255255976&ref_url=https%253A%252F%252Fwww.ti.com.cn%252Fsitesearch%252Fzh-cn%252Fdocs%252Funiversalsearch.tsp%253FlangPref%253Dzh-CN%2526searchTerm%253Ddrv8303%2526nr%253D282
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
具体需要如何配置可参考,详细内容芯片手册有讲解,按照我那样配置也可以正常使用

  • 2
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 10
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值