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)); } |
头文件找不到
stm32进入stop模式被莫名其妙唤醒(应该是systick)但是无法被WKUP引脚唤醒。
软件为keil5,头文件未找到
通过FATFS文件系统读写SD卡创建文件可以了,但加入MSC,一直显示一个没有格式化的U盘盘符,也不能格式化,这是什么问题导致的
stm32f103汇编求助
cubemx 生成的freertos代码 在keil ac6下不能编译,有什么解决的方法吗
报错Could not determine GDB version using command: arm-none-eabi-gdb --version
stm32f107vct6配RTL8201例程
STM32F103VGT6 能代替 STM32F103VFT6 吗?
STM32 读取DHT20,跑的官方的例程一直读取失败,初学者,各位大佬能指点一下不
评分
查看全部评分
评分
查看全部评分
基本上不會用 硬體 NSS