一下是根据我玩几天as5048 SPI模块的心得,对应的spi协议网上都有,所以我只说最简单的:只读模式3,网上普遍都是读写模式4,区别的就是读写模式是上次的数据,而只读模式是实时的数据,下面是分享的是读模式,
(流程–SPICS_LOW; SPI_READ_DATA;SPIC_HIGH;)
1 ,鉴别-----鉴别的作用是当你SPI协议写错是,你可以很明确的知道是协议的问题,或者单单就是像我一样接错线了 狗头.JPG ,由于模块上电后,就会自动内部读取磁场,并产生相应的PWM,所以鉴别好坏最简单就是模块上电,用舵机接模块PWM口,然后用磁铁在模块上面旋转,舵机也会相应的旋转。
2,读数据----模块是好的,那么开始调试,最简单的步骤是,模块的MOSI口高接电平(单片机只要提供3线,stm32f103c8–cs-任意io口,ck-PA5和MISO-PA6, ),只要片选cs置低(告诉模块我要进去),并有spi时钟发射到模块,模块就会用数据回应你,,然后cs置高(高速模块我完事了),一个回合结束。(SPICS_LOW; SPI_READ_DATA;SPIC_HIGH;)
/分割线
3,4线就可以读取N个模块,不过得用读写模式,图中片选置低,3个SPI-WRITE,片选置高,完成数据请求,然后片选再置低,3个SPI_READ,然后片选置高,高速模块我读完了,图中第一个数据是主控读模块3角度,第二个数据是主控问模3模2数据是多少,然后模3问模2后告诉主控,相当于在传话,所以可以用4线完成多模块的读取