From 25da0591b4aeb3a66127fd5944ee47cc52decd22 Mon Sep 17 00:00:00 2001 From: Razvalyaev Date: Mon, 9 Jun 2025 08:22:16 +0300 Subject: [PATCH] =?UTF-8?q?=D0=B4=D0=BE=D0=B4=D0=B5=D0=BB=D0=B0=D0=BD=20?= =?UTF-8?q?=D0=B2=D1=8B=D0=B1=D0=BE=D1=80=20=D0=BF=D0=BE=D1=82=D0=BE=D0=BA?= =?UTF-8?q?=D0=B0=20=D0=B8=D0=B7=20=D0=BC=D0=B0=D1=81=D0=BA=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit сделан вывод в внешнюю терминалку (по выбору) --- MCU_Wrapper/mcu_wrapper.c | 10 +- MCU_Wrapper/run_mex.bat | 6 +- findjobj.mltbx | Bin 0 -> 188716 bytes mcu_test_r2023.slx | Bin 64300 -> 64701 bytes mexing.m | 193 ++++++++++++++++++++++++++++++++++---- 5 files changed, 184 insertions(+), 25 deletions(-) create mode 100644 findjobj.mltbx diff --git a/MCU_Wrapper/mcu_wrapper.c b/MCU_Wrapper/mcu_wrapper.c index f7e212d..2c5b73a 100644 --- a/MCU_Wrapper/mcu_wrapper.c +++ b/MCU_Wrapper/mcu_wrapper.c @@ -58,14 +58,15 @@ void MCU_Step_Simulation(SimStruct* S, time_T time) MCU_Periph_Simulation(); // simulate peripheral - extern void upp_main(void); - upp_main(); #ifdef RUN_APP_MAIN_FUNC_THREAD ResumeThread(hmcu.hMCUThread); for (int i = DEKSTOP_CYCLES_FOR_MCU_APP; i > 0; i--) { } SuspendThread(hmcu.hMCUThread); +#else + extern void upp_main(void); + upp_main(); #endif //RUN_APP_MAIN_FUNC_THREAD MCU_writeOutputs(S); // запись портов (по факту запись в буфер. запись в порты в mdlOutputs) @@ -152,13 +153,14 @@ void SIM_Initialize_Simulation(void) #ifdef RUN_APP_MAIN_FUNC_THREAD // инициализация потока, который будет выполнять код МК hmcu.hMCUThread = (HANDLE)CreateThread(NULL, 0, MCU_App_Thread, 0, CREATE_SUSPENDED, &hmcu.idMCUThread); +#else + extern int main_init(void); + main_init(); #endif //RUN_APP_MAIN_FUNC_THREAD /* user initialization */ Initialize_Periph_Sim(); - extern int main_init(void); - main_init(); /* wrapper initialization */ hmcu.SystemClock_step = MCU_CORE_CLOCK * hmcu.SIM_Sample_Time; // set system clock step } diff --git a/MCU_Wrapper/run_mex.bat b/MCU_Wrapper/run_mex.bat index d268403..15fda3b 100644 --- a/MCU_Wrapper/run_mex.bat +++ b/MCU_Wrapper/run_mex.bat @@ -20,9 +20,7 @@ set compil_mode=%~4 set defines_USER=%defines_USER:__EQ__==% -set defines_WRAPPER=-D"STM32F103xB" -D"USE_HAL_DRIVER"^ - -D"MATLAB"^ - -D"__sizeof_ptr=8" +set defines_WRAPPER=-D"MATLAB"^ -D"__sizeof_ptr=8" :: -------------------------USERS PATHS AND CODE--------------------------- ::------------------------------------------------------------------------- @@ -135,7 +133,5 @@ echo =========================== echo MODE: %compil_mode% echo =========================== - -echo mex %output% %defines% %includes% %codes% %debug% mex %output% %defines% %includes% %codes% %debug% echo %DATE% %TIME% \ No newline at end of file diff --git a/findjobj.mltbx b/findjobj.mltbx new file mode 100644 index 0000000000000000000000000000000000000000..fda256a3915ecc1389af0c0ac0bb618d56211a58 GIT binary patch literal 188716 zcmZU(Q*Z}asv$lg8rXJN5sJ%Xl4&IQ1x^)bJ1h)u(PdA zm2=o)LI}Hk#|*0rtp$b~tsgwi+w~)DMHTTN=g4hY*Tzc$vp+u;oJ`hT30X57lHQV# zsg++&tjjOYP<<6wOAc7HqG9CBUCbs`KRZA0{85xhn7Ec#4QXC*M1d`Ob~i6bBEx@w zl@yUV6PF@rh2jYt6XLaEtlE(L{in=5PE;WJZr|g__}c~sab$TEWlIgij^6}SPHw@~ z!n(Lz_Yq>q<1-ah?z-P5wp{}I z5VI>Z;KsE+tnbk>5&4WH_nO44g~|-N4Ti&pHku$w)yk;LPKu?V*1V&ukBPXA>mFFq zuq(;W$c1_eGdCm|${()whOzw)Pyq%$V^Y3ZDs7G^PI1{v?ouCS~S?fU8p{MqpE zM(UY5nAkRsMY+qSzS>&C<)mkW+40yp*cJC&zVa;+QMqQ0j^+KVX{+{E{9oj!YkPbC z5BcZ+Hq>`LqLD8Wed&VvV_p z@?qO@2TlQ_+>N$MC)@Osuoka-)=yj-XN3^RV3Uhy1`Mi>`ebH>vX(8a?cp$`*&2s= z)U+{Z`&FT1a<2gyIY88|4qcyGJPFM|zv3^j4AK@0g|EYtuO%p*m~&l~19f&Wk(74X zMlBRti6Gk2bN-C{dg5tysHMH{3vo!hPzttHX{X=1RSY(*9bhC(Vv=7~w%A8PJfIQD z37>-_hE#61GTqbGD)>cUo9lZ-fx{f?MISRng#X|Y@N0=sih~)Hn;!(&^040`JjUO& z!~BnoTZoq{0Oubm3IovW9|>d9c59^ zYjG9l?)Xs&yBZGzuTfyjvp4X>$h6NHpPRfIhS+1py-nJInRTZtik)0%+5^0eg$8$3 z-WC15@Gg)U{|)xPNq6}0L}>hvY=-}cr}!Vz|2yI?Ru=X~Kv!oo7smfP2OONOEUfGq z{`0&1pL8gVZ?qp`LJ)QLhaBK5%O!=08rO;f)5|^rhsjP2-Ap2>5_^2z#~^oM|4Vp- z>dyIH5C18(kWe(#dyPUKX9c&w)14#0?hR2(K&h{c5w4*WayU=WYr1bukt?FkB&{0m zQu`h&Ii{t)%5D~!=2PC}%%;U_M&!Q^Z`Wlnahw<^0)7_~IybTZF;PRbKRqJjS~2ii zD>Tz#?s-iiHxND<%?w!EB?I;)*aG-s39|72H|GCff`I+c^xwey&;CD{|6gdqLH>87 zVVaRb5+n#n9UKS<_WwWfzYSvkKN_j76<;Ka@kKl8$*LU?F@Js&+04K{#xj>oeNor1jp zCI|!q+8P?Z2fL+T-ht+u+RelxsO8U5$JNNncDCPFW&jGt@ z!x|S$g~s306DnRQZ@?RH@eI9>jM&E$_F-EA|4%WWaAM))>N;~Vrg6cZSfQd%VNGJ z?7RvIUtbq$cl0EL{viHot8^>Ou0+l@bzh+Egmw(!yZD$wtY6;1!>nM>n~`>PaC|I* zR%L$CTF9d<&B8=pXLu7?9t=CFFMZO8X}eZf;VpL#9w)4Apb%Vw@Oli=;7gPHP+G0l#S7|1=olp(-z+TPkSMlD$%dztYpCK@6(jjOTauEU>KJU~kqM6$W?*BvkBPEX`1YD-W4 zSq6gNtFpAsHuis=|JsGs$F;51;tic8`KyL&F5>hjDy&uh3HEi}_$p|xLaWkDdO5$j zX6=zZ%S$UEhQTgQ)Z-reF_A-Cu*6Yq89)1Jm|L7E_*j)U{t-;RNtiOyOtSRQ@fSfq zFcE{M{3_;66-B?LljUJ`-=Zws{ zOsotX9Ne`CC+zv0S{e+zI9q%8)uO&?0A#8~&-TskiJi6OZe0860JMi(Yg=QuC)vUr%UoNH}`A^S)#|>eRrf%Y-j2rMP{l3rZEL> z|EtFwM|x=G0eWvGdvDa31_ww1#-FTV%EH;@r!N7oS22&p)L?+{$=R;kLJ}fOtAv z3FPJ~82`gnF$pRk?!)*`oodjlD$&|me!LVz>*%4no6xG5`J0sWzoX745A$hGoVzc{ zW^aqq)S0to-o~jLUVhWTFr!Z;n}kJmIwI}U)YHnQh4gZKy=f4+=eyf62%qgX_jC26 ztV)P3lrL*Kf6M+ZJs0qGTT5|c5nX>NUZ30@t&bxQ4yiU!kCjUUowTi>01N5drJYfZmY3lK~WfdJ#R6vU9Q`FVNd%}jMYuY;o2X?9^h5L+jk z*GsRdsp(czUp=>G*OotNK6vxt#8;TA;-KG6U8-{D(oJbT{(kdy;I2$d-q=tWv3KIm zjNP49_zRSH+;Ha1OpX5AwQt)TRrrd zjiK(>)Z;`A4%UhpS5}U^w8o+|UDSJ#2fwa-IOWLU?F&31n)aCg$Ud8(U*Ayu+uJ^t zeRn8g`vvBugf38@;Ut|g4BM=H%)uXDUc;eUh;tn{vYC4F)P7Blvu1g6^GXo`#z*;xwR$ZBV>!Y1Lw62l@k)@(aTJKm zl9iJ(R&^CY*TM-20~rYCp0S^{t}*Aau_t0bWpve9T$q}cthpLj^{=UkE@v0T_4VlJ zeOKljbr(0bA*wO4-M=0Bk*7s2Toya;HNi*?Na^g?1jekp0#AN)HDX0(6;v*2hjFFuAEzTeS~uDZ|z*wDaciz5-?Ci%Wmt<6g@?awOagzjhsj1^YI5B zX&pZIg&!C<`8p+!tjdGiL*LKrFJIBYY%2TP7x_^8oELuG^DEWfDXJ`XqLqLB06#0H`^#O?Vsyms9pBKr3B7akb;aT0$;K zY05r^r|&fWRpiCf0g*bbp7Vv8hJLp^G>$!DvE%+%zOtzT0ns)dk>U7Br+idCJ=5<|6UcC3@J&M65|d2u3*j``en>p$xu#4 zRUTPDM$||&M@jLgeBs>`BB&hYX8&DNYx6FN){q$#RJQ&QDQUl3(f&#;GQBJTMJ5iS zWac#`EvmJwsIk?vW&$^J0Am{CU;5bJ6(2T2m47B7fIGtk(mmq5Bq+%M=`vH13K6(0 zVe}xdz(t?&GVKpn6W}9I*%+(>B0`G8o52KentsRmhniCX)(xRdWGSU}uNL?Og4) zLa8qJHN)USs5)~IEn+$ln%AaTo2^FFJ8uxf-5y-2S{%ywAJrys$#HBZ5sjpDZiHgl zIQ5TV@yllwaBwslA#TETpru13l(1$HH7y?;ExdjS5Y~@uF5MxbX*v%}Sewaxs|o8! z!s~O!{jT5>W!ynEb+A*?eel-t7KDiE(FXjjm0?=yES?2*o0*3o;Xqr5)Os=8*`_tk z{;^p*`7{@1;VdqEm5=k|`mW#^sbpZp}}Y z5Cj??qG(NjtIq5x4!sADnmj-d-)K$l$9&tUv9O1&Ymj8IZX4uc=J^|k!{g(`%MY*T zng=xe10dQyWJf#NdAeI?*f)I;x8y0~XNOV8d+rRgC2wnaHg8$f6W_c*{fFwz_Zn5{B-oKq84K7lsrwyWcjl(HTfc>m2Uy&3QK9364ZR5ew6Q)Nd1<d3pa%Dkl@rp^@Vp9ca>TBM0R#WN?ges#ZJo!RPr;djcEodNE$z?Cxn0kQn zH!tlBwyBJLo2J}&J@%tjTd`YV#q+G`Cac-YOj{F?i9n74oP6|)S;zKCbS{|+<)E9} zxP6}PjF1`wv0Od!-_+=j^mGaW?PjHoofkr}kr(x7>)x}ZXXG%Aslaa{5DP|ZiWJ*7 z_%V93ylwycz30E~^+?G2ff}4J^Db*_yO+E{jRt&Wb57mixCQ+ePv2fnwQ!q&(@~7c z;i&Smw~;h#I})F>kUiVmFmz7na*C_vO(swZN*?1`!2Fcf#G<%lLWcIj3ZFk`9-YF; zEi+&OL0@4X?<&Ou7Rl%YeJ>0HZ;`Uh?`l)Z`L}OmC3J&gH?)i~%lj`BJx<%hQ{;cIER~+Icba#+Awe9S=GnmV0 zv;}8gZgZzWx7I>BcW{e>#=f(&QA|DZ94K$$#irwEZPZrsL{r6H(>_Fm%P4NP4-erW zk!sy96{t41`Ln3HH-mK64wCMIo-9#d`z1DG4|HYLJVdmiTWf5S*bAok#q%{fRgWg; zuSEe$Ksex8*H%CtW7I<#4n(8D#fUA&iqmtc&Y@2IbaE6Ah}SH5xa|&%p#m0FMt_Fa ziC<%YhfsBtEj2Wkv{bUsOK%$sS5+UIa%3>Z%G3E)vLF!E6 ztjeaS-b>eA25LSZO#GG|EAuZampU6&T6rBBK~PUXT|m7)UhvVyIz7JIfndexF1lw) zD6BH@?=28nnwhCQv=ND$*IfN>+F$-$I=#3jM-8~yGlP^0>c&pKxbEYe@72q#95kq% zoi$8ZL^pBl4e^Fl+dmu28|;2Vz46J}FZ|-l9cVvYnF-?W z(H|5C{%*dPMx4Ec!UxM^50LZ=AfpV4=Uyp|exxrJW0uG*pg8 zDqlB7RdE&)Ai1BhLYFfR)uX?83>h#oHF#-b<_rk(OV@ZTBFInm^-42JPg)>X9B&ZE!k%GXP0y?|(Lev^dF_^0NtM3I4kch9BdP4gF zJGBjG=)f{IC(@bRU0lxuiiJIxp<9`Iu-7sAGt5x-jQYWL*0))@io+gGsI;a)R^0g32{ZE)=_mFNXtx#FM3*=8+AG4N7jPPhEasxP7pD-ytBO z=yS7b!1#&IuR_cdE*|d{{Flld%d5RauIg`D=RUCNg@)jJQ`wHX9q+ScNWnIjKsgLn zv4$2j!>0#Q!ykKMvc0;fY)jW|Lg%^Ts4jg~W=qU~{lEg1H0;70ctSf|3Rfbz@ytE? zqMv$`CJB1a_CNPnc=N|*n_#~Xw}YAhMl)5r)p#$Sb$5|Boz_Sq)LVuDNlPu&6- z8$rA(FQ5ibw%o*V(KlkmG&)*We`&w@J5p{@<%)9|L-z))p{bc743VTDfO*p&OeRzc zVGfODLd?GGhz1j%&aNBfc3|RdZlihMbfu#k?I(1R}&ozqts`St7D?He*0wkGcI?fBm%fMKee zfURnLbrnEV1ZNlmT);f4^7x_4@$&#o_sz)|wP2YKfYICKtTOe>ETX{z7Z!PH-*GXB z;6t)d=xXHTnp9g2iDg1f5eoy88*%t5eGse@OeSPRC1CBf%p2AXraR**qB>IL4;5Wd zt+dX@@DwbDALporLm!k9BbLhr>~;r8wqm|6A*9Yc>`kyOqakB#yC*#ZGAY3=A1F-$ zL{U6kH9;p+4S$Ah;tQA3bCR1$P!i)m1CK!KQ5q#OUW4Ik3wlev4hwmt3w*7hBDV-D z*osjQip0ng1<8AXpyzX$0v2Fk56&5#cE`sDnO?1`mu&g{H|#}-a!fJ>oQL=x^%0pb zglH$C5hc%vC6|^k#HYSSJNh6AgUYy!Y|<9k=;r&T!xr!0SsoFI$1h8dWk^Y;;t^5f z<#CFhTe<-rMZrAU$r|*7LHZc!2Czsj5{Y$yAoO?(R!DgjH^K`tE6;GG7zQp?tG>-j z83_! zI}|T+kmXUEz*F-5ubo|$f;3Z}Y{5({LiUZ!&J6ij_$-VVyt5C29)$;#3Cuuhu3mhv zE_Mo?;TVdmAY`lC_GHnRElW5!)MUAM`1_CY-|Z*B5i;9X)$=^bOWQ z3*7|<7Tlo_2uKa;QZ~FTt&xnB8_zn?kg@Do1!BM~SgBTS#_=5jX$=AZg|$mB#K;Mb z2IVA>6DyYgP;gNG%KgLp%IqgF<1wMgooeEyfa@ZrTFZQs$Rk@ns*Vdl zue6!W7`JnZ8h)(z=`;$ZDlUDFa$9k8)g2N)aZTwuUmOV$>cmYo#+ojcNv&aTx*pCv zi1k>KP9Yovl9?yE3yS3I3B1|vhzq!q-j$(H1VDnYnCu;({36nIMn#g0q&Wy4Jsngc zAD<1+3gC;pjo@bf^B4x8%nDe-L?ACuGtp+{#1Si>h5H?yxzGI^t<~mDii<+w7#E?)sd?bL?`*4LAv3I~sPX3v0>fbf z0Kv%E!x_vi_zvC^qE3GD^XUx>iy2($Qy({xdw?HeB4l~vH);oWrL3!`hgeXR9ReME|7now_%hbDW#HHNRX%s)yZO@F@!PbUm-+#P znRr`}gYpKyAv;fpT@{X;T)hwEi_ghjfFWI>f2WY?m23irqlhG2MDQ)V2%?kI+Y?Fx znXI3haJUP>Ii%R!`66gwmp9fCmSM@NjKs-&uv= zfE=myzDvWAc|oF8#TL2uU(uVM(&r6m=XM}g?^im{miw)(zgmAh%-S5bKaJm59BxQp z06xUi5I3fj%g+bkojPP2$v{i}0$}%`{zg*BF+?9^F(+_a-xhj$wxt zJALj*P{QebQ69Kg9la62Ae`PQ)TG-VKZf+a(Qr+((Ya<33JY&bQx$PW^fOE^>3uyo zM{L}HXY`ToTHhF!A~Oa)Fm`jS;gT%hxl=y z3zPHMyynSyFDx;VR&QoJtlAOtOQBJF3I^rj-XR?Ro{~39 z*vb-%%b#`MWI+4OPNau`gNqC2Iz&*4l%Y=C!QAR8*>=Rpd=I5~xq+)>2*SH~ouZe( zc*MO8O2?gRtZ*2LcOP$!=12v&lXqJ2iOqy)1O4fv9JyOVJ5r=U=d9#pnER!|h0Zke z0?VoqgXW5;w1cj>BNX_P!_`R0=sJm9Vk|F|QK9Y@&oh>LFb8IEO6g-GSkKxD-;DK7 z>rAN=SwJWmFPxYf3q|G#&t7NCD*egV@Nhh68U|V*gRz~NBvCl|rV+JKLz8_1nU!Q& zK;-BG_Eo%aqXe-5bp;4me@F3NE~P`2+!Etdq>K$W$3=}dL}Fz`g9j8nh|NJsh>Iy< za6~Q|R^N}sog_~4zy0#R!F(Z;uuQ4(){nYkIe=y6IojP5eLCR?cfZ=YxyO$p3c`Qv zCZXvAt21E9L#B)^O1muCYYewg$2Qt^CVsB6jnG>m%%vgoIh054PNgyml2vr(E{+yeyOE@={cl zFMjVWIQp&PAk5!=>?T(t0G@yqPgZ|Y<+RI3EwhW=EI4pS#Ey{mpNGxs3@Ax)e#xlI zlP3yj$UsoM7rt;?ze~=ed&dgg9UA_aKy7<4FbnWOu6g?XoNatLxaUQv|NF0a8@7tD zKHUq6!e4GlUymt>Z4~JdOkh+>$EW{JZoJ^JS#V+Bp@n)NNBIy%*x{RBdu zOepUKIWKEuKvn>CdAU&N?O~Y zNE}ro1UsKal?E)QD04*o_T<5tSg{zd5CJ?`c#wFoVEo8Ia{}WP2D2qJXIB5wG+