Перейти к содержанию
    

dimka76

Свой
  • Постов

    3 186
  • Зарегистрирован

  • Посещение

  • Победитель дней

    15

Весь контент dimka76


  1. Бытует мнение, что современные движки "задушены" в угоду экологии. Т.е. работают на обедненных смесях. Поэтому существует "мягкий" тюнинг, когда параметры работы двигателя просто доводят до оптимальных значений. Но, это не точно Я никогда не увлекался никаким тюнингом. А то, что написал выше, из разговоров в курилке. Но, может быть, в этом и существует доля истины.
  2. А отправка пакетов по DMA может по таймеру происходить ?
  3. WIMA посмотрите. Они полно конденсаторов всяких делают. Потому что это полипропиленовые В импортной терминологии вам надо смотреть полиэстер, лавсан, майлар.
  4. Судя по приведенном вами коду, он может и не переключится Поэтому и ввели цикл ожидания.
  5. Ну, так ведь можно еще немножко кружануть потребления, если выключать PLL.
  6. HAL вам предоставляет только доступ к периферии. Связь HAL и LwIP представлена в виде примера, а не полноценного законченного продукта. Пример вам показывает какие в каком порядке вызывать функции HAL для того, чтобы ознакомится с библиотекой. Полноценное рабочее приложение вы должны сделать самостоятельно. Если вам достаточно функционала примера, то можно остановиться на этом. Если нужно что-то большее, то придется самому развивать этот пример.
  7. На удачу ))) Выжидание требуется для МАС. PHY согласуется автоматически. По результатам согласование PHY, МАС настраивает свои регистры. Значения Half/Full duplex, 10/100 МБит. По умолчанию МАС настроен на Full Duplex и 100 МБит. PHY скорее всего у вас не гигабитный. Сейчас сеть на 10 Мбит еще умудриться найти надо. Поэтому настройка по умолчанию в подавляющем большинстве случаев подходит.
  8. В гугле забанили ? Рыдван - устар. большая карета для дальних поездок, в которую впрягалось несколько лошадей. Сейчас этот термин используется для обозначения очень уставшего, почти мертвого, как правило, ржавого автомобиля, каким-то чудом еще сохранивший способность самостоятельно передвигаться. Но лучше не обращать внимания на этого бахвального кривляку.
  9. Основатель форума Di-Halt из Челябинска. Видать поэтому и часовой пояс не московский.
  10. У ST на этот счет есть Application Note. У меня его под рукой нет, поэтому выложить не могу.
  11. Чиновники, чиновники. Кроме чиновников никого кругом не существует. У вас из группы выпускников вуза сколько чиновников ? А сколько пошли работать по специальности ?
  12. А, теперь понял о чем речь. Я подумал, что EdgeAligned пишет об отсутствии обозначения выводов питания.
  13. Это допустимо. Посмотрите схемы на логических элементах.
  14. А если измерить расстояние между линиями ?
  15. С питанием. Смотрите внимательно )))
  16. Грубый век. Грубые нравы. Романтизму нету - человеку спокойно выпить не дают - задёргивают.
  17. Не понятно где вы такое нашли, но вот тело вызываемой вами функции HAL_StatusTypeDef HAL_UART_Transmit_DMA(UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size) { uint32_t *tmp; /* Check that a Tx process is not already ongoing */ if(huart->gState == HAL_UART_STATE_READY) { if((pData == NULL ) || (Size == 0U)) { return HAL_ERROR; } /* Process Locked */ __HAL_LOCK(huart); huart->pTxBuffPtr = pData; huart->TxXferSize = Size; huart->TxXferCount = Size; huart->ErrorCode = HAL_UART_ERROR_NONE; huart->gState = HAL_UART_STATE_BUSY_TX; /* Set the UART DMA transfer complete callback */ huart->hdmatx->XferCpltCallback = UART_DMATransmitCplt; /* Set the UART DMA Half transfer complete callback */ huart->hdmatx->XferHalfCpltCallback = UART_DMATxHalfCplt; /* Set the DMA error callback */ huart->hdmatx->XferErrorCallback = UART_DMAError; /* Set the DMA abort callback */ huart->hdmatx->XferAbortCallback = NULL; /* Enable the UART transmit DMA Stream */ tmp = (uint32_t*)&pData; HAL_DMA_Start_IT(huart->hdmatx, *(uint32_t*)tmp, (uint32_t)&huart->Instance->DR, Size); /* Clear the TC flag in the SR register by writing 0 to it */ __HAL_UART_CLEAR_FLAG(huart, UART_FLAG_TC); /* Process Unlocked */ __HAL_UNLOCK(huart); /* Enable the DMA transfer for transmit request by setting the DMAT bit in the UART CR3 register */ SET_BIT(huart->Instance->CR3, USART_CR3_DMAT); return HAL_OK; } else { return HAL_BUSY; } } Непосредственно перед выходом из функции SET_BIT(huart->Instance->CR3, USART_CR3_DMAT);
  18. Внутри функции HAL_UART_Transmit_DMA эти строки кода USART2->CR3 |= USART_CR3_DMAT; DMA1_Stream6->CR |= DMA_SxCR_TCIE | DMA_SxCR_HTIE также присутствуют Не стесняйтесь заглянуть внутрь HAL. И заодно разберитесь, что эти ваши биты делают и почему они сбрасываются. Тем более, вы говорили, что на регистрах у вас все работает. Наверняка у вас проблема в другом.
×
×
  • Создать...