Добавлена простенькая симуляция АЦП в сканирующем режиме.
Но надо отлаживать и сравнивать с работой реального (в плане разных режимов работы, доделать прерывания/дма, флаги и так далее)
This commit is contained in:
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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
|
||||
}
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user