Top.Mail.Ru
Уведомления
Очистить все

[Решено] STM32F4 DISCOVERY HAL АКСЕЛЕРОМЕТР

(@boris_britwa)
New member

#define CS_OFF HAL_GPIO_WritePin(GPIOE, GPIO_PIN_3,GPIO_PIN_SET);
#define CS_ON HAL_GPIO_WritePin(GPIOE, GPIO_PIN_3,GPIO_PIN_RESET);
#define RED_LED_ON HAL_GPIO_WritePin(GPIOD, GPIO_PIN_14,GPIO_PIN_SET);
#define GREEN_LED_ON HAL_GPIO_WritePin(GPIOD, GPIO_PIN_12,GPIO_PIN_SET);
#define RED_LED_OFF HAL_GPIO_WritePin(GPIOD, GPIO_PIN_14,GPIO_PIN_RESET);
#define GREEN_LED_OFF HAL_GPIO_WritePin(GPIOD, GPIO_PIN_12,GPIO_PIN_RESET);

Сделал 2 функции
void SPI_send(uint8_t address, uint8_t data){
uint8_t trash;
CS_ON
HAL_SPI_TransmitReceive(&hspi1,&address,&trash,1,1000);
HAL_SPI_TransmitReceive(&hspi1,&data,&trash,1,1000);
CS_OFF
}

uint8_t SPI_read(uint8_t address)
{
uint8_t reciveData;
address = 0x80 | address;
CS_ON
HAL_SPI_TransmitReceive(&hspi1,&address,&reciveData,1,1000);
uint8_t data=0x00;
HAL_SPI_TransmitReceive(&hspi1,&data,&reciveData,1,1000);
CS_OFF
return reciveData;
}

/* SPI1 init function */
void MX_SPI1_Init(void)
{

hspi1.Instance = SPI1;
hspi1.Init.Mode = SPI_MODE_MASTER;
hspi1.Init.Direction = SPI_DIRECTION_2LINES;
hspi1.Init.DataSize = SPI_DATASIZE_8BIT;
hspi1.Init.CLKPolarity = SPI_POLARITY_HIGH;
hspi1.Init.CLKPhase = SPI_PHASE_2EDGE;
hspi1.Init.NSS = SPI_NSS_SOFT;
hspi1.Init.BaudRatePrescaler = SPI_BAUDRATEPRESCALER_32;
hspi1.Init.FirstBit = SPI_FIRSTBIT_MSB;
hspi1.Init.TIMode = SPI_TIMODE_DISABLED;
hspi1.Init.CRCCalculation = SPI_CRCCALCULATION_DISABLED;
hspi1.Init.CRCPolynomial = 10;
HAL_SPI_Init(&hspi1);

}

RED_LED_ON
GREEN_LED_ON

if (SPI_read(0x0F)==0x3F)//0x3F
RED_LED_OFF
else if(SPI_read(0x0F)==0x3B)//LIS3DSH//0x3B
GREEN_LED_OFF

Все дело проверял с подключенным анализатором все работало как только отключал сам анализатор или один из проводков все рушилось в ответ 0xFF
Сейчас вообще не работает...Пересмотрел пару разобранных смартфонов выдер BMA150 к нему еще нужно плату лепить он такой же малый как и LIS3DSH.Может кто на своей STM32F4discovery попробует делов-то.
моя тема на другом форуме Там во вложениях есть логи с анализатора!!!

Цитата
Создатель темы Размещено : 21.02.2016 00:30
Поделиться: