STM32H7电源问题
有关STM32H743ZGT6 驱动RTL8201F-VB芯片驱动的问题,有奖寻求帮助
STM32H725内部FLASH读写问题
STM32H5入门级DEMO板,NUCLEO-H503RB(Flash 128K,LQFP64封装)-ST中文论坛首帖
我在使用STM32H747IGT6的时候,遇到了一个问题;上电前并未短路,上电后电流跳跃至1.6A,且不断增大至1.9A,断开电源后芯片不短路,请问是什么原因?
为什么在CubeMX中无法分析模型?而在云服务器可以?
STM32H7的LSE起振问题
stm32H7 FLASH写入后数据异常 求教
关于STM32H7的系统架构中总线主设备与总线从设备连接的疑问
STM32H7掉电存储数据
微信公众号
手机版
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输出结果