完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
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)); } |
|
相关推荐
1个回答
|
|
STM32F103的SPI驱动不起来可能由多种原因导致,以下是一些常见的问题和排查方向:
为了更准确地定位问题所在,可以使用以下方法:
|
|
|
|
只有小组成员才能发言,加入小组>>
调试STM32H750的FMC总线读写PSRAM遇到的问题求解?
1659 浏览 1 评论
X-NUCLEO-IHM08M1板文档中输出电流为15Arms,15Arms是怎么得出来的呢?
1571 浏览 1 评论
998 浏览 2 评论
STM32F030F4 HSI时钟温度测试过不去是怎么回事?
695 浏览 2 评论
ST25R3916能否对ISO15693的标签芯片进行分区域写密码?
1617 浏览 2 评论
1888浏览 9评论
STM32仿真器是选择ST-LINK还是选择J-LINK?各有什么优势啊?
665浏览 4评论
STM32F0_TIM2输出pwm2后OLED变暗或者系统重启是怎么回事?
531浏览 3评论
549浏览 3评论
stm32cubemx生成mdk-arm v4项目文件无法打开是什么原因导致的?
520浏览 3评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-1 01:34 , Processed in 0.858308 second(s), Total 80, Slave 63 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号