STM32F103C8T6使用hal库配置SPI模式
1.选择模式(我这里选择的是全双工主模式)下面那个Hardware NsS Signal,意思就是SS引脚使用软件触发还是硬件触发,这里默认不使能,也就是采用软件触发。
一.这里先配置
1.帧格式(这里默认就行,不是很理解)
2.数据大小,使用8位
3.第一位电平,因为采用拉低电平作为开始,所以这里配置为高电平
三.配置时钟参数
1.预分频系数(设置了128),这里要根据芯片时钟配置,由于SPI1的时钟频率为72Mhz,72M/128=562.5K,所以这里频率大概为500多K赫兹,
2.波特率,根据预分频系数变化的,不用管
3.下面两个用来配置采用哪一个模式的,这里是模式0
四、这里SS(CS)采用软件触发
————————————————
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/weixin_75150601/article/details/149114309
hal库配置SPI模式 SPI接口的引脚连接正确:
SCK(时钟线)
MOSI(主输出从输入)
MISO(主输入从输出)
NSS(片选线) SPI引脚配置为复用推挽输出(对于SCK和MOSI)和浮空输入(对于MISO)。片选线(NSS)可以配置为普通推挽输出或硬件NSS。 SPI时钟分频不应过小,以免超出外设的最高工作频率限制。 对于大数据量传输,建议使用DMA模式 根据从设备的数据手册设置以下参数:
Polarity(极性):决定时钟空闲电平(CPOL=0/1);
Phase(相位):决定第一个沿采样/输出数据(CPHA=0/1);
DataSize:8b 或 16b(多数设备为 8b);
FirstBit:MSB 优先或 LSB 优先(默认 MSB)。 时钟配置错误可能导致SPI无法正常工作 CPOL/CPHA不匹配、数据宽度设置错误、MISO引脚接收到干扰。 PI参数设置不当可能导致通信失败或数据错误。 SPI时钟频率需根据外设支持的最大频率设置,通常不超过STM32F103C8T6的SPI最大时钟频率( 先使能 SPI 时钟再操作寄存器 长距离或高速通信时,建议在SCK、MISO、MOSI线上加10kΩ上拉电阻。 用HAL_SPI_Transmit(),此时 MISO 线可悬空 用HAL_SPI_TransmitReceive()同时收发 检查 MISO 引脚是否悬空或接上拉电阻 可以通过调整波特率预分频器(BaudRatePrescaler)来控制时钟频率。 如果需要使用中断或DMA进行数据传输,确保正确配置中断和DMA通道。 CPOL/CPHA:必须与从设备的时钟极性和相位完全一致 检查CPOL/CPHA是否与外设匹配。
页:
[1]
2