有关STM32h755的单片机?
STM32H7A3VGTA QSPI读W25Q128J DMA模式不能工作
STM32H725VGT3电源配置问题
OV5640 JPEG帧头和帧尾读取错误,无法找到FFD8和FFD9
stm32 SPI 实现biss.c
STM32H743VIT6,出给客户,客户用自己台湾产地的库存做X-ray对比,发现供货物料和他们自己的样品引线不一样,请问这是什么原因呢?有没有大神帮忙解答一下,谢谢!
STM32CubeMX 配置 STM32H745ZI 的 HSEM 模块
感谢大佬的指点,问题解决
H7demo板下载点灯没反应
//STM32H7A3VGT6 QSPI的DMA方式无法正常工作
微信公众号
手机版
LL命令会节省一些代码时间,但是外设的运行和处理方式并不会节省很多。
你现在20位ADC,转换速率0.5s,按32位接收的话,那么至少需要64M的波特率才能满足要求。
使用STM32H5的SPI可以实现125M的波特率,同时SPI带16字节的FIFIO,配合接收FIFO,
这样看来接收应该是没啥问题的。如果每次ADC采样结果的数据不多的话,每次接收完一笔
数据后再去处理应该来得及。
这个处理过程如果时间不是很紧张的话,至于是使用HAL库还是LL库组织代码
问题不大。 我认为这个接收的快慢跟你使用哪个类型库组织的配置及启动代码没什么关系。
[md]瓶颈就在SPI读取上,用hal的:
HAL_SPI_Receive(&hspi1, mrx_data, 3, HAL_MAX_DELAY);//SPI一次连读取3字节AD转换结果 HAL SPI读取3字节需要1.95us
而ADC的转换速率是2Msps即0.5uS一次。不能用DMA,因为每一次转换之前要给ADC一个几百ns的正脉冲,CPU必须介入每一次转换,这就是无奈之处。
总之SPI_Receice时间越短越好。
用timer2 去触发 GPDMA1--> 搬运数据给 SPI TXDR,
同时触发 GPDMA2--> 从SPI RXDR搬运数据给RAM。
定时器输出的PWM可以作为给ADC的脉冲信号
这里修改了一下HAL_SPI_TransmitReceive_DMA 内接收的数据个数,使得接收数组足够大
这样就可以有足够的时间在半完成和完成中断处理数据.
测试中将 spi 数据短接,模拟ADC输出结果