嘿,那个光头! 发表于 2020-5-8 18:32:58

LIS3DH SPI 通讯问题

跟 LIS3DH (作为从机)进行 spi通讯,初始化spi之后,先读取 LIS3DH 的 ID, 验证通讯,所以没有初始化LIS3DH的配置 ,对应的寄存器ID为0x0F,因为是读1个数据所以或上0x80,得到发送数据0x8F,主机发送此数据,但是未接收到从机回复,用逻辑分析仪获得以下信息

clk cs 均正常MOSI 输出0x8F 正常 (spi是一个字节多一个字节) 但是MISO却一直是高电平???
这哪里有问题????

likang1202 发表于 2020-5-9 08:55:44

你SPI时钟降一下

嘿,那个光头! 发表于 2020-5-9 10:12:38

likang1202 发表于 2020-5-9 08:55
你SPI时钟降一下

降了 很低了:'(

spi_master_gpio_set(SPI_GPIO_GROUP_B6B7D2D7);
spi_master_init(99,SPI_MODE2);


void spi_master_init(unsigned char DivClock, SPI_ModeTypeDef Mode)
{
        reg_clk_en0 |= FLD_CLK0_SPI_EN;//enable spi clock
        reg_spi_sp = 0;            //clear register(0x0a) value
        reg_spi_sp|= DivClock;   //0x0a: bit0~bit6 set spi clock ; spi clock=system clock/((DivClock+1)*2)
        reg_spi_sp|=FLD_SPI_ENABLE;//0x0a: bit7 enables spi function mode
        reg_spi_ctrl|= FLD_SPI_MASTER_MODE_EN; //0x09: bit1 enables master mode
        reg_spi_inv_clk        &= (~FLD_SPI_MODE_WORK_MODE); // clear spi working mode
        reg_spi_inv_clk |= Mode;// select SPI mode,surpport four modes
}

MrJiu 发表于 2020-5-9 12:32:59

时钟降一降,然后如果主机SPI发送得数据是正确得,从机没有响应相应得回复,你得看从机是否正常工作了!!!MISO高电平很正常,表示主机控制IO口是对得,从机没有响应罢了
页: [1]
查看完整版本: LIS3DH SPI 通讯问题