首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

求助:spi通信! 从设备MC33888,希望高手指点!!

试一试如此操作:
1 CLK=0
2 CS发送高到低的跳变并CS=0
3 发送16bit的数据
4 CS置高
33888的spi工作原理(仅供参考)
1: SI的数据是在clk的下跳沿读入shift register,并且在CS信号上跳沿时,shift register的值打入所需的实际register中(也就是16位si数据中指定的register)
2: SO的信号在clk的上跳沿从shift register中送到so的线上,实际MCU端的si是在clk的下跳沿获得数据,(看手册上的SPI图例)。这也符合第1条中SI的数据获得方式。33888的register数据是在cs的下跳沿从register打入shift register。

不知道这样的描述,你们可以明白吗? 你只需要知道,在spi工作前,CS=1,clk=0,然后按照规定,先cs=0,然后clk打入16个脉冲,同时,si的数据在clk的上跳沿作准备,就可以了。其它工作33888来完成。

如果你的数据不是16位,比如15位或其它,都将被忽略。

所以,如果你不能正确配置33888,请检查SPI规范是否符合上面的描述。
返回列表