filesystem init. step 3 of 3 -- failed. https://pkm.iovchinnikov.ru/share/HVYJIiG0JuDv

This commit is contained in:
Ivan I. Ovchinnikov
2026-07-24 20:19:34 +03:00
parent d593b011e8
commit 9b3654cb77
2 changed files with 18 additions and 1 deletions
+13 -1
View File
@@ -76,6 +76,9 @@ uint16_t rxIndex = 0; // Индекс в буфере приёма
/* USER CODE BEGIN Variables */
extern FATFS USERFatFs;
extern char USERPath[4];
// Импортируем флаг из драйвера USB
extern volatile uint8_t pc_wrote_file_flag;
/* USER CODE END Variables */
/* Definitions for defaultTask */
osThreadId_t defaultTaskHandle;
@@ -180,7 +183,16 @@ void StartDefaultTask(void *argument)
/* Infinite loop */
for(;;)
{
// Наш будущий код для мигания светодиодом будет здесь
// Проверяем, совершил ли ПК запись на наш диск
if (pc_wrote_file_flag == 1)
{
// Включаем светодиод (замените GPIOB и GPIO_PIN_0 на пин)
HAL_GPIO_TogglePin(GPIOB, GPIO_PIN_7);
HAL_GPIO_TogglePin(GPIOB, GPIO_PIN_14);
// Сбрасываем флаг, чтобы ждать следующей записи
pc_wrote_file_flag = 0;
}
vTaskDelay(pdMS_TO_TICKS(50));
}
/* USER CODE END StartDefaultTask */
+5
View File
@@ -113,6 +113,8 @@ const int8_t STORAGE_Inquirydata_FS[] = {/* 36 */
/* USER CODE END INQUIRY_DATA_FS */
/* USER CODE BEGIN PRIVATE_VARIABLES */
// Флаг будет взводиться в 1, когда ПК пишет данные на диск
volatile uint8_t pc_wrote_file_flag = 0;
/* USER CODE END PRIVATE_VARIABLES */
@@ -265,6 +267,9 @@ int8_t STORAGE_Write_FS(uint8_t lun, uint8_t *buf, uint32_t blk_addr, uint16_t b
UNUSED(blk_addr);
UNUSED(blk_len);
// Взводим флаг: ПК только что записал сектор (файл загружается/обновляется)
pc_wrote_file_flag = 1;
return (USBD_OK);
/* USER CODE END 7 */
}