Other Parts Discussed in Thread: ADS1293
Hi!
I want connection ADS1293EVM(Slave) and Nucleo board(Master) to SPI.
static void MX_SPI2_Init(void) { hspi2.Instance = SPI2; hspi2.Init.Mode = SPI_MODE_MASTER; hspi2.Init.Direction = SPI_DIRECTION_2LINES; hspi2.Init.DataSize = SPI_DATASIZE_8BIT; hspi2.Init.CLKPolarity = SPI_POLARITY_LOW; hspi2.Init.CLKPhase = SPI_PHASE_2EDGE; hspi2.Init.NSS = SPI_NSS_SOFT; hspi2.Init.BaudRatePrescaler = SPI_BAUDRATEPRESCALER_128; hspi2.Init.FirstBit = SPI_FIRSTBIT_MSB; hspi2.Init.TIMode = SPI_TIMODE_DISABLE; hspi2.Init.CRCCalculation = SPI_CRCCALCULATION_DISABLE; hspi2.Init.CRCPolynomial = 7; hspi2.Init.CRCLength = SPI_CRC_LENGTH_DATASIZE; hspi2.Init.NSSPMode = SPI_NSS_PULSE_ENABLE; if (HAL_SPI_Init(&hspi2) != HAL_OK) { Error_Handler(); } } uint8_t ads1293ReadRegister(uint8_t rdAddress) //0x40 { uint8_t send_data = rdAddress; uint8_t m_tx_buf; HAL_GPIO_WritePin(SPI2_CS_GPIO_Port, SPI2_CS_Pin, GPIO_PIN_RESET); HAL_SPI_Transmit(&hspi2, &send_data, sizeof(send_data), 1000); HAL_SPI_Receive(&hspi2, &m_tx_buf, sizeof(m_tx_buf), 1000); HAL_GPIO_WritePin(SPI2_CS_GPIO_Port, SPI2_CS_Pin, GPIO_PIN_SET); return (m_tx_buf); }
I sent a address (0x40), So, i thought i would receive 0x01.
1. SCL and CS
2. SCL and SDI
3. SCL and SDO
Please, Tell me why the SDO pin isn't working.
What am i check more?
(I'm sure I connected GND pin each other, and I think all pins connecting exactly)