dg32单片机spi的SPI_CK_PL_LOW_PH_1EDGE
时间: 2025-01-17 20:33:47 浏览: 27
DG32 单片机 SPI 配置参数 SPI_CK_PL_LOW_PH_1EDGE
的说明
在DG32系列单片机中,SPI接口提供了多种时钟极性和相位组合来适应不同的外设需求。对于配置项SPI_CK_PL_LOW_PH_1EDGE
而言,这表示的是SPI通信中的时钟极性(Polarity)设置为低电平有效以及第一个边沿触发的数据捕获方式。
具体来说:
- Polarity Low (PL_LOW) 表明当SPI处于空闲状态时,SCK线保持低电平;
- Phase First Edge (PH_1EDGE) 则意味着数据将在每个周期的第一个跳变沿被捕获,在这种情况下即上升沿进行采样[^1]。
为了实现上述配置,可以参考如下C语言代码片段用于初始化SPI模块并应用此特定模式:
#include "gd32f4xx.h"
void spi_init(void){
/* 使能SPI和GPIO端口的时钟 */
rcu_periph_clock_enable(RCU_GPIOI);
rcu_periph_clock_enable(RCU_SPIx); // 替换SPIx为你实际使用的SPI编号
/* 配置NSS, SCK, MISO 和 MOSI管脚作为复用推挽输出/输入*/
gpio_mode_set(GPIOI, GPIO_MODE_AF, GPIO_PUPD_NONE, GPIO_PIN_0 | GPIO_PIN_1 | GPIO_PIN_2 | GPIO_PIN_3);
gpio_output_options_set(GPIOI, GPIO_OTYPE_PP, GPIO_OSPEED_50MHZ, GPIO_PIN_0 | GPIO_PIN_1 | GPIO_PIN_2 | GPIO_PIN_3);
/* 设置AF功能 */
gpio_af_set(GPIOI, GPIO_AF_5, GPIO_PIN_0 | GPIO_PIN_1 | GPIO_PIN_2 | GPIO_PIN_3);
/* 初始化SPI */
spi_i2s_deinit(SPIx); // 替换SPIx为你实际使用的SPI编号
spi_parameter_struct spi_initstruct;
spi_initstruct.trans_mode = SPI_TRANSMODE_FULLDUPLEX;
spi_initstruct.device_mode = SPI_MASTER;
spi_initstruct.frame_size = SPI_FRAMESIZE_8BIT;
spi_initstruct.clock_polarity_phase = SPI_CK_PL_LOW_PH_1EDGE; // 应用所需的CPOL=0 CPHA=0配置
spi_initstruct.nss = SPI_NSS_SOFT;
spi_initstruct.prescale = SPI_PSC_256;
spi_initstruct.endian = SPI_ENDIAN_MSB;
spi_init(SPIx, &spi_initstruct); // 替换SPIx为你实际使用的SPI编号
}
这段程序展示了如何通过软件设定指定的工作模式给定的SPI通道,并确保其按照期望的方式操作外部存储器或其他兼容设备。
相关推荐

















