From b3efac5a6731d01523949e04c21517993e15e263 Mon Sep 17 00:00:00 2001 From: TiagoRG Date: Fri, 26 Apr 2024 11:16:10 +0100 Subject: [PATCH] [AC2] Aula09 - Missing addicionals - Aula08 fix - pfull fix Signed-off-by: TiagoRG --- 2ano/2semestre/ac2/aula08/part2-ex2.c | 11 +-- 2ano/2semestre/ac2/aula09/AC2-P-Aula09.pdf | Bin 0 -> 100572 bytes 2ano/2semestre/ac2/aula09/part1.c | 91 +++++++++++++++++++++ 2ano/2semestre/ac2/aula09/part2-ex1.c | 21 +++++ 2ano/2semestre/ac2/aula09/part2-ex3.c | 27 ++++++ 2ano/2semestre/ac2/aula09/part2-ex5.c | 32 ++++++++ 2ano/2semestre/ac2/pfull | 19 ++++- 7 files changed, 194 insertions(+), 7 deletions(-) create mode 100644 2ano/2semestre/ac2/aula09/AC2-P-Aula09.pdf create mode 100644 2ano/2semestre/ac2/aula09/part1.c create mode 100644 2ano/2semestre/ac2/aula09/part2-ex1.c create mode 100644 2ano/2semestre/ac2/aula09/part2-ex3.c create mode 100644 2ano/2semestre/ac2/aula09/part2-ex5.c diff --git a/2ano/2semestre/ac2/aula08/part2-ex2.c b/2ano/2semestre/ac2/aula08/part2-ex2.c index b1eb9cb..33d9185 100644 --- a/2ano/2semestre/ac2/aula08/part2-ex2.c +++ b/2ano/2semestre/ac2/aula08/part2-ex2.c @@ -2,8 +2,8 @@ void _int_(8) isr_T2() { static int c = 0; - if (c++ == 6) { - IEC0bits.T2IE = 0; + if (++c == 6) { + T2CONbits.TON = 0; LATE &= 0xFFFE; c = 0; } @@ -12,7 +12,8 @@ void _int_(8) isr_T2() { void _int_(7) isr_INT1() { LATE |= 0x0001; - IEC0bits.T2IE = 1; + TMR2 = 0; + T2CONbits.TON = 1; IFS0bits.INT1IF = 0; } @@ -24,14 +25,14 @@ int main() { IPC1bits.INT1IP = 2; IEC0bits.INT1IE = 1; IFS0bits.INT1IF = 0; + INTCONbits.INT1EP = 0; IPC2bits.T2IP = 2; IFS0bits.T2IF = 0; T2CONbits.TCKPS = 7; PR2 = 39062; - TMR2 = 0; - T2CONbits.TON = 1; + IEC0bits.T2IE = 1; EnableInterrupts(); diff --git a/2ano/2semestre/ac2/aula09/AC2-P-Aula09.pdf b/2ano/2semestre/ac2/aula09/AC2-P-Aula09.pdf new file mode 100644 index 0000000000000000000000000000000000000000..d3a88b9c95f1bee96a448977471b84d89c391c49 GIT binary patch literal 100572 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

U6a?og6Y7{ZVj%{duKc1r?TO3M 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

O9*&1d|e)dYlhCD)Zl(fFBAEp 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�J271$$DcCJ~5 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

    mo!?V{dA?s4g41tW$+n6f5{=gWU_MXjQG>Xu6x zs+N|$mU&r{zyM1~FMYhd9Z8B{!?Fb`87vf;ozZI)(2<)B!vqRo;m|~%4IQwriRoaH z4kKjEL>24c9X|<(oY&>bw_&?xMG6TD0pY)^GiW?V9;L2mq@V=wLJ+hIqRN3SQ{S3g z#Y@XJu3O!CcQKLB(lQXN9;341Mm6|5vNdbKltqJd&3W~ZYF9e5H8e7o|2~{^U6MT^ z>qEB^FRRIBmgwzvy4pB=9(yE{bMt0=Hyydrm8F)Y(9*UCSX5)O^?j9c6^rDgoi4BH zUOS^h*XhpP)J)EWuSzc7BUCm`=~$EJ0*7HOLpJt-8r$)sI(L+$LMUZLe+_T-C^+h)M!@OC3&Pg)UT zpsV{@JZg~}Q?ws#TMf!lWmgR|mRUVYp)UCf7{$F1xj7OFn&TKj2T-pcoXyRg(e3PQ z+8RwaU)-T#D*Ij%kY;71t9OD+P0tXtDou1W&3M7228ppq*#Lu(ajT2J)h^Jwgd8#E zRhTILk`-KsVbs__Q^{WtM| zN~;{n!z5uvq{0K^<*0I_Bnd596k|{?he5@5M#{m1QR#rvENxkLKcO-LB?gaUX8nvz zKjy*HQ2LXQDCRXq)N-0IK!qQ=)vH?5g;5qPYtYfAjzbdB84FQ@awUtO7`=2D329nB zd9VJnCu|CI=rsGKylMWQ+1ooYx3m?$Zw6-0&I7d%4^6!(C|5{glm|CUxnZQk;rN-g zSK20KjMUd%ah2@d`+fNuDO2r8(gySiiMq$zL_ks5MTN6>I>&0IQuusmi8PfIeHf## zM_Nhe7)I?d#U+GwWITKq?eU_5{UOSXx?ipc4PMYPE*&w W%SQW+!cDq}rYqIhv+ zb+IM;`RcLx+`2WG9LYW8lslw!f^^b2dWp1rMj2D&om`q@wUTODyhJ`j#aX=>YD#6D zzlz%-B8Ac;Fgw-mmDn7|JF{=*P+s_)&>CTGw4c7kHAO?l;0m#(&B>MNiL@OhWvd1R zi{rj~@td%7eFz?|%h?o~Jp-cWzvO*4QaDh^DPd zG}#NtV>aJKT(k2EW=Ru!kGDVpZ(B>@6=NKiW1v%*xa%vd#X>Rp&okIkl31r+Z>cMi z&s>$rih@kgj_G;SI)LIQo(&-pStlU(m`8UxdGVrTiDYy#<=8xyknw_=V->G7Od53P zpCa!yJ8pVL95$A5XZ%B=A_C~hSS(T$CW_i>`hj%#JoD&S1u=D_m88W7sHErnR1hWU z>e;KKm9b@3&EZUOm3HRs4D=;U8-%LpeN79_g_hiJsI>f~y_srU6u-UtWhBy?1qoq5BuW8x`YRm*BzUXSQv@h@lt@Hzfumg`H|9?vr4dz9d zou_BNU0o1|edOA}yG@sv*w>21f<3g%Q-Gg;!t=yBpzZ%Z(7X`d`~4Jdj-D@qhIIO3W}-ugO9SB}T=C zO1T6v0L4^D5d3C29-vWdJ?uQ8Q}2t2wyd1yM4TT=dT~Q4)!&$l9IiIG zj$V_G$oqxY`o5YBT`rG@<-vP}>DEUr+fpx2S`CT&owp$xx@l_l?yBRQ!?y-ApMRow z-0H0eo6|}U@VS^SW0Hn`m@}2mTwhoU1t#@6=}=_uf_O+Isub~Iagch*J8_V_M--?L zi4N^yd_{cGydijEgUI?MLi$zgw59z(cxG?PurChwIC}yB4G3$?s!TMyCX+{VG@GUS zvkyYoVP_fSDbz#qmmx!G5gnt!_V8~AzP>m7PefNdZEqX9SAi>2J znBHEznf|Ws#K^StYE;N27KQBl_&=jas5$53#f(f#k_2q|aoA!|F%<6*x3W`AXvoUy z70kMXiRwdCl<+`ytl@nx;x!SZPO!5R8ODes9N_n9pGZhi(y;_>hfZlpTK5ER-6N2( zxZ&(}CVTOR)Z8lWP^kW?NCHH2{>TZ7||HR4B#O&7v!QkIgB zb+PxLq~ov$mzJn~Q`?VMD_iGP<%3ovr^s#FBv%?{4uaW}D86P`Kvh&SYF4D*id7Yi z4M%D0LLlAuAH`t!5T?VG@NXgfVlnc`qc!)-n6Yv?P#9^K5CR<5qX(uDU+G;s0;BiX!#@bv25*J1>A1df! z6#_VZwNa*e-nQ&px*P&2QYli2qh1|ccgBW?c|V$jeyGuATQx_zv#~X;cEfXQcx$)! zA(Cp{Y#oiHg@&nB#w4lM&m(}V?C?JAgzjvY=lApUWbS6WjjpcSN_A%Wk==(k`yv+c z`Y9&6G}66oa1;AHA*5;rXv8*0H5l|262Tz!5kVMVLt}dapKD9x(T_CMdYc@<0*Q&_ zbS!5)PP@Yx%C3v9AC4c zs!5dBsj*|S(exRg4R)C+T&w8#85vtTpT?ecBF7+Q;&z2Y@hC9TY316Ca-KUD*`6FO;$aF>*$Wv}SxL$bOz83&crO6or2p-j|m zIbv#kGJ2-|%_jK=BCz1;^K*1@Al&T7;;Ou4Aa*adx;fdB-UnI@;XGxTx1S zeXcm-b!Tq@|M3ZiEs^0kJ~j@f6wDlHqge@R%C2t81>{`#nxu0jWE-qe zlHvdf3^MJWm)yTPhf+-sEE|rWM@QRR8!;7<*jcZ<;uyh|oW0XrReOSHk0=i(I zwnj>mELX2rG;Aw0lb6~E(NrT1nmi};Y;^Za8 z$^7KYQ21Q>Wi7#6O_cO~H~|#19a;EAs+sQkdkd1bc;c}Cwz93pLI(X3kIpDo9taxe zd^20g@z?V-mN`^WQhyr{gdIH%RZWjZF;2&(wlzM)iti^FcbH!)G>{C{orHZ+x#-&P z9p9iOg1tO>yNc8mn*3ekreq>d(ZEIf*ZLtC6($LYhw|{G#rL?3XoB8~#gb8lE{EQ{ z3t-vZ22dwd&Nz>q2LWUgAo)%GW%tbJ?fX!t!Kg(5{&7B{XBg<9-}-T}MA>VMur5Z8 zIY#f{h&5tw>H6Y_7@LS<@1)$v)Ed;Z6vdhb3gVeRv1j|@p`&TAM^6OKf!`aq$L=N8 z)yEF$xEWalJtx>X|CX%~pE2v2H6>`=h6wNTZvR()TVg3JBbQD#1)VbX|^cBtUj zlONb&`Z8KU)>2nss9`y)D)ULnEi|laDIV67gb*&@8XD( zRh~>N*hA=&ELc=J+QG~2UOK17Cd}0xuz_D*uj_~!OS3tKu1|@LYWpdS#Nx!^fb5IW zI|gGi)n`(K9>meG9?%)#3?L+EozZJ?i7v_YOQa>p&hxXV&V0r7>ghfHdR0Em;__?H z!r?2mtbQI8_qes+1ss0SIvnq3j+QBj=fv;e69nVB6+Bfy$0JY2$`q+t>F_nprzf2! z&+8q|w@1-^o<35pnAm3Y2HucyZoK8YA2t=F@7l% zT0U%HqaI{yv}=g_c7!)x1H+ABgW=A^B*DKXK!(N@8a@jj-?k()YKJj& zP0a)P6pqaNxR-bgwu0;JdpM*+(qe`E)1bG)e0-98s@ASph|I!N`nSiR``|JuDbDxl z0S3kIr~G+JDM+pJezKR!C^3`MPM2++^L!9+Vi`7ZCgJgzw+8-b8lL-;>0X8{~Zu2MVHrS!%v9piJ7U&X38?qYAFxZOchH zYJ@u+*^N6nv=hM{mp19l;~9zWL^hd=^!EDhE1EfQUJ2_bX06IsI)IOGp4uJ>I zR)!!CN;)kVX#P%}(VIr}>Bjc$r@%?Q=yST9OSLspIPSsTe;;MvR~|@&sY+6dS!H&) z^2y|sxg9q<7a!~|8d929b7JH!$}TCkel_)m4?56WniczT;n!0JB-#M3Nl;wm3YL}X z)(vORqM_C75|%^_cq~ZktDNH&saN$Y+t(;3z6sZLT%eS%23vRhym@w9LL*O914o&+6-LW^JmgXm{5bJ;oBb zV-mj0yPPDv-Y+5#YEh6f@zfb+tp`u~HTHn#V<1Pcql?Ki{MFxmk!q3=j1;3eVB2Y_ zql%#LyUO|({NME-G^^*Nt-gx%hRcj6FjQCYtQw^*57yL%4%{veMw1^a>SgT{kI1BR zrTa|JE60}nqr41yuYqV66^{5TRb{wE9NBG1fesyzW{>p%jGgb+y%M@0avde^*Hdg_ zDr^n|s>*C`X%jKH=-eM+92Jbdn@dbSYz+QTY?DpRtRA?rVe2Lu*lo@qTy-GA9mhg< zhV1K*#6-w2Rn=AJ)EUA1FZvC+aSNuk5(-}5pj}g7BVkox^guU)<-zR z&S4tkFr9G`U@`fFING zmH^QRv=@cIfj9l$?fZ`#vOi>|(2KP37_%pF6v+!!Jy;LE8*=`NQm1a0=d) zdL1_f*8vU>0y_%ixEPbC0WfHGtUC#2>c~jU9Ou@lBn(4fmixY5kKnKZi{mtSjo3luld8p^#L! zxz{%08e{23h}jI1Ls_GIxYJ*iySN2#YVB1rc8k|a^^`T{s~4zU7vch=ZcpH$Qqz=6oj@z!OC8FBYu=k@WxT{HzkenEIV{b4uz>EL4BD_P4=5sJg-vnZFS z%x*0+*tDjmtz1B!J={8ocqzHc7PZzkSZrAz^0Yve1d@{G--O2f`?%ya&S|5FM*kW0 zT+vYdDH(H)hS5%D<78LE2M6DVT}uGBXq-W1(zks$CE&ML;!NnMvY7N`qmAkCx=&$j zuf*aaj`FJ>^`OD} za@P|Gf6=T;RJmMhrXRX87fKYd+A(70ezMtGd>ws?%NDo3ZlaJr$IPlBv(z;hOPpW2 zF`)Ch4>kg@tL-wG8n`LgxH#-|W@frzGV8Q3Cr3@BG1c5{ma?&?mVEzghaEB55iv>L zmnQ((FlEVD));5GcWG8ApJvcbk3zc<8r6k2j@LkR7}$eG^W=+N(BZ&QYjrA?=6H2= zb~Ey@d^q3eMenv@EHk7gYiz_(=k|Kn8fjwTrXwaW*e!IdSif$+vxfauLae9Hg(^M~ z<@gi;Q#IU_fFLl-Hqj;-XC5^Q)E;V{x6f_F*Spnc+j>xxBDBk~UI0ZXe9TU6F64`ubr;<#^Iw6`7->j#eV~&>W$5U`cH!lT3@ZsAK`X}nDHG9AcqL&}7J+OZGu=?t4kEJ@6Qj1&Z&RA2!;i^0Fu^NT1 zw_NE?SX;pN;!E%%8^z5!7YTJqc?y@JRFRDaCJK`eW(+0io1!b-ARx^7$ekF6gp`zc zJ)A9(#HuLS!#j6hK$EZ_0A^M-8*N*mzw|JIqCYqa3*Hve*xcv5_O+|JbKJxs| zO*@kMm}|XRvmi=hT$@qFg`;&F^oOL8xux;AHS=8e=eF~NcuC6Z0UM`e)+p)REsT#+ z3n4H2LPt+b1cnW{le$4x&15PW18D}T@gLztby{=XEXrU;n$Yd@6dZm-FAr~z$sp)$ z+P7wvnj?4)fAgM0dUB3#`;sQ!^TPaghFrwzL&NMZkEs*WD-Y?jr=hjw2=|rkUvO_4&|c|&HR{UkIr_nM zfv+Y1et=RpU%&R;0HZayerUW|a=x3>`vd)3A6I;C?iYC8Fp$`}06z7Q@ij*Lp(1=? zw2rYRP-{jeDV+8v*sq8ATmK2-C3!wn59>se&PQm{ACG~=?2V-xSswe>gb_AAR+sHn zJ+mF_U)^i_`ZknTqraIwYy*ft$7&-INo>qAJ8$zkvt3Ri!)Q-|sYC&f!pvoQ$lvU| zaJlT*zs~$c3`<~pzxj$VU3}`gb9ng}3e40cW?%;~xjk*$1(i7t?!`6_B(f1H1e1H1P~z*@vw)9t-ZOQR726=o?fuCGR@!3&a@|byKTz#*B>KN zw6_GT+0dTn$1?za`l2qlN!qoD;co~Cg8vNY`r)XHo(i2?)uKvqXmIz1kJg z5$n^Z$%5Fs8fi}9-hL28Q0s8-pb=BY&ImLCwv03x>FH<-Y5kS=emP)~K~CVKc_yP% zVRDL1vchF#>BTyU2q`p4BYFp(3E_X$sGCkyZM68k=J<$XWPI$jTzr$e(-D0f4{?Tu z^0T@G*xtLZ^;ML>2A_|{bmAtB4T}=cYKg!~^F8uY#q6Uobs@(JnQ$BAA<9yCgP+zW zA{Lw~-?Bel_Td|-9()3q5|}`u%|1nVJK-s4wq+VbFqj#@o*Z8Vh6>N2x$1P1dWkzC zGP5m|sG;zBY3y7cE5}Y7{Wx}?T?aZs9@(_}&Ph|4!#wE;1AIdN7AVfTyN}%dq=PKp z0{)!(+ngKBUGt7JL4>AIJ-Eqxvj z6Z04jLddg7)gUXA?k7BfPkbB(d}?nVetJ^Bd@@?nQE};cE|_l<^W) z=BamWx@*)I2-bqI%)_W;7`*iJRdwY={cbY`?4F(`{x{N`_^OP-@lS$>=>m6u^~exc z$L=3@_yd^xWcV&vQT(pYkZl3cgM{Mlcxzct0VB34-FU$P|2I%b;cO~8=Nu?+x-p!} z?>>K6>?#YZ?C{7oLCH~QU8Q+6TCn~)Mn#8cS&JCOvZJXxMhj`dVuAPlm+6s5Gcs`x z#u80r({Osr5{nK)*Cb|2g30o2EY#FYy0MtpmsL?L*;j7vri0bqV}}V=?R2ulEi1Cz zG@Idl{z$7rD>IKA2b?L@X*+sijf^kv+-Y6D2v4elY4OZDT;AVr$N9t31Uh#?UFx%i zSZ3hXSAFwEz(X(d_@Bo!LlIlfahRgtDT7}+g71q224&r`+?($7$r7(v9iH1-(2bKu zk}f?XH)<_~wvH~^vE`<23#->;=^oZLFT2wxA~9H-3Oa4ivbK{BBDtOI@VYI}p`)E$ z?jPZqR2!G9S3cQU=`B&+0~dNR0}&WM;c+w`&`iu?xxj|5(43>N6UnN@M2i5Mb`ha8 zTZ|w7M(YCVWc@e#-j+j-dvW*dFevy5ZdQ9?kLI5x{&*`{F&JctrCA1V5yd-A|Gaq@|`3m3*6q z0G?S-*5xdw8;CDvc63{7+R&;XUWa&|oCS~*36BLdK_0~csJXP$(Wy^{Mg>a#OKVR8 z59QZ&Au$vpBxP(_irHrjGxmKcvX^3*!7vPCY>|B{B8rsClF}keC6%(2EfQK#sFbZm z2q|H{XGWXx|K9ig-rqOO{oUu>v)yyfy))09nRA5eWwPbb2j(h0+9SMO(#iw|_MCp8 z^%57Zp^@6QdC@k&M`cEEk#muAMzAucKiC(2&-r-cjFPqtOwW1LdL91#w?e%qFuh2JFAd*&2C@gTr^=m=hx4Sl*&zG$4&qvhq96v%1N>hf z9$gHXbR1l}XVOA#ZTB^SawGmYXC0d{KNW9}u?H0u6>T;e5nF4tLvu{hYDuzdTy`gh7-(}8-9bplqlBZ-j`-01hgmu4@`z7LLW%T0LLBTyDf zhmW7tE_D@ZOBoBa$yV2l@7)=G!Q(X{%>|Q+ity*ibsKjLP}q4oDRC0l7jFc9D4MSM zt_SB8oVRQBTxhNc0S1kjZ<~Z1Q4_7wF&iJ%iq+Jy-E}M#T6N}L=6RD@NQS1C`}K=e zAp%i&11S+Gf7)Ao9q|GGkRH!xP!M-^v3Xw|Z?Tkie}m||qMl<8?e4r;7C5t=*Mrb} zky}UCbRyI47m8^XfCtxv`KRxHChEJ*@zcaNlhF&=``RPD-==j7@BhrOYBE1ooG|$w zPe^gtaf~mnr_}j8sOmQ1gWx7vQ9mK!k*I}HiMyhe8a?Z~;otm}_C}m_kp@%hw0*YVC;$9!PT#?j5Kd3sDK% z7?wyxRgLrwPldJ5=2oTLy8;THlo*v$&mF1Tw-|{eHfWiCV|*DQYgv)SI(1Xeeig=V z96j&c@gwp`_I5pyf*L*Q{8YW3fSw!c1X*4bdb6#xjvkJejQb;FgLKTO&#wlet0&Phyh3l?*# zeZq^|kLV+ur!;(UM&69>CtZR^&% z7>PRM{G~igOC`mOoq|$AHFC`vc28PI&tK-4i?Gd~Ko4Zz&n&2%XetPf^Nzm~_c7ky zSS;yPRuCUm^s|VsXvsN5oIUReo^BqoWKF?)kh|tRvVF0;c$`JV4!_ELY(He$YV$5+ zoaaYeRa`JnsqibgKDm864(ytiev-G&bMwo?H}l3uF`j8)r##_i+o8*#`aB)|#hTrN z&bthY6jD;OlT3I*x$_z2;j*cE8=FtZh)9_TDwFrBg^}%ZLS6UnQm{{+IFghYH!AgG zzPO)EKQLGjQ_E;OZGZUeTq*aI>>Zgn#=*Q@1*eiHHhq})&dabO2%1ZOkl?$sxlPVx z_}pZqKuySqR?NDIR6$)H>9|M^n}%i$hH%uZ%!2q1xxCLtd`z&Q?l*xqYt?QoZjNz` z>srmdSgIo!e`jfgIlNdI6CvQUgjlo69n`|WUi9${7kpIOd6%&xMYDtV8EI0 zmG@{gFkSCAW=9h%*ZF{$ljj+D%{9_-(+YQZy;EFyAj7poqhs})#to{7hNVzF3*#Re z74=m~d@&NbQkGrZu?J0A9}-0{oZ@$^nc z8ck}BZlrn0`Ki6+qUyUVUSpWKQt8c&3%#!=zDE`p?d@5a>i`b>ldAMzmOnMMH@Dtx zv|SG<-AQJq4*+rvu<{&00eT>7z*6(8>?skll2AJt!pRh&7$$W5?|LmnBbGzbzUzuF+VY}JSXvXP9mvuc3b{9Ddu(Z_Zl%CDDc~d zQ$GybyLi@tx}SA*`9FqS+|gp*u4n~?Ly=a-mu;e26mJ!ZdR!P$y1051=@Rz)n%kE` zKw53k2YM@L(&PTG_$zR9sC^6mg8;MA!P?pNm{wzXEhWxBOOM&=6d?CNG53{Eo2J#IrRhp$i z0w4iP*@Kr?lx5YD4Ov+@mRVo;?^GOr)f@h&R2=`D8yJp7FUt*VALd~3Uc$L*k2mBc zP+Q&L)4ff~nVyBZTMBbd5kb727Gf{^19i3$n!Cl1*~mWaYAZB0QPh19M@Oi}6B{QctH?6R%)Po-nMvjlo{>Vyt@-$yxrqeRbw)5eY zi~`+Q1#FXHBCna~-9t%IS0AKx8mN5^UTY!R)+#TOF)DNDRdnYQd_wJJ?MX{x3B&h? z^uKT>dzKdOvPC1>E3%VT>8aP zP^bdBXQ=cB^>hTI&h6tvYl`Nlit`u!j|)^p&1Ij`KDj&M_@;`Z@FG#GWF@|qlc2oe z-Kxh?L#7rN`haA<>xOhfcRy96dT9=6A5wJt5a1;ec*v_r{bK$zXiF5lkoXLB_*}8^ zVI_Rap_V+=A6)in^xO19rVT%S|M2|Do#`ESj(>L91`Bx_5Om^a_p_8dqoZMVVgOCV5GRn|mHtk<`wC z_$-1xS9hwe3aKp7?&7!Ty>Z>K?5EmUn5fl>2TvARnwf=ad%cpFc6*j^H7_nR51Da> zGUR=0QG(Vhn>FKvwR#;m`Nj)^t=?s~C>UFRo%8x*vv(tjEu{68_4WE2Iwtr%txzwH za+>b*9Nw&k>laBb+a45_s+7I@sq?BekKd3MK^jWeU~MzV+ec6{!DsN^Cic#+PnP(u zfgR_GeFNi{ajBNS0KehlqNEd>SsHva(`&e_{Zh})`uj;Wu_BUpx`T|6N<_2A`XQ2E zk^V-lt_9%^jspCtL)G4NMs4`Xsw=Hu9*;mIG-|AQurj=+T%1+{4z+8_I>t7wuHYXn zxH4p+BBs7QObE&|I=cULNt9?Myg1Rp{OsOot&wK$ZLWFk8gI!xUF||o>-&hV>ovF4 zyssbhab5o;FE&=pCCa&$9>F6%eWKcKa%RxE&iH$}T<1A$*ilbe$F^LP65&?SK77!p z&#&+rH^m+jPKN}14Z5*0G(Wzs^Kmhy#jO0MX~(z5=j-ZhGv0iV@DDsvyrAPWSZx=* z#y>!nm;MIRA#_IOf>?&@MDC=zlPJ`>YJzJ+hqwl&cyqegzT?G;ru`>EgSI@H#*{p6 zZrApH@tmM^cA(r@r0^kT(5J0;k4_LG*KHwpIF|FyAytts+vm2K==^|DuR)U&3q3O_ z{tk;5`Y&eV9nNd^`z!jBZ#rF8GL0E*pr)8S>m#h&+R0#to})EIp2$osamzi{6VRSlOYmZ z(>Lv3<4eD_WJEL@4@5jM3;C{3r{=wH!75}&WroD$1d1)DmuqaAzjc{7@|hM|s)qM& zP35mo@EAU`Tl-y3$@5B^sou2*EPB6P3LoRCP7n`~%Q`c?XVa(QbCqCCQ|Bz z!?oLjTU-WCi__h6n=bUwvoPr9&~SMt|bG`1ia z@y#(6o>SpL<+ndkgeOy7gMF19+G94#Zm->$_trg*`_7Iur7Kq;c9A&{t<1g0rW!or ztBf`%8uM6jts+U@s*RA)fZyziQ10Qg2dY)L2{;+X%1(((N)e0(OmlK{jy;o?g@<2CIv`*GnSiJXD<2jRxvErt;X=S~~1ZqW7 zwjLC4isndj?YiCA_+7e7{?^RU3;dBEmqp^&Zs+^hv4##V>4?wt^5s8Xuw@6&$#k0j zl#itNOl4=`*4jxQdgNvYPa8GIl*HLt7q{xfMic7gnTWED)Y$&oU6QL!zoc#$L8P}u zlRk58!3YUF`1-gZAobgJ;)`VOm-dx8^n!#ZAKdLkkF1^2yK(p2(JiNpFE#}_c3&SU zx>M3pF}>r>N4c?A+7pviMxFx>(^P^Vz9zo0i$h#R^eC_g{AOj(Chg0( zKlawd*qEhx_2_znvn=f}hr-e_FkxdwI@2l?}^$tAR=n za8ERPEHb^S2{(V__)xmthSc%}smIrb^M)LG`4e61oaZn&O zyxk-KRr+4}+(4yh=&@^i?ZzpNg5)$(^JK_2jS#B&kq;rn);qp3($*2xyxbsH;1`9+ zSJ6r(3pcL6s2|!|G8L5 zzE1za(T2vux4_uX-6c1qE`%9}HyUKPpWN}c%w4VfWyb`jzwtGKU7!^g=^(?wLxVCIg zM=T;nLDDxU#+`fb7opQ9(~4-Hh!n01 z++iSNTr2LN$YD5*N_loQ{(axh9S3m2g`+|rE?=#&d%9=d)N;IfCfE*BIvRBKx~w() zu`36<>B4MV?L_kcKEB~_Oke+P`62!1cA@Ir#hR8i`xcKfvOgBjRtAH<%ua)R?u5;b zzOZXx2u0_P1pDH|Fn^(UR55ix@ z><;qn$5uXaxZo^U&UyaixBTW>pPiKL*RLp-=7|gy;2lGIOByz}rl7AR-yB1cb!=yH z8O8?&B~!gWB&5A+SuMU$$fuB@2JM-gj@T+*Ms1E1I&64(e&$2{;pyvfU)yO8~L zo$*Dj=R#i%=CUpP#K+iO@q_9qbLw`3lC1l|GG!%^_;Wo4fksaRe5<3+7D&-P588gh z?|0mj=rHDV7;No#`e9MP!h8Me9K{XZV`pN^M9RBd32U*l7t&u~LE8isjeScd)^t1) zc`iCWUd5{?wH2EfK_H|&=Y&JtpHj->ajVTu>npt_N}Nj8(frL*q~%H#nlj!GyxLn1 zYgIr{FHODNNyh(JhE6IcGi&q%0s!;%wiFgHjlm*nn zPmknDHa{0>F|+bXVW4Z}^iTaD`X!q|^P>A&}tUVAWuRDwXB|fnl*&2ow&1 z!&Lwbm4HxRIw3^GH$WDU$5Mps@SDsxK$WGFsvFe@LUw?_RH2Yxf|$38G_oI^O!Wmb z1ruDUfpol#%ugse1*pNmdfdRXyB9^56gtO58+u0NREG+)@{C#|w(a6M8*QWvniAcV56Ma1JeFid7 z9R8YJ_I_jV*LDo<0_yg64jR(C_qdBgLE>TLegZd1|150sY4+% z<5HbM@b$negs2cn?u0-JT|rYv53XXVq7z6VK(R~qqmY5HVulfm7V?K5&~szDl1f`* zX-)F~#aq*hLSUn2jWVf!(*S+qpEdIz>c__Qw@%AA{X^8VK)_xA*d6kFr_ls~|DPWJ ze~kWYuOwe!PYq^no2 zhNU2l*&{I#>x53uh~7*-7f97isP0eCRrzEhrq(% z?EDaFNT4p>av2B=7PSHogIHlx1RAqKX9OCKV7D^@g&Nt{)P*QfDL@i)Qx+ z0tG{^&<~43v)d1WM6B>75JM|`1OxIsudo3YjbXPb0=d$^z?&=P@%=I%!BM~tzy?DA zNvK!Y1qe!Z8vwM375uPB%nDkp+DaQBf#_h93&$d{EA0YXv9=JvJlNL}AQi*T4}}31 zFq;fC6fiV941qy z@pY$y0R_OjflpZU!FzFVm?0F3(1ok%Akhe@4gwC-*TJFyQ(z4-dcf|b`R_6Ifq-I% X0dxY5&f1&-@4?hS^700|3_ + +#define SAMPLES 4 + +volatile int voltage = 0; + +const unsigned int dis7Scodes[] = {0x3F, 0x06, 0x5B, 0x4F, 0x66, 0x6D, + 0xFD, 0x07, 0x7F, 0x6F, 0x77, 0xFC, + 0x39, 0x5E, 0xF9, 0xF1}; + +typedef enum { HIGH, LOW } display; + +void send2displays(unsigned char value) { + static display flag = LOW; + value = ((value / 10) << 4) + (value % 10); + unsigned char high = dis7Scodes[value >> 4]; + unsigned char low = dis7Scodes[value & 0x0F]; + + if (flag == HIGH) { + LATD = (LATD & 0xFF9F) | 0x0040; + LATB = (LATB & 0x80FF) | high << 8; + flag = LOW; + } else { + LATD = (LATD & 0xFF9F) | 0x0020; + LATB = (LATB & 0x80FF) | low << 8; + flag = HIGH; + } +} + +void _int_(4) isr_T1(void) { + AD1CON1bits.ASAM = 1; + IFS0bits.T1IF = 0; +} + +void _int_(12) isr_T3(void) { + send2displays(voltage); + IFS0bits.T3IF = 0; +} + +void _int_(27) isr_adc(void) { + int *p = (int *)(&ADC1BUF0); + int media = 0; + for (; p <= (int *)(&ADC1BUFF); p++) + media += *p; + media /= SAMPLES; + voltage = (media * 33 + 511) / 1023; + IFS1bits.AD1IF = 0; +} + +int main() { + TRISB &= 0x80FF; + TRISD &= 0xFF9F; + + TRISBbits.TRISB4 = 1; + AD1PCFGbits.PCFG4 = 0; + AD1CON1bits.SSRC = 7; + AD1CON1bits.CLRASAM = 1; + AD1CON3bits.SAMC = 16; + AD1CON2bits.SMPI = SAMPLES - 1; + AD1CHSbits.CH0SA = 4; + AD1CON1bits.ON = 1; + + IPC6bits.AD1IP = 2; + IFS1bits.AD1IF = 0; + IEC1bits.AD1IE = 1; + + // Configure Timer T1 with 5Hz frequency + T1CONbits.TCKPS = 2; + PR1 = 62499; + TMR1 = 0; + T1CONbits.TON = 1; + + // Configure Timer T3 with 100Hz frequency + T3CONbits.TCKPS = 2; + PR3 = 49999; + TMR3 = 0; + T3CONbits.TON = 1; + + IPC1bits.T1IP = 2; + IFS0bits.T1IF = 0; + IEC0bits.T1IE = 1; + + IPC3bits.T3IP = 2; + IFS0bits.T3IF = 0; + IEC0bits.T3IE = 1; + + EnableInterrupts(); + while (1); + + return 0; +} diff --git a/2ano/2semestre/ac2/aula09/part2-ex1.c b/2ano/2semestre/ac2/aula09/part2-ex1.c new file mode 100644 index 0000000..51a2fb0 --- /dev/null +++ b/2ano/2semestre/ac2/aula09/part2-ex1.c @@ -0,0 +1,21 @@ +#include + +int main() { + T3CONbits.TCKPS = 2; + PR3 = 49999; + TMR3 = 0; + T3CONbits.TON = 1; + + // tON = 0.25 * (1 / 100) = 2.5ms + // fOutPreScaler = 20MHz / 4 = 5MHz + // tOutPreScaler = 1 / 5MHz = 200ns + // OC1RS = (2.5 * 10^-3) / (200 * 10^-9) = 12500 + OC1CONbits.OCM = 6; + OC1CONbits.OCTSEL = 1; + OC1RS = 12500; + OC1CONbits.ON = 1; + + while (1); + + return 0; +} diff --git a/2ano/2semestre/ac2/aula09/part2-ex3.c b/2ano/2semestre/ac2/aula09/part2-ex3.c new file mode 100644 index 0000000..020210d --- /dev/null +++ b/2ano/2semestre/ac2/aula09/part2-ex3.c @@ -0,0 +1,27 @@ +#include + +void setPWM(unsigned int dutyCycle) { + if (dutyCycle < 0 || dutyCycle > 100) + return; + OC1RS = ((PR3 + 1) * dutyCycle) / 100; +} + +int main() { + T3CONbits.TCKPS = 2; + PR3 = 49999; + TMR3 = 0; + T3CONbits.TON = 1; + + // tON = 0.25 * (1 / 100) = 2.5ms + // fOutPreScaler = 20MHz / 4 = 5MHz + // tOutPreScaler = 1 / 5MHz = 200ns + // OC1RS = (2.5 * 10^-3) / (200 * 10^-9) = 12500 + OC1CONbits.OCM = 6; + OC1CONbits.OCTSEL = 1; + OC1RS = 12500; + OC1CONbits.ON = 1; + + while (1) setPWM(80); + + return 0; +} diff --git a/2ano/2semestre/ac2/aula09/part2-ex5.c b/2ano/2semestre/ac2/aula09/part2-ex5.c new file mode 100644 index 0000000..741af24 --- /dev/null +++ b/2ano/2semestre/ac2/aula09/part2-ex5.c @@ -0,0 +1,32 @@ +#include + +void setPWM(unsigned int dutyCycle) { + if (dutyCycle < 0 || dutyCycle > 100) + return; + OC1RS = ((PR3 + 1) * dutyCycle) / 100; +} + +int main() { + T3CONbits.TCKPS = 2; + PR3 = 49999; + TMR3 = 0; + T3CONbits.TON = 1; + + // tON = 0.25 * (1 / 100) = 2.5ms + // fOutPreScaler = 20MHz / 4 = 5MHz + // tOutPreScaler = 1 / 5MHz = 200ns + // OC1RS = (2.5 * 10^-3) / (200 * 10^-9) = 12500 + OC1CONbits.OCM = 6; + OC1CONbits.OCTSEL = 1; + OC1RS = 12500; + OC1CONbits.ON = 1; + + TRISC &= 0xBFFF; + + while (1) { + setPWM(10); + LATC = (LATC & 0xBFFF) | (PORTD & 0x0001) << 14; + } + + return 0; +} diff --git a/2ano/2semestre/ac2/pfull b/2ano/2semestre/ac2/pfull index 4af26e8..e6281b1 100755 --- a/2ano/2semestre/ac2/pfull +++ b/2ano/2semestre/ac2/pfull @@ -1,19 +1,34 @@ #!/bin/bash +# Validate arguments if [ "$#" -ne 1 ]; then echo "Usage: $0 " exit fi + +# Parse arguments file=${1##*/} dir=${1%/*} filename="${file%.*}" -cd "$dir" || exit + +# Go to source directory +if [ -d "$dir" ]; then + cd "$dir" || exit +fi + +# Compile and clean up pcompile "$file" || exit for f in *; do if [[ "$f" =~ ^.+\.(o|elf|map|sym)$ ]]; then rm "$f" fi done + +# Program and open terminal ldpic32 "$filename.hex" || exit pterm || exit -cd "$OLDPWD" || exit + +# Go back to original directory +if [ -d "$dir" ]; then + cd - || exit +fi