Столкнулся с необходимость управлять 18 канальным силовым ключом TLE6244x через SPI. Уже неделю бьюсь.
Если я правильно понял, то TLE6244x по умолчанию настроен на работу с SPI в режиме Slave, дополнительных настроек не требуется. В качестве mastera используется микроконтроллер stm32f407zgt6. Настройки SPI сгенерированы при помощи STM32Cube. Для обмена данными использую HAL библиотеку.
//ABE подтянут к 5 в
//RST сконфигурировано как GPIO out и после подачи питания находится в высоком уровне.
Вот кусок кода.
- Код:
uint16_t data2Send [2] = { 0 };
uint16_t dataReceive [2] = { 0 };
uint16_t data2Send [0] = 0x0900; //WR_SCON0 включение выходов 1-8 0 вкл, 1 выкл.
HAL_GPIO_WritePin( CSM1_GPIO_Port, CSM1_Pin, GPIO_PIN_RESET ); // Переключаем ss в низкий уровень, который вернется в высокий после прерывания ( завершения передачи ).
HAL_SPI_TransmitReceive_IT ( &hspi2, (uint8_t*)data2Send,(uint8_t*)dataReceive, (uint16_t)1 ); // сама передача
Может кто сталкивался, или натолкнете на мысль. Заранее всем спасибо!