你的浏览器版本过低,可能导致网站不能正常访问!为了你能正常使用网站功能,请使用这些浏览器。
举报
查看全部评分
奏奏奏 发表于 2017-8-11 18:51 我这里做过类似的测试,压缩包里面有主机与从机的源代码 坚果云分享下载地址: http://www.jianguoyun.com ...
uwyciw100 发表于 2017-8-14 08:44 cube的软件里没有设置从机波特率的地方,你是在生成代码后,修改了代码中的配置吗? ...
张亚飞 发表于 2017-8-14 09:40 他说的波特率应该是分频值。
uwyciw100 发表于 2017-8-14 09:50 即便是分频值,在cube软件上和生成的代码中,关于从机都没有相应的设置。 ...
衔胆栖冰 发表于 2017-8-14 09:53 SPIx global interrupt 使能了没
张亚飞 发表于 2017-8-14 10:03 建议先不要用中断式接收,我之前调试主机模式时直接用的中断函数,收发也有异常。为了节省时间改成HAL_SP ...
当系统存在多个从机时,stm32做从机,在自身不参与通信时,要把SPI外设关掉,当自身参与通信时,再打开。如此操作,便能正常通信了。
评分
查看全部评分
我这里做过类似的测试,压缩包里面有主机与从机的源代码
坚果云分享下载地址:
http://www.jianguoyun.com/p/Dfyj1LkQyYiWBhjomjI
你需要注意的是设置SPI通讯的波特率,主机与从机都要设置成一样的,如果要排查的话可以先适当调低,测试成功了再调高。
cube的软件里没有设置从机波特率的地方,你是在生成代码后,修改了代码中的配置吗?
他说的波特率应该是分频值。
即便是分频值,在cube软件上和生成的代码中,关于从机都没有相应的设置。
没有用过从机模式,设置时钟应该是没有,从机的时钟是主机给的。
建议先不要用中断式接收,我之前调试主机模式时直接用的中断函数,收发也有异常。为了节省时间改成HAL_SPI_TransmitReceive()接收再调试就好了。
使能了
我尝试了HAL_SPI_TransmitReceive,依然有问题。理想状态是用HAL_SPI_TransmitReceive_IT,不过当前总是有各种问题。不使用中断,和使用DMA都尝试。不知道SPI从机会不会像I2C从机一样,芯片存在BUG。