|
本人最近正正在调试STM32F405两块处理器间的SPI通讯,主片的发送程序已调好,功能是循环发送1-100的数字(数据格式为16位),从机的数据接收打算采用中断的方式用一个数组去接收发送的数据,丛机和主机的SPI配置基本一致,只是主从的区别,另外从机的使能采用硬件控制,主机通过一个IO口置地来控制从机的使能。另外中断使能,中断优先级也设置好了。主机的时钟速率为2M多,中断接收数据的程序采用以下流程:查询中断标志位,清除中断标志位,接收本次数据,计数器加1,判断计数器是否大于99,大于则归0,否则出中断。然后调试过程中诡异的事情发生了,如果在中断函数中设置断点,查看变量,可以看到接收到数据,如果全速运行,数据一直是0,及时偶尔有的数据变化,也是跳动一下归0,后来我通过在中断函数中加入标志位的方法(进入中断数组接收完毕置位的方法)去全速运行看标志位,标志位一直为0,也就是说基本没怎么进入中断。。。求解各位大神帮忙解答 |
| 另外SPI这东西实在折磨死我了,还有就是我用SPI口去读写一个SPI接口的E2PROM,怎么读都读不对,看波形的时序没问题,但是读进来的数不对 |
| 问题已经解决,之前发送端采用DMA发送,每两个相邻数据之间没有时间间隔,接收端采用接收中断接收不过来,改成正常发送就好了 |
简单平稳过度-回顾2025&说说我心中的ST中文论坛
我最近在用stm32f407做CAN通讯的回环+静默,但是现在显示可以成功发送数据,FIFO接收不到数据,这是什么原因啊
CubeAI如何加载caffe模型
stm32f407的adc采样不稳?
STM32F407VET6 能适配哪些FATFS版本文件
stm32 定时器外部时钟1的TI1FP1及TI2FP2的设置问题
STM32F1定时器中触发信号TRC的来源及选择配置是怎么样的
无刷电机PWM输出配置
CubeMX+STM32F407VGT6+配置lwip的httpd功能,工程编译报错
workbench5.3.1生成代码问题
微信公众号
手机版