Делается все на фирменных ST библиотеках HAL (новые SPL)
После вызова функции HAL_UART_Receive_DMA(&UartHandle, (uint8_t *)ds18b20_buf_rx, sizeof(ds18b20_buf_rx)); попадаю в хардфаулт.
uint8_t ds18b20_buf_rx[8];
часть внутренностей функции:
Код
HAL_StatusTypeDef HAL_UART_Receive_DMA(UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size)
{
uint32_t *tmp;
tmp = (uint32_t*)&pData;
}
{
uint32_t *tmp;
tmp = (uint32_t*)&pData;
}
Прерывание происходит на строчке tmp = (uint32_t*)&pData;
Как так?
точно такая же функция на отправку работает нормально...