Добавлена простенькая симуляция АЦП в сканирующем режиме.

Но надо отлаживать и сравнивать с работой реального (в плане разных режимов работы, доделать прерывания/дма, флаги и так далее)
This commit is contained in:
2025-11-09 02:06:25 +03:00
parent 61202f2a94
commit be84043f18
18 changed files with 647 additions and 181 deletions

View File

@@ -197,24 +197,24 @@ static void mdlTerminate(SimStruct* S)
//// Простая версия - ждем завершения потока
// Ждем до 5 секунд
for (int i = 0; i < 50; i++) {
// Проверяем, завершился ли поток (упрощенная проверка)
DWORD exitCode;
if (GetExitCodeThread(hmcu.hMCUThread, &exitCode) && exitCode != STILL_ACTIVE) {
break; // поток завершился
}
Sleep(100); // ждем 100ms
}
//// Даем потоку шанс завершиться нормально
//DWORD waitResult = WaitForSingleObject(hmcu.hMCUThread, 3000);
//if (waitResult == WAIT_TIMEOUT) {
// // Поток не ответил - завершаем принудительно
// TerminateThread(hmcu.hMCUThread, 0);
//// Ждем до 5 секунд
//for (int i = 0; i < 50; i++) {
// // Проверяем, завершился ли поток (упрощенная проверка)
// DWORD exitCode;
// if (GetExitCodeThread(hmcu.hMCUThread, &exitCode) && exitCode != STILL_ACTIVE) {
// break; // поток завершился
// }
// Sleep(100); // ждем 100ms
//}
// Даем потоку шанс завершиться нормально
DWORD waitResult = WaitForSingleObject(hmcu.hMCUThread, 10000);
if (waitResult == WAIT_TIMEOUT) {
// Поток не ответил - завершаем принудительно
TerminateThread(hmcu.hMCUThread, 0);
}
CloseHandle(hmcu.hMCUThread);
hmcu.hMCUThread = NULL;
}

View File

@@ -114,8 +114,7 @@ void MCU_Periph_Simulation(SimStruct* S)
{
// PERIPH SIM START
uwTick = hmcu.SystemClock / (MCU_CORE_CLOCK / 1000);
Simulate_TIMs();
Simulate_GPIO_BSRR();
Simulate_Periph_Sim();
// PERIPH SIM END
}

View File

@@ -51,11 +51,11 @@
// INPUT/OUTPUTS PARAMS START
#define IN_PORT_NUMB 2
#define ADC_PORT_1_WIDTH 6
#define IN_PORT_2_WIDTH 16
#define IN_PORT_2_WIDTH 1
#define OUT_PORT_NUMB 2
#define THYR_PORT_1_WIDTH 6
#define OUT_PORT_2_WIDTH 16
#define OUT_PORT_2_WIDTH 1
// INPUT/OUTPUTS PARAMS END
/** WRAPPER_CONF