
STM32F103连接ADC芯片,用SPI1,示波器量不到时钟信号,各管脚都是低电平。代码如下,请帮忙看看是否问题,谢谢! void ADS_SPI_Init(void) { /* Configure SPI_MASTER pins: NSS, SCK and MOSI */ GPIO_InitTypeDef GPIO_InitStructure; GPIO_InitStructure.GPIO_Pin = GPIO_Pin_4 | GPIO_Pin_5 | GPIO_Pin_7; GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP; GPIO_Init(GPIOA, &GPIO_InitStructure);// GPIOA的RCC在别处 //配置SPI寄存器 RCC_APB2PeriphResetCmd(RCC_APB2Periph_SPI1, ENABLE);// Enable SPI1 reset state SPI_I2S_DeInit(SPI1); SPI_InitTypeDef SPI_InitStruct; SPI_InitStruct.SPI_Direction = SPI_Direction_2Lines_FullDuplex; //全双工 SPI_InitStruct.SPI_Mode = SPI_Mode_Master; //主模式 SPI_InitStruct.SPI_DataSize = SPI_DataSize_16b; //16位 SPI_InitStruct.SPI_CPOL = SPI_CPOL_Low; //时钟极性,SCK空闲时低电平 SPI_InitStruct.SPI_CPHA = SPI_CPHA_2Edge; //时钟相位,下降沿 SPI_InitStruct.SPI_NSS = SPI_NSS_Hard; //硬件模式,NSS脚直接连到从机(ADC芯片) SPI_InitStruct.SPI_BaudRatePrescaler = SPI_BaudRatePrescaler_8; //8分频,72M/8 SPI_InitStruct.SPI_FirstBit = SPI_FirstBit_MSB; //高位在前 SPI_InitStruct.SPI_CRCPolynomial = 7; //CRC多项式寄存器(SPI_CRCPR) SPI_Init(SPI1,&SPI_InitStruct); //初始化寄存器 SPI_SSOutputCmd(SPI1, ENABLE); //NSS输出使能 SPI_Cmd(SPI1, ENABLE); //使能SPI } /******************************************************************************* 发送 *******************************************************************************/ void ADS_SPI_Send(u16 data) { SPI_I2S_SendData(SPI1, data); while(!SPI_I2S_GetFlagStatus(SPI1, SPI_I2S_FLAG_TXE)); //发送缓冲器空闲标志(TXE) } /******************************************************************************* 读取 *******************************************************************************/ u16 ADS_SPI_Receive(void) { while(!SPI_I2S_GetFlagStatus(SPI1, SPI_I2S_FLAG_RXNE)); //接收缓冲器非空(RXNE) return(SPI_I2S_ReceiveData(SPI1)); } |
stm32ide怎么正确的导出项目
STM32F105RBT6 2025年 ROSH REACH 报告
STM32CubeMX 使用"FW_F1 V1.8.6"生成FreeRTOS代码缺少"freertos_mpool.h"?
你好,我的setting里面设置都没有问题。但是显示failed download cortexm3
STM32F103C8出現找不到'STM32100B_EVAL/stm32100b_eval.h' file not found
STM32的DCode bus是连接到bus matrix的吗?参考手册描述和图片是不符吗?
stm32f407无法配置定时器2为全部dma
STM32F103TBU6 封装是VFQFPN36 将PD0和PD1配置成CAN不成功是什么原因
串口DMA + 空闲中断收发 ?
F103RCT6芯片对AFIO->MAPR寄存器写入时出错
评分
查看全部评分
评分
查看全部评分
基本上不會用 硬體 NSS