stm32h743ViTx CubeMx spi主、从机实验

您所在的位置:网站首页 spi从机接收数据在返回主机 stm32h743ViTx CubeMx spi主、从机实验

stm32h743ViTx CubeMx spi主、从机实验

2024-07-15 22:26| 来源: 网络整理| 查看: 265

1.spi1 作为从机,接收主机a:COM10(上位机模拟软件,也可以是树莓派等,只要能作为spi主机就行)发送的数据,spi1接收中断中,rx_data每次收到数据count就加一,并且把加一后的count值重新赋值给缓存区rx_data。同时,开启spi2为主机,把rx_data新的值发送给从机a:COM8(另一个上位机模拟软件)。

1.CubeMx 使能SPI1从机,注意红框中的配置参数,不明白的查资料,不想再细讲,重点是使能Hardware NSS Input Sinnal,即片选信号 在这里插入图片描述 2.1.CubeMx 使能SPI2主机,注意红框中的配置参数,不明白的查资料,不想再细讲,重点是使能Hardware NSS Output Sinnal,即片选信号 在这里插入图片描述 3.主机a:COM10开始发送aaaaa给stm32的spi1 ,stm32 spi1 接收到主机a数据后,计数加一,重新赋值给rx_data;stm32 spi2 开启主机功能将最新的rx_data发送给从机a:COM8. 在这里插入图片描述 4.软件仿真,验证rx_data随着接收数据的数量二变化的,及从机a:com8收到的值 在这里插入图片描述 4.注:片选也,也可以开启软件功能,即实际收发时候主动拉高拉低片选信号或者主动拉高拉低某个个GPIO,通常使用在主从一对一的场景。

5.注意:要将开启接收中断的函数放在SPI1_IRQHandler(void)中,如果放在HAL_SPI_RxCpltCallback(SPI_HandleTypeDef *hspi)会发现接收丢包,这个可以自己测试验证 在这里插入图片描述 6.代码:主程序 在这里插入图片描述 7.spi1接收中断:

在这里插入图片描述 在这里插入图片描述 编译失败可能是缺少这些。 在这里插入图片描述 8.疑问: 如果在主函数while中试图将每次从主机com10接收到的rx_data值发送回主机con10,发现主机com10接收到的数据保持不变,即使主机改变了发送的数据,没想明白为什么。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3