SPI_RAM
Go to file
xiaoyuluoke 7df267951b 第一次提交 2024-07-25 10:50:18 +08:00
.vscode 第一次提交 2024-07-25 10:50:18 +08:00
CMSIS 第一次提交 2024-07-25 10:50:18 +08:00
cmake 第一次提交 2024-07-25 10:50:18 +08:00
n32g430_std_periph_driver 第一次提交 2024-07-25 10:50:18 +08:00
source 第一次提交 2024-07-25 10:50:18 +08:00
.clang-format 第一次提交 2024-07-25 10:50:18 +08:00
.gitignore
CMakeLists.txt 第一次提交 2024-07-25 10:50:18 +08:00
README.md 第一次提交 2024-07-25 10:50:18 +08:00
n32g430_flash.ld 第一次提交 2024-07-25 10:50:18 +08:00
project.cmake 第一次提交 2024-07-25 10:50:18 +08:00
startup_n32g430_gcc.s 第一次提交 2024-07-25 10:50:18 +08:00

README.md

  1. 功能描述 本例程提供了一种DMA的用法用于在外设和RAM之间传输数据。

    初始化CLOCKGPIOPERIPH然后启用SPI的DMA功能再进行DMA。

    首先DMA_CH5将数据从Slave_Tx_Buffer传输到SPI2设备的TX数据寄存器数据流从SPI2 TX 到SPI1 RXDMA_CH4从SPI1的RX寄存器传输数据到master_rx_buffer。

    同时DMA_CH3从Master_Tx_Buffer传输数据到SPI1设备的TX数据寄存器数据流从SPI1 TX发送。 到SPI2 RXDMA_CH2将数据从SPI2的RX寄存器传输到Slave_rx_Buffer。 等待DMA传输完成。 比较Slave_Rx_Buffer和Master_Tx_Buffer的数据一致性将比较结果输出到USART1 比较Master_Rx_Buffer和Slave_Tx_Buffer到USART1

  2. 使用环境 软件开发环境: KEIL MDK-ARM V5.34.0.0 IAR EWARM 8.50.1

    硬件环境: 基于评估板N32G430C8L7-STB V1.0开发

  3. 使用说明

    1. 时钟源HSE+PLL

    2. 主时钟128MHz

    3. DMA通道DMA_CH2, DMA_CH3, DMA_CH4, DMA_CH5

    4. SPI1配置 NSS --> PA4 50MHz, AF_PP SCK --> PA5 50MHz, AF_PP MISO --> PA6 50MHz, AF_PP MOSI --> PA7 50MHz, AF_PP 全双工 主模式 8位传输 极性:在低电平/第二边缘开始 可选择的软件片断 大端在前MSB

    5. SPI2配置 NSS --> PB12 50MHz, AF_PP SCK --> PB13 50MHz, AF_PP MISO --> PB14 50MHz, AF_PP MOSI --> PB15 50MHz, AF_PP 全双工 从模式上看 8位传输 极性:从低电平/第二边缘开始 选择软件的片断 大端在前MSB

    6. USART1配置 TX --> PA9 50MHz, AF_PP 波特率115200 数据位8位 停止位1位 无校验

    7. 测试步骤和现象 A. 编译下载代码复位运行 B. 查看从串口打印的信息并验证结果

  4. 注意事项 无

  5. Function description This routine provides a DMA usage for transferring data between peripherals and RAM.

    Initialize CLOCK, GPIO, PERIPH, then enable DMA function of SPI, and then DMA.

    First DMA_CH5 transfers data from Slave_Tx_Buffer to the TX data register of SPI2 device, and the data stream is sent from SPI2 TX To SPI1 RX, DMA_CH4 transfers data from the RX register of SPI1 to master_rx_buffer.

    At the same time, DMA_CH3 transfers data from Master_Tx_Buffer to the TX data register of SPI1 device,and the data stream is sent from SPI1 TX To SPI2 RX, DMA_CH2 transfers data from SPI2's RX register to Slave_rx_Buffer. Wait for the DMA transfer to complete, Compare data consistency between Slave_Rx_Buffer and Master_Tx_Buffer, output the comparison result to USART1 Compare Master_Rx_Buffer and Slave_Tx_Buffer to USART1

  6. Use environment Software development environment: KEIL MDK-ARM V5.34.0.0 IAR EWARM 8.50.1

    Hardware environment: Developed based on the evaluation board N32G430C8L7-STB V1.0

  7. Instructions for use

    1. Clock source: HSE+PLL

    2. Master clock: 128MHz

    3. DMA channels: DMA_CH2, DMA_CH3, DMA_CH4, DMA_CH5

    4. SPI1 configuration: NSS --> PA4 50MHz, AF_PP SCK --> PA5 50MHz, AF_PP MISO --> PA6 50MHz, AF_PP MOSI --> PA7 50MHz, AF_PP Full duplex Main mode 8 bit transmission Polarity: start at low/second edge Piece of software to choose Big end in front MSB

    5. SPI2 Configuration: NSS --> PB12 50MHz, AF_PP SCK --> PB13 50MHz, AF_PP MISO --> PB14 50MHz, AF_PP MOSI --> PB15 50MHz, AF_PP Full duplex From the pattern 8 bit transmission Polarity: start at low/second edge Piece of software to choose Big end in front MSB

    6. USART1 configuration: TX --> PA9 50MHz, AF_PP Baud rate: 115200 Data bit: 8 bits Stop bit: 1bit No check

    7. Test steps and phenomena A. Compile download code reset run B. View the printed information from the serial port and verify the result

  8. Precautions None