This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] LDC1000EVM:STM32F3:SPI 已通过数据表进行更正、但 SDO 无响应

Guru**** 2609895 points
Other Parts Discussed in Thread: LDC1000EVM

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/sensors-group/sensors/f/sensors-forum/591263/ldc1000evm-stm32f3-spi-corrected-with-datasheet-but-no-response-on-sdo

器件型号:LDC1000EVM

最近、我正在使用 LDC1000-STM32F3。  

我已经尝试使用硬件 SPI 和软件 SPI 来遵循数据表中的指南、但我都无法从 LDC1000读取数据。  

这是我执行的代码。 我检查了 SCLK、MOSI、CBS、所有这些都与数据表进行了校正。  我 将 LDC1000EVM+传感器的头部连接到了 STM32F3  

请告诉我该代码有什么问题。

您会非常感谢

#include "ldc1000.h"

/*----------------------
全局变量
------------------------------------------------------- */
uint8_t RegArray[REG_LEN];

void delay_a (uint32_t nCount);

/*------------
函数:LDC GPIO 初始化
函数参数:IO 端口连接图

内部 <->PA7 <-> GPIO <->P6-3
CSBPA2 <->->P6-2
DCLK<->PA8 <-> 6MHz <-> P6-1
SCLK <->PC10 <-> LDC_SPI_SCK <-> P6-4
SDO ->PC11<-> LDC_SPI_MISO <-> P6-5
SDI ->PC12<-> LDC_SPI_MOSI <-> P6-6
VIO<->3V3 ->P6-9
GND<->GND ->P6-11
GND<->GND <->P7-8
+5V<->+5V<->P7-9
----------------------------------- */

void LDC_GPIO_Init (void){
GPIO_InitTypeDef GPIO_InitStructure;
// SPI_InitTypeDef SPI_InitStructure;

//!< LDC_SPI 禁用*/
SPI_Cmd (LDC_SPI、禁用);

/*!< LDC_SPI DeInit */
// SPI_I2S_DeInit (LDC_SPI);

/*!<禁用 SPI 时钟*/
// RCC_APB1PeriphClockCmd (LDC_SPI_CLK、禁用);

//启用时钟端口 A、B、C */
RCC_AHBPeriph_GPIOC (RCC_AHBPeriph_GPIOB、启用);
RCC_AHBPeriph_Aiph_Aiph_Riphb (GPIOCC_APeriph_APeriph_Riph_Ab)、Riph_Riph_Aiph_Aiph_Aiph_Aiph_Aiph_Riph_Aiph_Riph
使能);

/*配置 MCO 引脚:DCLK */
GPIO_InitStructure.GPIO_Pin = LDC_DCLK_PIN;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF;
GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_Indo_P50MHz;GPIO_PUT_PUT_PUT_PUT_PUT_PUT_PUT_PUT_PUT_PUT_PUT_PUT_PONPUT_PUT_PUT_PUT_PUT

GPIO_Init (GPIOA、&GPIO_InitStructure);
//备用功能源集
GPIO_PinAFConfig (GPIOA、GPIO_PinSource8、GPIO_AF_0);
RCC_MCOConfig (RCC_MCOSource_SYSCLK);

// GPIO_InStructure =
GPIO_IPO_InStructure_GPIO_PM_InStructure.GPIO_GPIO_PM_InStructure.GPIO_GPIO_P=GPIO_InStructure.GPIO_P=GPIO_PM_Out_GPIO_PM_InStructure.GPIO_PM_GPIO_PM_GPIO_PM_In_InStructure.GPIO_PM_GPIO_PM_GPIO_P=GPIO_PM_Out_InStructure.GPIO_PM_GPIO_PM_GPIO_PM_GPIO_PM_PM_InStructure.GPIO_PM_GPIO_PM_GPIO_PM_PM_In_GPIO_PM_PM_PM_PM_PM_




&GPIO_InitStructure);

/*配置 SPI 引脚:SCK、MOSI */
GPIO_InitStructure.GPIO_Pin = LDC_SPI_SCK_PIN | LDC_SPI_MOSI_PIN;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out;
GPIO_InitSNO.GPIO_Speed = GPIO_Speed_50MHz;GPIO_InitSStructure.GPIO_PUT_InOrgp_Out_In_PUTORT.GPIO_PUTType
= GPIO_PUT_InPUT_InPUT_PUT_PUT_PUT_PUT_PUT_PUT_PUT_PUT_PUT_PUT_

GPIO_Init (GPIO_LDC、&GPIO_InitStructure);

/*配置 SPI 引脚:Miso*/
GPIO_InitStructure.GPIO_Pin = LDC_SPI_Miso_PIN;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_InitStructure.GPIO_OType = GPIO_OType_InduPULPUT_PUT_PUT_PM_PM_PM_PM_PMT.PUT_PUT_PM_PUT_PM_PM_PUT_PM_PM_PM_PUT_PM_PM_PM_PM

GPIO_Init (GPIO_LDC、&GPIO_InitStructure);

//配置 SPI 引脚 PA7:Int*/
GPIO_InitStructure.GPIO_Pin = LDC_INT_PIN;
GPIO_InitStructure.GPIO_Mode = GPIO_Moder.GPIO_InStructure.GPIO_OType
= GPIO_OType_PP;GPIO_InSpeed
*、GPIO_InSpeed_InSpeed*、GPIO_InStitSStructure!



//初始化 IO
GPIO_SetBits (GPIOA、LDC_CS_PIN);
GPIO_SetBits (GPIO_LDC、LDC_SPI_SCK_PIN);
GPIO_ResetBits (GPIO_LDC、LDC_SPI_MOSI_PIN);
GPIO_ResetBits (GPIO_LDC、LDC_SPI_MISO);

}

void LDC_WriteReg8 (uint8_t dat)
{
uint8_t tmp=0;
uint32_t i = 0;

DELAY_A (1);
GPIO_ResetBits (GPIO_LDC、LDC_SPI_SCK_PIN);
DELAY_A (1);

//为
(i=0;i<7;i++)
{写入数据_上升沿
tmp =(dat >>(7-I))& 0x01;
GPIO_WriteBit (GPIO_LDC、LDC_SPI_MOSI_PIN、(BitAction) tmp);
DELAY_A (1);
GPIO_SetBits (GPIO_LDC、LDC_SPI_SCK_PIN);
DELAY_A (1);
GPIO_ResetBits (GPIO_LDC、LDC_SPI_SCK_PIN);
}

//最后位
tmp =(dat >>(7-I))和0x01;
GPIO_WriteBit (GPIO_LDC、LDC_SPI_MOSI_PIN、(BitAction) tmp);
DELAY_A (1);
GPIO_Bits (GPIO_LDC_SPI_SetK_PIN);

DELAY_A(5);}/*--><!--kadov_tag{</spaces>}}-->




函数:LDC 写入寄存器
函数参数:- addr 寄存器地址
数据----日期数据
-------------------------- //
void LDC_WriteReg (int8_t addr、uint8_t dat)
{
uint8_t tmp=0;
uint32_t i = 0;

ADDR = addr & 0x7F;// MSB 是一个0写入寄存器、这是一个1读取寄存器
LDC_CS_LOW;
DELAY_A (1);
GPIO_ResetBits (GPIO_LDC、LDC_SPI_SCK_PIN);
DELAY_A (1);

//为
(i=0;i<8;i++)
{写入地址_上升沿
tmp =(addr >>(7-I))& 0x01;
GPIO_WriteBit (GPIOC、LDC_SPI_MOSI_PIN、(BitAction) tmp);
DELAY_A (1);
GPIO_SetBits (GPIO_LDC、LDC_SPI_SCK_PIN);
DELAY_A (1);
// GPIO_ResetBits (GPIO_LDC、LDC_SPI_MOSI_PIN);
GPIO_ResetBits (GPIO_LDC、LDC_SPI_SCK_PIN);
}

//为
(i=0;i<7;i++)
{写入数据_上升沿
tmp =(dat >>(7-I))& 0x01;
GPIO_WriteBit (GPIO_LDC、LDC_SPI_MOSI_PIN、(BitAction) tmp);
DELAY_A (1);
GPIO_SetBits (GPIO_LDC、LDC_SPI_SCK_PIN);
DELAY_A (1);
GPIO_ResetBits (GPIO_LDC、LDC_SPI_SCK_PIN);
}

//最后位
tmp =(dat >>(7-I))和0x01;
GPIO_WriteBit (GPIO_LDC、LDC_SPI_MOSI_PIN、(BitAction) tmp);
DELAY_A (1);
GPIO_Bits (GPIO_LDC_SPI_SetK_PIN);

DELAY_A (5);
LDC_CS_HIGH;
DELAY_A (2);
}

/*---------------
函数:LDC 读取寄存
器函数参数:- addr 寄存器地址-------------------------------------------------------
*/
uint8_t LDC_ReadReg (INT8_t addr)
{
uint8_t tmp=0;
uint32_t i = 0;
uint32_t data=0;

ADDR = addr | 0x80;// MSB 是1读取寄存器
LDC_CS_LOW;
DELAY_A (1);
GPIO_ResetBits (GPIO_LDC、LDC_SPI_SCK_PIN);
DELAY_A (1);

//写入地址_上升沿
对于(i=0;i<7;i++)
{
tmp =(addr >>(7-I))& 0x01;
GPIO_WriteBit (GPIO_LDC、LDC_SPI_MOSI_PIN、(BitAction) tmp);
DELAY_A (1);
GPIO_SetBits (GPIO_LDC、LDC_SPI_SCK_PIN);
DELAY_A (1);
GPIO_ResetBits (GPIO_LDC、LDC_SPI_SCK_PIN);
}

//最后地址位
tmp = addr & 0x01;
GPIO_WriteBit (GPIOC、LDC_SPI_MOSI_PIN、(BitAction) tmp);
DELAY_A (1);
GPIO_SetBits (GPIO_LDC、LDC_SPI_SCK_PIN);

//读取数据_下降沿
对于(i=0;i<8;i++)
{
GPIO_ResetBits (GPIO_LDC、LDC_SPI_SCK_PIN);
DELAY_A (1);
tmp = GPIO_ReadInputDataBit (GPIO_LDC、LDC_SPI_MISO/PIN);
data |=(uint32_t)((tmp & 0x01)<<(7-I));

DELAY_A (1);
GPIO_SetBits (GPIO_LDC、LDC_SPI_SCK_PIN);
DELAY_A(1);
}

DELAY_A (1);
//GPIO_ResetBits (GPIO_LDC、LDC_SPI_SCK_PIN);
LDC_CS_HIGH;
// delay_A (1);

}

////最后地址位
// tmp = addr & 0x01;
// GPIO_WriteBit (GPIOC、LDC_SPI_MOSI_PIN、(BitAction) tmp);
// delay_a (1);
// GPIO_SetBits (GPIO_LDC、LDC_SPI_SCK_PIN);
//
////读取数据(对于下降沿
/i+;
// I = 0+
GPIO_ResetBits (GPIO_LDC、LDC_SPI_SCK_PIN);
// DELAY_A (1);
// tmp = GPIO_ReadInputDataBit (GPIO_LDC、LDC_SPI_MISO/PIN);
// data |=(uint32_t)((tmp & 0x01)<<(7-I));
//
// DELAY_A (1);
// GPIO_SetBits (GPIO_LDC、LDC_SPI_SCK_PIN);
// Delay_A (1);
//}
//
// delay_A (1);
///GPIO_ResetBits (GPIO_LDC、LDC_SPI_SCK_PIN);
// LDC_CS_HIGH;
////// delay_A (1);

//读取数据上升沿
// for (i=0;i+7;i+/

DELAY_A (1);
// GPIO_SetBits (GPIO_LDC、LDC_SPI_SCK_PIN);
// DELAY_A (1);
//
// tmp = GPIO_ReadInputDataBit (GPIO_LDC、LDC_SPI_MISO/PIN);
// data |=(uint32_t)((tmp & 0x01)<<(7-I));
//
// GPIO_ResetBits (GPIO_LDC、LDC_SPI_SCK_PIN);
// DELAY_A (1);
//}
//
GPIO_SetBits (GPIO_LDC、LDC_SPI_SCK_PIN);
// delay_a (1);
//
tmp = GPIO_ReadInputDataBit (GPIO_LDC、LDC_SPI_MISO/PIN);
//数据|=(uint32_t)((tmp & 0x01)<<(7-I));
//
// delay_a (2);
//// GPIO_ResetBits (GPIO_LDC、LDC_SPI_SCK_PIN);
// LDC_CS_HIGH;
//返回数据;

// LDC_WriteReg (LDC_CMD_RPMAX、 0x13);/0x13
////延迟(10);
// LDC_WriteReg (LDC_CMD_RPMIN、 0x3B);/0x13
////延迟(10);
// LDC_WriteReg (LDC_CMD_SENSORFREQ、0x94);/0x94 - B3-1MHz
////延迟(10);
// LDC_WriteReg (LDC_CMD_LDCCONFIG、0x13);// 0x17_LDC_WriteReg

(LDC_CLD/CMD/CLKCLLDC) 0x01);//0x00
////延迟(10);
// LDC_WriteReg (LDC_CMD_INTCONFIG、0x02);//0x02
//////延迟(10);
// LDC_WriteReg (LDC_CMD_THRESHILSB,0x50);// 0x50
////延迟(10);
// LDC_WriteReg (LDC_CMD_THRESHIMSB,0x14);// 0x14
//////////延迟(10);
// LDC_WriteReg (LDC_CMD_THRESHIMSB,0x10);// THRESLSB
(0xLDC_CMOS0)
;// THRESLOD/ TLDC_CLD/ THRESLSB (0x10) 0x12);//0x12
////延迟(10);
// LDC_WriteReg (LDC_CMD_PWRCONFIG、0x01);//活动模式、 转换已启用


/*-------------------------------------------------------
函数:LDC 初始化
------------------------------------------------------- */
void LDC_Init (void)
{
LDC_GPIO_Init();

LDC_WriteReg (LDC_CMD_RPMAX、 0x13);//0x13
//延迟(10);
LDC_WriteReg (LDC_CMD_RPMIN、 0x3B);//0x13
//延迟(10);
LDC_WriteReg (LDC_CMD_SENSORFREQ、0x94);/0x94 - B3-1MHz
//延迟(10);
LDC_WriteReg (LDC_CMD_LDCCONFIG、0x13);/0x17
//延迟(10);
LDC_WriteReg (LDC_CMD_CLKCONFIG、0x01);//0x00
//延迟(10);
LDC_WriteReg (LDC_CMD_INTCONFIG、0x02);/0x02
//延迟(10);
LDC_WriteReg (LDC_CMD_THRESHILSB、0x50);/0x50
//延迟(10);
LDC_WriteReg (LDC_CMD_THRESHIMSB,0x14);/0x14
//延迟(10);
LDC_WriteReg (LDC_CMD_THRESLOLSB、0xC0);//0xC0
//延迟(10);
LDC_WriteReg (LDC_CMD_THRESLOMSB、0x12);/0x12
//延迟(10);
LDC_WriteReg (LDC_CMD_PWRCONFIG、0x01);//激活模式、
}/*---


---
函数:LDC 初始化
------------------------------------------------------- */
void LDC_init1 (void)
{
LDC_GPIO_Init();

LDC_CS_LOW;

LDC_WriteReg (LDC_CMD_RPMAX、 0x13);//0x13
//延迟(10);
LDC_WriteReg8 (0x3B);//0x13
//延迟(10);
LDC_WriteReg8 (0x94);//0x94 - B3-1MHz
//延迟(10);
LDC_WriteReg8 (0x13);//0x17
//延迟(10);
LDC_WriteReg8 (0x01);//0x00
//延迟(10);
LDC_WriteReg8 (0x02);//0x02
//延迟(10);
LDC_WriteReg8 (0x50);//0x50
//延迟(10);
LDC_WriteReg8 (0x14);/0x14
//延迟(10);
LDC_WriteReg8 (0xC0);//0xC0
//延迟(10);
LDC_WriteReg8 (0x12);//0x12
//延迟(10);
LDC_WriteReg8 (0x01);//活动模式

延迟(1);
LDC_CS_HIGH;}/*--><!--kadov_tag{</spaces>}}-->



函数:将一个字节的数据发送到 LDC
函数参数:要发送的数据 dat
返回值:设备发回数据
------------------------------------------------------- /uint8_t
LDC_SendByte (uint8_t dat)
{
LDC_CS_LOW;
while (SPI_I2S_GetFlagStatus (LDC_SPI、SPI_I2S_FLAG_TXE)=> RESET);
SPI_SendData8 (LDC_SPI、dat);
while (SPI_I2S_GetFlagStatus (LDC_SPI、SPI_I2S_FLAG_RXNE)=复位);
LDC_CS_HIGH;
返回(uint8_t)LDC_SPI->DR;
}/*-->
------
函数:读取 LDC 单字节
函数参数:空
返回值:从器件发送的一个字节的数据
------- */
uint8_t LDC_ReadByte (void)
{
return 0x00;
}
/*-->---
函数:读取 LDC len 字节
函数参数:- addr
- pbuffer
- len
调用示例:LDC_ReadBytes (LDC_CMD_REVID、& RegArray [0]、12);
--------------- //
void LDC_ReadBytes (int8_t addr、uint8_t* pbuffer、uint8_t len)
{
addr = addr | 0x80;//读取数据
LDC_CS_low;
LDC_SendByte (addr);
while (len > 0)
{
* pbuffer = LDC_ReadByte





();ptramp+;// tenchor+

1、tintract/dc 1;/void intramp/tch/tegr1;/tintramp/tch/tch/tin/tch/intramp/en/ void intramp+;/en/ void intramp/en/ tch/en/ tegr1}/en/ tin/en/ tch/in/






txt2[15];
float ind、fsens;

LDC_CS_LOW;
LDC_ReadReg (0xA1);
prox=LDC_ReadReg (0xFF);
LDC_CS_HIGH;

LDC_CS_LOW;
LDC_ReadReg (0xA2);
temp1=LDC_ReadReg (0xFF);
LDC_CS_HIGH;
temp1=temp1<<8;
prox=prox+temp1;

// LongLongUnsignedToStr (prox、txt1);
// UART1_Write_Text ("接近数据=");
// UART1_Write_Text (txt1);
// UART1_Write (13);
// UART1_Write (10);
delay (tx100);

LDC_CS_LOW;
LDC_ReadReg (0xA3);
Fcount=LDC_ReadReg (0xFF);
LDC_CS_HIGH;

LDC_CS_LOW;
LDC_ReadReg (0xA4);
temp=LDC_ReadReg (0xFF);
LDC_CS_HIGH;
temp=temp<< 16;
Fcount=Fcount+temp;

//Measuring Sensor frequency
//fsenss =(1/3)*(FEXT/Fcount)*(Response Time)
//FEXT 是外部时钟的频率(6MHz)//Fcount
是从频率计数器数据寄存器(地址0x144*0x240x25)获得的值
,//响应时间是已编程的响应时间(6MHz)*3*/fsensting*(6)*(eensore)*(6)*)3*(FF)*(eid=1*)33.143.14*(+)*(eed*(e)*(FF)/fsensore)*(63.14)*(13.14*(+)*(e)*(e)*(e)*(e)*(e)*(e)*(e)*)





// FloatToStr (ind、txt2);
// UART1_Write_Text ("Impedance L =");
// UART1_Write_Text (txt2);
// UART1_Write_Text (" u");
// UART1_Write (13);
// UART1_Write (10);
// UART1_Write (13);
// UART1_Write (10);
delay (100);
}

// delay ms
void delay_a (uint32_t nCount){
uint32_t index = 0;
for (index =(nCount * 1);index!= 0;index--);
}//LDC_dr


eReg

= 0xt_8;/uintdr / uint8 (uaddr *) // MSB 是一个0写入寄存


器、这是一个1读取寄存器// LDC_CS_low;// SPI_SendData8 (LDC_SPI、addr);// while (SPI_I2S_GetFlagStatus (LDC_SPI、SPI_I2S_FLAG TXE)= reset);
//SPI_SendData8 (LDC_SPI、dat);
//while (SPI_I2S_GetFlagStatus (LDC_SPI、SPI_I2S_FLAG_TXE)= reset);
///LDC_CS_HIGH;
//}
//
//uint8_t LDC_ReadReg (INT8_t addr)
//{
// uint8_t temp;
// addr = addr | 0x80;//msb 是一个1读取寄存器、即0写入寄存器
// LDC_CS_low;
// while (SPI_I2S_TXD)= DataFLAG_8;
// SPI_SLDC_Reset= SPI (SPI_D_);SPI_D_
// while (SPI_I2S_GetFlagStatus (LDC_SPI、SPI_I2S_FLAG_BSY)= RESET);
// SPI_SendData8 (LDC_SPI、0x00);
// while (SPI_I2S_GetFlagStatus (LDC_SPI、 SPI_I2S_FLAG_BSY)= RESET);
//
temp =(uint8_t) SPI_ReceiveData8 (LDC_SPI);
// while (SPI_I2S_GetFlagStatus (LDC_SPI、SPI_I2S_FLAG_RXNE)= RESET);
//
//// LDC_CS_HIGH;
//返回 temp;/
//}
//
//////// void LDC_GPIO_Init (void){
// GPIO_InitTypeDef GPIO_InitStructure;
// SPI_InitTypeDef SPI_InitStructure;
//
///////*!< LDC_SPI disable *
// SPI_Cmd (LDC_Perip_SPI、disable);
//
SPI_C12t_C12t*


// SPI_C12t_C12t_Cb!*



// SPI_C12t_C12t_C12t_Cb!// SPI_C12t_C12t_C12t_Cb!*// SPIClock_C12t_C12t_C12t_D*//
// RCC_AHBPeriph_GPIOB、ENABLE);
// RCC_AHBPeriph_GPIOB、ENABLE);// RCC_AHBPeriphClockCmd (RCC_AHBPeriph_GPIOA、 启用);
//
////////////将 LDC 引脚_ CS 配置为 GPIO 功能*//
GPIO_InitStructure.GPIO_Pin = LDC_CS_PIN;// GPIO_InitStructure.GPIO_Mode
= GPIO_Mode_Out;
// GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
// GPIO_InPUT_PIN_GPIO_PIN_GPIO_InS=GPIO_P/
GPIO_InP/ GPIO_InPUT_PIN_GPIO_PIN.GPIO_PIN_GPIO_InS=GPIO_PIN_GPIO_PIN.GPIO_GPIO_PIN.GPIO_PIN.GPIO_PIN_GPIO_PIN_PIN_GPIO_PIN.GPIO_PIN.GPIO_PIN.GPIO_PIN.GPIO_PIN.GPIO_PIN.GPIO_PIN.GPIO_PIN.GPIO_PIN.GPIO_PIN.GPIO_PIN.GPIO_PIN.GPIO_PIN.GPIO_PIN.GPIO_PIN.GPIO_GPIO_




// GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF;
// GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;
// GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
// GPIO_InitStructure.GPIO_Pd = GPIO_PUT_PRUS_0

;// GPIO_PINSCM0*/ GPIO_Pin
和 GPIO_PIN_RSD_RF_0



;// GPIO_PIN_GPIO_RESP/ GPIO_RESP/ GPIO_RESP/ GPIO_RESP/ GPIO_RESP/ GPIO_RESP/ GPIO_RESP/ GPIO_RESP/ GPIO_RESP/ GPIO_RESP/ GPIO_RESP/ GPIO_RESP/ GPIO_RESP/ GPIO_RESP/ GPIO_RESP/ GPIO_RESP/ GPIO_RESP/ GPIO_RESP/ GPIO_RESP/ GPIO_RESP/ GPIO_RESP/ GPIO_RESP/ GPIO_RESP/ GPIO_RESP/ GPIO_RESP/ GPIO_RESP/ GPIO_RESP
// GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF;
// GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
// GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;
// GPIO_InStructure.GPIO_PM_InStructure.GPIO_GPIO_InStructure.GPIO_PM*







;/GPIO_InStructure/GPIO_GPIO_InStructure/GPIO_GPIO_PM*;/GPIO_InStructure/GPIO_PM_In/GPIO_InStructure/GPIO_P/ GPIO_PM_InStructure/GPIO_P/ GPIO_PM_InS/ GPIO_PM_InS/ GPIO_PM_InStructure/GPIO/ GPIO/ GPIO_PM*;/GPIO_InStructure/GPIO_PM_InS/ GPIO_PM_PM_PM_PM_PM_PM_PM_PM_PM_GPIO_PM_PM_PM_PM_PM_PM_GPIO_PM_PM_PM_PM_PM_PM_GPIO/ GPIO/ GPIO/ GPIO/ GPIO/ GPIO/ GPIO/

//
////////配置 SPI 引脚 PA7:Int*//
GPIO_InitStructure.GPIO_Pin = LDC_INT_PIN;
// GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out;
// GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;
// GPIO_InInitSStructure.GPIO_OutSpeed;// GPIO_InSpeed* GPIO_InP50MHz;/GPIO_InPUT_InSpeed;/GPIO_InSpeed* GPIO_InSpeed.GPIO_InPUT_GPIO_InSpeed;// GPIO_InPUT_InSpeed!


//
//////////* SPI3配置*//

////!<启用 SPI 时钟*//
RCC_APB1PeriphClockCmd (LDC_SPI_CLK,启用);
//
//////////*将 PC.10连接到 SPI SCK *//
// GPIO_PINAFConfig (GPIO_LDC_LDC_SCK_11);//

连接到 SPI_SPI_AFDI_ADC_11;
// GPIO_PRIVE_SCK_SCK_11;//连接到 SPI_AFDI_SCK_PIN_ADC_AFADC_SOURCE *//
//
//////////*将 PC.12连接到 SPI MOSI *//
GPIO_PinAFConfig (GPIO_LDC、LDC_SPI_MOSI_SOURCE、LDC_SPI_MOSI_AF);
//
SPI_InitStructure.SPI_Direction = SPI_Direction_2LUX_SPI_InStructure/SPI_InStructure/SPI_Auditure/SPI_InStructure/SPI_Spi_Spi_InStructure/Spi_Spi_InStructure/Spi_Spi_20_Spi_20_Spi_Spi_20_Spi_20_Spi_20_Spi_Spi_20_Spi_InStructure/Spi_Spi_Spi_20_Spi_20_Spi_Spi_Spi_In_20_Spi_Spi_Spi_20_Spi_Spi_20_Spi_Spi_Spi_InStructure/SPI






= SP_Spi_Spi_Spi_Spi_Spi_Spi_20_Spi_Spi20_Spi_
// SPI_InitStructure.SPI_CRCPolynomial = 7;
// SPI_Init (LDC_SPI、&SPI_InitStructure);
//
////////将 RX FIFO 阈值配置为四分之一满*//
////// SPI_RxFIFOThresholdConfig (LDC_SPI、SPI_RxOThreshold3)

;// SPI_CLDC_QF;//启用 SPI_QF




  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    尊敬的 David:
    您是否已调试设置以验证这不是硬件问题? 很多时候、软件或代码正常、但事实证明没有信号通过 SPI 端口、或者存在时序问题或信号完整性问题。 首先、我将在示波器上检查时钟信号、SPI 读取和 SPI 写入、芯片选择等 让我知道这是怎么发生的。
    谢谢、
    Luke
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

     您好、Luke、  

    这是 我在示波器上的信号。 我尝试过、但我不知道为什么 SDO 上没有回复信号