Симуляция генерации синусоидального шим и управление по модбас
note: - модбас не моделируется, в s-function просто передаются константы режимов. - лишние файлы убраны в outdate. - два канала одной фазы переключаются немного криво: на один такт симуляции проскакивает высокий уровень предыдущего канала и только потом включается текущий канал
This commit is contained in:
		
							parent
							
								
									0958cb80c7
								
							
						
					
					
						commit
						b82faa62fe
					
				
							
								
								
									
										35
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										35
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							| @ -1,30 +1,7 @@ | ||||
| /.vs | ||||
| /.vs/slnx.sqlite | ||||
| /.vs/tasks.vs.json | ||||
| /.vs/test/v16/.suo | ||||
| /.vs/test/v16/Browse.VC.db | ||||
| /.vs/test/v16/Browse.VC.db-shm | ||||
| /.vs/test/v16/Browse.VC.db-wal | ||||
| /.vs/test/v16/Browse.VC.opendb | ||||
| /.vs/test/v16/ipch/AutoPCH/291705294dd594cc/MAIN.ipch | ||||
| /.vs/test/v16/ipch/AutoPCH/3854b8d8fc67ea4/STM32F4XX_HAL.ipch | ||||
| /.vs/test/v16/ipch/AutoPCH/3cb8fc0ec124017c/STM32F407XX_MATLAB.ipch | ||||
| /.vs/test/v16/ipch/AutoPCH/5fbc2639f7ec2c10/STM32F407XX_MATLAB.ipch | ||||
| /.vs/test/v16/ipch/AutoPCH/c31768203856fa04/STM32F407XX_MATLAB.ipch | ||||
| /.vs/test/v16/ipch/AutoPCH/f64e8f1797b0f4bf/SETJMP.ipch | ||||
| /.vs/test/v16/.suo | ||||
| /.vs/test/v16/Browse.VC.db | ||||
| /.vs/slnx.sqlite | ||||
| /.vs/test/v16/.suo | ||||
| /.vs/VSWorkspaceState.json | ||||
| /Code/.vs/Code/v16/.suo | ||||
| /Code/.vs/Code/v16/Browse.VC.db | ||||
| /Code/.vs/ProjectSettings.json | ||||
| /Code/.vs/slnx.sqlite | ||||
| /Code/.vs/VSWorkspaceState.json | ||||
| /mcu_test_r2021a.slxc | ||||
| /MCU.mexw64 | ||||
| /MCU.mexw64.pdb | ||||
| /slprj/sim/varcache/mcu_test_r2021a/checksumOfCache.mat | ||||
| /slprj/sim/varcache/mcu_test_r2021a/tmwinternal/simulink_cache.xml | ||||
| /slprj/sim/varcache/mcu_test_r2021a/varInfo.mat | ||||
| /slprj | ||||
| /Code/.vs/ | ||||
| 
 | ||||
| *.slxc | ||||
| *.mexw64 | ||||
| *.mexw64.pdb | ||||
|  | ||||
| @ -158,10 +158,10 @@ static void mdlTerminate(SimStruct *S) | ||||
| { | ||||
| 	//TerminateThread(hThread, NULL);
 | ||||
| 	//CloseHandle(hThread);
 | ||||
| 	flag_to_end = 1;					// выставляем флаг закончить код МК
 | ||||
| 	ResumeThread(hThread);				// запускаем код мк
 | ||||
| 	WaitForSingleObject(hThread, 1000);	// и ждем пока он закончиться
 | ||||
| 	SIM_deInitialize_Simulation();		// деинициализируем симуляцию
 | ||||
| 	flag_to_end = 1; | ||||
| 	ResumeThread(hThread); | ||||
| 	WaitForSingleObject(hThread, 1000); | ||||
| 	SIM_deInitialize_Simulation(); | ||||
| 	mexUnlock(); | ||||
| } | ||||
| #ifdef MATLAB_MEX_FILE    /* Is this file being compiled as a  | ||||
|  | ||||
| @ -117,10 +117,11 @@ extern double SIM_Sample_Time; // sample time | ||||
|     /**
 | ||||
|       * @brief  While statement for emulate MCU code in Simulink. | ||||
|       * @param  _expression_ - expression for while. | ||||
|       * @note   Данный while, работает как обычный, пока флаг окончания симуляции (flag_to_end) | ||||
|       *         равен нулю. Т.е. симуляция продолжается.  | ||||
|                 Когда время симуляции закончилась (флаг выставляется в 1) все while в коде МК будут пропускаться | ||||
|       *  | ||||
|       * @note   Данный while, при условии, что программа в него входит (_expression_ != 0) | ||||
|       *         сохраняет контекст программы и устанавливает таймаут (определенное кол-во циклов). | ||||
|       *         Если таймаут истекает происходит прерывание программы. И она возвращается в оболочку, | ||||
|       *         которая перейдет на следующий такт и снова попробует пройти условие. И так далее | ||||
|       *         Таким образом программа МК зависнет на этом while, но перефирия продолжит работать. | ||||
|       * | ||||
|       * @code   @ref sim_while_CODE_ to see for replace while sim_while (for debug). | ||||
|       */ | ||||
|  | ||||
Some files were not shown because too many files have changed in this diff Show More
		Loading…
	
		Reference in New Issue
	
	Block a user