GD32F425片上外设标准库SPI函数和标志位整理

嵌入式开发踩坑记 4.8w人浏览 75人参与

AI助手已提取文章相关产品:

因为笔者用到了SPI,AI又经常乱写函数和标志位,整理了标准库函数和一些标志位。

SPI标准库函数

函数参数返回值功能
spi_i2s_deinitSPIx(x=0,1,2,3,4,5)关闭SPIx的时钟反初始化
spi_struct_para_init对应的数据指针(spi_parameter_struct)使用默认值初始化SPI参数结构体
spi_init1.SPIx(x=0,1,2,3,4,5)
2. spi_parameter_struct
初始化SPI
spi_enableSPIx(x=0,1,2,3,4,5)使能SPI
spi_disableSPIx(x=0,1,2,3,4,5)关闭SPI
i2s_init
i2s_psc_config
i2s_enable
i2s_disable
spi_nss_output_enableSPIx(x=0,1,2,3,4,5)nss输出使能
spi_nss_output_disableSPIx(x=0,1,2,3,4,5)关闭nss输出使能
spi_nss_internal_highSPIx(x=0,1,2,3,4,5)内部虚拟的NSS置位高
spi_nss_internal_lowSPIx(x=0,1,2,3,4,5)内部虚拟的NSS置位低
spi_dma_enable1.SPIx(x=0,1,2,3,4,5)
2.DMA_mode
使能SPI_DMA发送或接受
spi_dma_disable1.SPIx(x=0,1,2,3,4,5)
2.DMA_mode
关闭SPI_DMA发送或接受
spi_i2s_data_frame_format_config1.SPIx(x=0,1,2,3,4,5)
2.数据位宽(8/16位)
设置单次传输的数据位宽
spi_i2s_data_transmit1.SPIx(x=0,1,2,3,4,5)
2.16位数据
发送十六位的数据
spi_i2s_data_receiveSPIx(x=0,1,2,3,4,5)十六位的返回值接收十六位的数据
spi_bidirectional_transfer_config1.SPIx(x=0,1,2,3,4,5)
2.模式
配置 SPI 工作在「双向单线模式」下的单向传输方向
i2s_full_duplex_mode_config
spi_i2s_format_error_clear1.SPIx(x=0,1,2,3,4,5)
2.错误标志位
清除 SPI 或 I2S 模式下的「帧格式错误标志位」
spi_crc_polynomial_set1.SPIx(x=0,1,2,3,4,5)
2.CRC多项式值
为 SPI 外设的「硬件 CRC 校验功能」设置CRC 多项式
spi_crc_polynomial_getSPIx(x=0,1,2,3,4,5)16位CRC的值获取CRC多项式的值
spi_crc_onSPIx(x=0,1,2,3,4,5)启动CRC
spi_crc_offSPIx(x=0,1,2,3,4,5)关闭CRC
spi_crc_nextSPIx(x=0,1,2,3,4,5)下次传输是CRC校验值
spi_crc_get1.SPIx(x=0,1,2,3,4,5)
2.选择读取类型
16位CRC的值读取 SPI 外设硬件 CRC
spi_crc_error_clearSPIx(x=0,1,2,3,4,5)CRC错误标志位状态清空
spi_ti_mode_enableSPIx(x=0,1,2,3,4,5)启用 SPI 的 TI 模式
pi_ti_mode_disableSPIx(x=0,1,2,3,4,5)关闭 SPI 的 TI 模式
spi_quad_enableSPIx(x=0,1,2,3,4,5)启用四线 SPI 模式
spi_quad_disableSPIx(x=0,1,2,3,4,5)禁用四线 SPI 模式
spi_quad_write_enableSPIx(x=0,1,2,3,4,5)启用四线 SPI 写模式
spi_quad_read_enableSPIx(x=0,1,2,3,4,5)启用四线 SPI 读模式
spi_quad_io23_output_enableSPIx(x=0,1,2,3,4,5)启用Quad SPI 模式下 IO2 和 IO3 引脚的输出驱动功能
spi_quad_io23_output_disableSPIx(x=0,1,2,3,4,5)禁用Quad SPI 模式下 IO2 和 IO3 引脚的输出驱动功能
spi_i2s_flag_get1.SPIx(x=0,1,2,3,4,5)
2.标志位
FlagStatus获取标志位状态
spi_i2s_interrupt_enable1.SPIx(x=0,1,2,3,4,5)
2.中断
使能中断
spi_i2s_interrupt_disable1.SPIx(x=0,1,2,3,4,5)
2.中断
关闭中断
spi_i2s_interrupt_flag_get1.SPIx(x=0,1,2,3,4,5)
2.中断
FlagStatus获取中断标志位状态

中断标志位整理

中断标志位
SPI_I2S_INT_FLAG_TBE发送缓冲区空中断标志
SPI_I2S_INT_FLAG_RBNE 接收缓冲区非空中断标志
SPI_I2S_INT_FLAG_RXORERR溢出错中断标志
SPI_INT_FLAG_CONFERR 配置错误中断标志
SPI_INT_FLAG_CRCERRCRC 错误中断标志
I2S_INT_FLAG_TXURERR欠载错中断标志
SPI_I2S_INT_FLAG_FERRSPI/I2S 帧格式错误中断标志

标志位整理

标志位
SPI_FLAG_TBESPI 发送缓冲区空标志
SPI_FLAG_RBNESPI 接收缓冲区非空标志
SPI_FLAG_TRANSSPI 传输进行中标志
SPI_FLAG_RXORERRSPI 接收溢出错误标志
SPI_FLAG_CONFERRSPI 模式配置错误标志
SPI_FLAG_CRCERRSPI CRC 错误标志
SPI_FLAG_FERRSPI 帧格式错误标志
I2S_FLAG_TBEI2S 发送缓冲区空标志
I2S_FLAG_RBNEI2S 接收缓冲区非空标志
I2S_FLAG_TRANSI2S 传输进行中标志
I2S_FLAG_RXORERRI2S 接收溢出错误标志
I2S_FLAG_TXURERRI2S 发送欠载错误标志
I2S_FLAG_CHI2S 声道状态标志
I2S_FLAG_FERRI2S 帧格式错误标志

您可能感兴趣的与本文相关内容

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值