Compare commits

4 Commits
3 changed files with 19 additions and 2 deletions
+1
View File
@@ -0,0 +1 @@
ad1e1be6d08e7e2027afc226be1e6c02bcd442b0
+16
View File
@@ -0,0 +1,16 @@
# 🤖 Технический контекст проекта (Сгенерировано ИИ)
### README для репозитория
**1. Краткое назначение проекта.**
Проект содержит исходный код файла DS_Encoder.c, который предназначен для разработки компонента, отвечающего за кодирование данных.
**2. Тип стека.**
Библиотека с реализацией кодирования данных (DS_Encoder).
**3. Архитектурный разбор:**
- Файл Src/DS_Encoder.c — содержит реализацию компонента для кодирования данных.
<!-- USER_CUSTOM_CONTEXT_START -->
# ✍️ Заметки разработчика
*Допишите сюда свои требования, и ИИ учтет их при следующем запуске*
+2 -2
View File
@@ -4,7 +4,7 @@ void DS_EncoderInitTim(DS_Encoder *Encoder, TIM_HandleTypeDef *hTim)
{ {
Encoder->hTim = hTim; Encoder->hTim = hTim;
Encoder->State = 0; Encoder->State = 0;
HAL_TIM_Base_Start(hTim); HAL_TIM_Encoder_Start(hTim, TIM_CHANNEL_ALL);
} }
@@ -80,7 +80,7 @@ int8_t DS_EncoderGetState(DS_Encoder *Encoder)
{ {
if (Encoder->hTim != 0) if (Encoder->hTim != 0)
{ {
int8_t CurrentCounter = Encoder->hTim->Instance->CNT / 4; int8_t CurrentCounter = ((int16_t)Encoder->hTim->Instance->CNT) / 4;
int8_t ValueToReturn = CurrentCounter - Encoder->State; int8_t ValueToReturn = CurrentCounter - Encoder->State;
Encoder->State = CurrentCounter; Encoder->State = CurrentCounter;