STM32H743处理器SPI LL DMA底层通信实现方案分享
STM32H743 SPI底层寄存器级实现分享
由于HAL库无法满足性能需求,我直接基于寄存器操作实现了STM32H743的SPI外设底层工作模式,目前代码已验证可用。因为没找到相关参考示例,特意分享出来。
我使用的DMA配置:
- DMA1的LL_DMA_STREAM_0作为SPI5的RX通道
- DMA1的LL_DMA_STREAM_1作为SPI5的TX通道
缓冲区定义如下:
#define ADC_BUFFER_SIZE (uint8_t)(24) static uint8_t tx_buffer[ADC_BUFFER_SIZE] = {0}; static uint8_t rx_buffer[ADC_BUFFER_SIZE] = {0};
需要说明的是,在无优化的调试模式下,LL库的内联函数执行速度会慢25-30%,因此我选择直接操作寄存器来保证性能。
内容的提问来源于stack exchange,提问作者Tomáš Buchta
相关产品推荐
相关产品推荐

