
本人最近正正在调试STM32F405两块处理器间的SPI通讯,主片的发送程序已调好,功能是循环发送1-100的数字(数据格式为16位),从机的数据接收打算采用中断的方式用一个数组去接收发送的数据,丛机和主机的SPI配置基本一致,只是主从的区别,另外从机的使能采用硬件控制,主机通过一个IO口置地来控制从机的使能。另外中断使能,中断优先级也设置好了。主机的时钟速率为2M多,中断接收数据的程序采用以下流程:查询中断标志位,清除中断标志位,接收本次数据,计数器加1,判断计数器是否大于99,大于则归0,否则出中断。然后调试过程中诡异的事情发生了,如果在中断函数中设置断点,查看变量,可以看到接收到数据,如果全速运行,数据一直是0,及时偶尔有的数据变化,也是跳动一下归0,后来我通过在中断函数中加入标志位的方法(进入中断数组接收完毕置位的方法)去全速运行看标志位,标志位一直为0,也就是说基本没怎么进入中断。。。求解各位大神帮忙解答 |
另外SPI这东西实在折磨死我了,还有就是我用SPI口去读写一个SPI接口的E2PROM,怎么读都读不对,看波形的时序没问题,但是读进来的数不对 |
问题已经解决,之前发送端采用DMA发送,每两个相邻数据之间没有时间间隔,接收端采用接收中断接收不过来,改成正常发送就好了 |
STM32 F407骄阳电机版用DMA双缓存接收串口数据时,上电第一次接收区是memory1而不是memory0?
STM32F407骄阳版用DMA双缓存区接收串口数据,上电第一次接收到的数据在memory1而不是memory0
stm32f407无法配置定时器2为全部dma
FreeRTOS问题求解
使用stm32F407连接PHY芯片进行以太网通讯,一插网线就会进入错误中断。
ST的IMU和地磁计用motionfx库融合后航向角异常的问题
CUEBIDE生成的APP程序,在写入FLASH之后无法正常跳转。
有关Cubeide IAP 问题
stm32驱动st7735屏幕区分地图上的障碍物.
stm32cubumx使用1.28.0固件包无法初始化fsmc