UNIVERSIDAD DE LAS FUERZAS ARMADAS -ESPE DEPART DEPARTAMENTO AMENTO DE ELÉCTRICA ELÉCTRIC A Y ELECTRÓNICA
Asignatura: Tecnologías Tecnologías de Software para Electrónica. Docente: Ing. Ja Jaime Andrango Fecha: a!o"#$%& En conformidad al dispositi'o (ue se detalla a continuación) el estudiante de*er+ desarrollar una aplicación ,con interfa- en modo gr+fico en /a'a para (ue sea controlado desde el computador person personal) al) el cual cual tiene tiene un sistema sistema operati operati'o 'o linu0 ,de*ian ,de*ian o distri* distri*uci ucione oness deri'a deri'adas das.. Se comunican el 12 con el dispositi'o electrónico utili-ando el puerto serial ,mediante un ca*le de con' con'er ersió siónn 3S45 3S45ser serial ial. . 6a aplic aplicaci ación ón en /a'a /a'a de*e de*e cump cumpli lirr conf confor orme me las las indi indica cacio cione ness proporcionadas en clase. El dispositi'o electrónico tiene el siguiente diagrama circuital ,Figura %:
Figura 1
Funcionamiento del dispositi'o: Dispone de dos pulsadores ,S$ ! S%: al presionar so*re el pulsador S$) el u2 en'ía al 12 el mensa/e de te0to 7Alarma pulsador %89 mientras (ue si se presiona so*re S%) el mensa/e (ue se en'ía al 12 es 7Alarma 7Alarma 1ulsador 1ulsador #8. En la Figura #) se puede puede apreciar el te0to te0to reci*ido por por el 1c
desde una 'entana de terminal para comunicación serial.
Figura 2
Desde el terminal se puede controlar el encendido"apagado de los leds (ue se conectan a los pines 1D) 1D&) 1D;) ! 1D< del u2. Se controla digitando en el terminal los caracteres indicados en la Ta*la %: Tabla 1
2aracter 2omportamiento de 6eds en u2 digitado en Terminal de 12 =%= D > encendido =#= =?=
D > apagado D& > encendido
== =&= =;=
D& > apagado D; > encendido D; > apagado
=<= =@= =a=
D< > encendido D< > apagado D) D&) D;) D< > apagados todos.
El código fuente correspondiente al firmware del u2) se indica en el 6istado %.
// Listado 1
" 3BICESIDAD DE 6AS F3EAS AADAS 5ES1E DE1ATAEBT DE E6G2TI2A H E6E2TBI2A Asignatura: Tecnologías de Software para Electrónica Docente: Ing. Jaime Andrango Fecha : a!o"#$%& " include Ka'r"io.hL include Kutil"dela!.hL define clearM*it,sfr) *it ,MSFM4HTE,sfr NO PM4C,*it define setM*it,sfr) *it ,MSFM4HTE,sfr QO M4C,*it define toogleM*it,sfr) *it ,MSFM4HTE,sfr RO M4C,*it define 3SATM4A3DATE @$$ define 4A3DM1ES2A6E ,FM213 " %; " 3SATM4A3DATE 5 % int main,'oid clearM*it,DDD) DD#9 ""1D# como entrada setM*it,1TD) 1D#9 ""1D# ,acti'a pull5up clearM*it,DDD) DD?9 ""1D? como entrada setM*it,1TD) 1D?9 ""1D? ,acti'a pull5up setM*it,DDD) DD9 ""1D ,como salida) led D clearM*it,1TD) 1D9 ""led D apagado setM*it,DDD) DD&9 ""1D ,como salida) led D& clearM*it,1TD) 1D&9 ""led D& apagado setM*it,DDD) DD;9 ""1D ,como salida) led D; clearM*it,1TD) 1D;9 ""led D; apagado setM*it,DDD) DD<9 ""1D ,como salida) led D< clearM*it,1TD) 1D<9 ""led D< apagado 32S4 QO ,% KK EB Q ,% KK TEB9 "" Iniciali-a la 3SAT para en'io ! recepción. 32S2 QO ,% KK 3SE6 Q ,% KK 32S$ Q ,% KK 32S%9 "" Asincrónica) @)B)% 34U O ,4A3DM1ES2A6E LL @9 346 O 4A3DM1ES2A6E9 char mensa/e%VW O XAlarma 1ulsador %YrYnX9 char mensa/e#VW O XAlarma 1ulsador #YrYnX9 for ,99 if ,*itMisMclear,1IBD) 1D# "" Detecta presión so*re pulsador S$ Mdela!Mms,#$9 if ,*itMisMclear,1IBD) 1D# char s O mensa/e%9 while ,s ZO $
while ,, 32SA N ,% KK 3DE OO $ [9 3D O s\\9 [ loopMuntilM*itMisMset,1IBD) 1D#9 [
[ if ,*itMisMclear,1IBD) 1D? "" Detecta presión so*re pulsador S% Mdela!Mms,#$9 if ,*itMisMclear,1IBD) 1D? char s O mensa/e#9 while ,s ZO $ while ,, 32SA N ,% KK 3DE OO $ [9 3D O s\\9 [ loopMuntilM*itMisMset,1IBD) 1D?9 [ [ if , 32SA N ,% KK 2 switch ,3D case =%=: setM*it,1TD) 1D9*rea]9 "" 2aracter =%= enciende 6ed D case =#=: clearM*it,1TD) 1D9*rea]9"" 2aracter =#= apaga 6ed D case =?=: setM*it,1TD) 1D&9*rea]9 "" 2aracter =?= enciende 6ed D& case ==: clearM*it,1TD) 1D&9*rea]9"" 2aracter == apaga 6ed D& case =&=: setM*it,1TD) 1D;9*rea]9 "" 2aracter =&= enciende 6ed D; case =;=: clearM*it,1TD) 1D;9*rea]9"" 2aracter =;= apaga 6ed D; case =<=: setM*it,1TD) 1D<9*rea]9 "" 2aracter =<= enciende 6ed D< case =@=: clearM*it,1TD) 1D<9*rea]9"" 2aracter =@= apaga 6ed D< case =a=: clearM*it,1TD) 1D9 "" 2aracter =a= apaga los 6eds: D) D&) D; ! D< clearM*it,1TD) 1D&9 clearM*it,1TD) 1D;9 clearM*it,1TD) 1D<9*rea]9 [ [ [
[
6os correspondientes archi'os compilados .UE) ! .E6F) se encuentran en el aula 'irtual de la 3ni'ersidad. 6a codificación se reali-ó para el compilador a'r5gcc) ! se ha utili-ado herramientas software li*re. El u2 es un ATE^A@. Si el estudiante desea) puede acercarse a la oficina del profesor para gra*ar el firmware en el u2) para la e/ecución pr+ctica del dispositi'o electrónico) con la finalidad (ue pueda pro*ar la programación /a'a a ser desarrollada por los estudiantes.