你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

LIS3DH SPI 通讯问题

[复制链接]
嘿,那个光头! 提问时间:2020-5-8 18:32 /
10ST金币
跟 LIS3DH (作为从机)进行 spi通讯,初始化spi之后,先读取 LIS3DH 的 ID, 验证通讯,所以没有初始化LIS3DH的配置 ,对应的寄存器ID为0x0F,因为是读1个数据所以或上0x80,得到发送数据0x8F,主机发送此数据,但是未接收到从机回复,用逻辑分析仪获得以下信息
5aa807ee-28f9-4d62-87fe-ea578b5f18dd.png
clk cs 均正常  MOSI 输出0x8F 正常 (spi是一个字节多一个字节) 但是MISO却一直是高电平???
这哪里有问题????

收藏 评论3 发布时间:2020-5-8 18:32

举报

3个回答
李康1202 回答时间:2020-5-9 08:55:44
你SPI时钟降一下
嘿,那个光头! 回答时间:2020-5-9 10:12:38

降了 很低了

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蝴蝶豆 +3 收起 理由
STMCU + 3

查看全部评分

关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新和工艺
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版