• No se han encontrado resultados

PIC18 Serie K

ANEXO B C Ó DIG O S FUENTE

C ó dig o fue nte princ ipa l pa ra pro ba r c o ne xió n e ntre pic 18F4550 y ENC 28J60

/ *************************************************************************************************** * Pro g ra ma d ise ña d o p a ra p ro b a r la c o ne xió n e ntre e l PIC 18F4550 y e l ENC 28J60. * * La d ire c c ió n IP a sig na d a p a ra e sta p rue b a e s la 192.168.1.118. * * En c ua lq uie r na ve g a d o r w e b , se d e b e p o ne r d ic ha IP y d e b e a p a re c e r e l me nsa je : * * "Te st C o ne xió n PIC18F4550 y ENC28J60 By Oc ta vio Ib a rra IPN ESIME - 2012 9CV11" * ****************************************************************************************************/ # inc lud e <18F4550.h>

# fuse s XTPLL,MC LR,NO WDT,NO PRO TEC T,NO LVP,NO DEBUG ,USBDIV,PLL1,C PUDIV1,VREG EN # use d e la y(c lo c k=48000000)

# d e fine O N o utp ut_hig h # d e fine O FF o utp ut_lo w # d e fine Le d V PIN_B4 # d e fine Le d R PIN_B2

/ / La se d e b e ha c e r la a d a p ta c ió n c o rre sp o nd ie nte d e vo lta je e ntre / / PIC 18F4550 y ENC 28J60

# d e fine PIN_ENC _MAC _SO PIN_C 7 / / Co ne c ta r c o n PIN MISO d e l ENC28J60. # d e fine PIN_ENC _MAC _SI PIN_B0 / / Co ne c ta r c o n PIN MO SI d e l ENC 28J60. # d e fine PIN_ENC _MAC _C LK PIN_B1 / / C o ne c ta r c o n PIN SC K d e l ENC 28J60. # d e fine PIN_ENC _MAC _C S PIN_B3 / / Co ne c ta r c o n PIN C S d e l ENC28J60. # d e fine PIN_ENC _MAC _RST PIN_B5 / / Co ne c ta r c o n PIN RST d e l ENC28J60. # d e fine PIN_ENC _MAC _INT PIN_D2 / / Co ne c ta r c o n PIN INT d e l ENC28J60. # d e fine PIN_ENC _MAC _WOL PIN_D3 / / Co ne c ta r c o n PIN WOL d e l ENC28J60. # d e fine STAC K_USE_MC PENC TRUE

# d e fine STAC K_USE_ARP TRUE # d e fine STAC K_USE_ICMP TRUE # d e fine STAC K_USE_TC P TRUE # inc lud e "tc p ip / sta c ktsk.c "

# d e fine MY_HTTP_SO C KET 80 / / Es e l p ue rto q ue utiliza HTTP int8 HTTPSo c ke t=INVALID_SO C KET;

/ / Mic ro c hip tie ne a sig na d o e l ra ng o d e , MAC : 00-04-A3-XX-XX-XX vo id MAC Ad d rInit(vo id ) { MY_MAC _BYTE1=0x00; MY_MAC _BYTE2=0x04; MY_MAC _BYTE3=0xA3; MY_MAC _BYTE4=0x8F; MY_MAC _BYTE5=0x15; MY_MAC _BYTE6=0x06; } vo id IPAd d rInit(vo id ) { / / Dire c c io n IP. MY_IP_BYTE1=192; MY_IP_BYTE2=168; MY_IP_BYTE3=1; MY_IP_BYTE4=118;

/ / Pue rta d e Enla c e (La q ue tie ne g e ne ra lme nte un mo d e m INFINITUM d e Te lme x) MY_G ATE_BYTE1=192;

Ap é nd ic e MY_G ATE_BYTE2=168; MY_G ATE_BYTE3=1; MY_G ATE_BYTE4=254; / / Ma sc a ra d e Sub re d MY_MASK_BYTE1=255; MY_MASK_BYTE2=255; MY_MASK_BYTE3=255; MY_MASK_BYTE4=0; } vo id HTTPPut(c ha r c ) { TC PPut(HTTPSo c ke t, c ); } vo id HTTPTa sk(vo id ) {

sta tic e num {HTTP_ST_C ONNEC T=0, HTTP_ST_WAIT_C ONNEC T=1, HTTP_ST_G ET=2, HTTP_ST_PUT=3, HTTP_ST_DISC O NNEC T=4} sta te =0;

sta tic TIC KTYPE time o ut_c o unte r; sta tic c ha r lc , lc 2;

c ha r c ;

c ha r c o nte nt[250];

if (HTTPSo c ke t==INVALID_SO C KET) sta te =HTTP_ST_C O NNEC T;

e lse if (!TC PIsC o nne c te d (HTTPSo c ke t)) sta te =HTTP_ST_WAIT_C O NNEC T;

e lse if (Tic kGe tDiff(Tic kG e t(), time o ut_c o unte r) > TICKS_PER_SEC OND*60) sta te =HTTP_ST_DISC O NNEC T;

switc h(sta te ) {

c a se HTTP_ST_CO NNEC T:

HTTPSo c ke t=TC PListe n(MY_HTTP_SO C KET); if (HTTPSo c ke t!=INVALID_SOC KET) { sta te =HTTP_ST_WAIT_C O NNEC T; time o ut_c o unte r=Tic kGe t(); }

b re a k;

c a se HTTP_ST_WAIT_CO NNEC T: time o ut_c o unte r=Tic kGe t(); if (TC PIsC o nne c te d (HTTPSo c ke t)) { sta te =HTTP_ST_G ET;

} b re a k;

c a se HTTP_ST_G ET:

if (TC PIsG e tRe a d y(HTTPSo c ke t)) { w hile (TC PGe t(HTTPSo c ke t, &c )) { if ( (c =='\n') && (lc 2=='\n') ) { sta te =HTTP_ST_PUT; } lc 2=lc ; lc =c ; } }

Ap é nd ic e

b re a k;

c a se HTTP_ST_PUT:

if (TC PIsPutRe a d y(HTTPSo c ke t)) {

sp rintf(c o nte nt, "<HTML><HEAD><TITLE>We b Se rve r PIC 18F4550

ENC 28J60</ TITLE></ HEAD><BO DY><H1>Prue b a d e Co ne xió n PIC 18F4550 + ENC 28J60</ b r> By O c ta vio Ib a rra </ b r>IPN ESIME - 2012</ b r> 9CV11</ H1>");

sp rintf(&c o nte nt[0]+strle n(c o nte nt),"</ BO DY></ HTML>"); p rintf(HTTPPut, "HTTP/ 1.1 200 O K\r\n");

p rintf(HTTPPut, "C o nte nt-Typ e : te xt/ html\r\n");

p rintf(HTTPPut, "C o nte nt-Le ng th: %u\r\n",strle n(c o nte nt)); p rintf(HTTPPut, "\r\n"); p rintf(HTTPPut, "%s", c o nte nt); TC PFlush(HTTPSo c ke t); sta te =HTTP_ST_G ET; } b re a k; c a se HTTP_ST_DISCO NNEC T: if (TC PIsPutRe a d y(HTTPSo c ke t)) { TC PDisc o nne c t(HTTPSo c ke t); sta te =HTTP_ST_WAIT_C O NNEC T; } b re a k; } } vo id ma in(vo id ) { ON(Le d R); O FF(Le d V); MAC Ad d rInit(); IPAd d rInit(); Sta c kInit(); ON(Le d V); O FF(Le d R); w hile (TRUE) { Sta c kTa sk(); HTTPTa sk(); } }

C ó dig o fue nte de l a rc hivo inde x.hm de la pá g ina we b

<html> <he a d >

<title >Ib a rra Mic ro Se rve r - PIC18f4620</ title > <sc rip t la ng ua g e ="Ja va Sc rip t">

va r xmlHttp ;

va r Ob jArra y = ne w Arra y;

func tio n G e tXmlHttp O b je c t(ha nd le r) {

Ap é nd ic e

if(na vig a to r.use rAg e nt.ind e xO f("MSIE")>=0) {

va r Cla ssNa me = "Msxml2.XMLHTTP";

if(na vig a to r.a p p Ve rsio n.ind e xO f("MSIE 5.5")>=0) {

Cla ssNa me = "Mic ro so ft.XMLHTTP"; }

try {

o b jXmlHttp = ne w Ac tive XO b je c t(Cla ssNa me ); o b jXmlHttp .o nre a d ysta te c ha ng e = ha nd le r; re turn o b jXmlHttp ;

}

c a tc h(e ) {

a le rt("Erro r: Ac tive X sc rip ting ma y b e d isa b le d ."); re turn; } } e lse { try { o b jXmlHttp = ne w XMLHttp Re q ue st(); o b jXmlHttp .o nlo a d = ha nd le r; o b jXmlHttp .o ne rro r = ha nd le r; re turn o b jXmlHttp ; } c a tc h(e ) {

a le rt("Erro r: Bro w se r ma y no t b e sup p o rte d o r b ro w se r se c urity re stric tio ns a re to o hig h."); }

} }

func tio n Sta te C ha ng e d () {

if(xmlHttp .re a d ySta te == 4 || xmlHttp .re a d ySta te == "c o mp le te ") {

d o c ume nt.g e tEle me ntById ("txtAuto Up d a te Sta tus").inne rHTML=xmlHttp .re sp o nse Te xt; xmlHttp = null;

Up d a te Sta tus(); }

}

func tio n Up d a te Sta tus() {

xmlHttp = Ge tXmlHttp Ob je c t(Sta te Cha ng e d ); xmlHttp .o p e n("G ET", "sta tus.c g i" , true ); xmlHttp .se nd (null);

}

func tio n G e tSe rve rFile (File Na me , Assig nTo ) {

va r NiftyOb j = ne w Ob je c t();

NiftyOb j.XMLDe vic e = ne w Ge tXmlHttp Ob je c t(Sta te C ha ng e d 2); NiftyOb j.XMLDe vic e .o p e n("G ET", File Na me , true );

NiftyOb j.XMLDe vic e .se nd (null); NiftyOb j.Te xt = Assig nTo ;

Ap é nd ic e

O b jArra y.p ush(NiftyOb j); }

func tio n Sta te C ha ng e d 2() {

fo r(i in O b jArra y) {

if(O b jArra y[i].XMLDe vic e .re a d ySta te == 4 || Ob jArra y[i].XMLDe vic e .re a d ySta te == "c o mp le te ") {

if(Ob jArra y[i].Te xt != "") {

d o c ume nt.g e tEle me ntById (Ob jArra y[i].Te xt).inne rHTML=Ob jArra y[i].XMLDe vic e .re sp o nse Te xt; }

if(Ob jArra y[i].Te xt == "txtAuto Up d a te Sta tus") {

G e tSe rve rFile ("sta tus.c g i", "txtAuto Up d a te Sta tus"); }

d e le te O b jArra y[i].XMLDe vic e ; d e le te O b jArra y[i]; } } } </ sc rip t> </ he a d >

<b o d y b g c o lo r=# FFFFFF o nLo a d ="Up d a te Sta tus(); Ge tSe rve rFile ('ve rsio n.c g i','txtSta c kVe rsio n'); G e tSe rve rFile ('b d a te .c g i','txtBuild Da te ');" le ftma rg in=0 to p ma rg in=0 ma rg inwid th=0 ma rg inhe ig ht=0> <fo nt fa c e =Aria l>

<ta b le w id th=100% b g c o lo r=# FFFFFF b o rd e r=0 c e llp a d ding =0 c e llsp a c ing =0> <tr va lig n=c e nte r>

<td c o lsp a n=2 a lig n=rig ht><a hre f="ind e x.htm"><img src ="lo g o _e sime .jp g " wid th="" he ig ht="" a lt="" b o rd e r=0 a lig n=le ft></ a ></ td >

<td c o lsp a n=2 a lig n=rig ht><fo nt c o lo r=# 156F4F size =4><b >Pro to tip o d e Disp o sitivo p a ra <fo nt fa c e ="Aria l">e </ fo nt>l Co ntro l d e Suministro De Ene rg &ia c ute ;a <fo nt fa c e ="Aria l"> a

</ fo nt>Ele c tro d o m&e a c ute ;stic o s y d e Ilumina c i&o a c ute ;n d e una Ca sa Ha b ita c i&o a c ute ;n me d ia nte Ap lic a c i&o a c ute ;n We b </ b ></ fo nt></ td >

</ tr>

<tr b g c o lo r=# E5EFEC>

<td wid th=25% a lig n=c e nte r><b ><fo nt fa c e ="Aria l">Inic io </ fo nt></ b ></ td > <td wid th=25% a lig n=c e nte r><a hre f="a rc h.htm">Arq uite c tura </ a ></ td > <td wid th=25% a lig n=c e nte r>&nb sp ;</ td >

<td wid th=25% a lig n=c e nte r>&nb sp ;</ td > </ tr>

<tr>

<td c o lsp a n=4>

<ta b le w id th=100% b o rd e r=0 c e llp a d d ing =0 c e llsp a c ing =0> <tr va lig n=to p > <td wid th=50 b g c o lo r=# E5EFEC ro w sp a n=5></ td > <td wid th=628 ro w sp a n=5> <ta b le > <tr> <td wid th="1">&nb sp ;</ td >

<td wid th="480"><p ><fo nt c o lo r=# 6C6C 6C size =2><b r>

<fo nt fa c e ="Aria l">Este p &a a c ute ;g ina w e b e st&a a c ute ; a lo ja d a e n un mic ro se rvid o r he c ho c o n e l mic ro c o ntro la d o r PIC18F4620 y e l c o ntro la d o r Ethe rne t ENC 28J60, a mb o s d e Mic ro c hip &re g ;.</ fo nt></ fo nt></ p >

<p ><fo nt c o lo r="# 6C 6C 6C " size ="2" fa c e ="Aria l">C o n e l o b je tivo d e re d uc ir e l e sp a c io d e me mo ria d e l mic ro c o ntro la d o r, e sta p &a a c ute ;g ina no inte g ra e le me nto s q ue o c up e n muc ho e sp a c io , c o mo ima g e ne s e n a lta re so luc i&o a c ute ;n.</ fo nt></ p >

Ap é nd ic e

c o ntro la r e l e nc e d id o o a p a g a d o d e d ive rso s inte rrup to re s q ue se e nc ue ntre n c o ne c ta d o s e n la s te rmina le s d e l mic ro c o ntro la d o r, c o mo p ue d e n se r re le va d o re s, o p to -TRIACs, e tc .

</ fo nt></ fo nt><fo nt c o lo r=# 6C6C 6C size =2 fa c e ="Aria l">As&ia c ute ; mismo se p ue d e mo nito re a r e l e sta d o e n e l q ue se e nc ue ntre un inte rrup to r c o ne c ta d o </ fo nt><fo nt c o lo r=# 6C 6C6C size =2> a l mic ro c o ntro la d o <fo nt fa c e ="Aria l">r, y p o r si fue ra p o c o , se p ue d e n re a liza r le c tura s

a na l&o a c ute ;g ic a s e n tie mp o re a l, c o mo se nso re s d e te mp e ra tura , d e hume d a d , d e inte nsid a d d e luz, e tc .</ fo nt></ fo nt></ p >

<p ><fo nt c o lo r="# 6C 6C 6C " size ="2" fa c e ="Aria l">Fina lme nte , e l siste ma p ue d e se r fle xib le p a ra e xte nd e rse a o tro tip o d e a p lic a c io ne s c o mo so n, siste ma d e se g urid a d re mo to , siste ma s d e te le - rie g o , mo nito re o d e p ro d uc c io n e n l&ia c ute ;ne a , e ntre o tro s.</ fo nt></ p >

<p ><fo nt c o lo r=# 6C 6C 6C size =2><a

hre f="http :/ / www.e xp o c o mp uto .e sime z.ip n.mx/ ">e xp o c ó mp uto 2012/ a </ a >.</ fo nt></ p ></ td > <td wid th="164">&nb sp ;</ td >

</ tr>

</ ta b le ></ td >

<td wid th=41 b g c o lo r=# E5EFEC ro w sp a n=5></ td > <td wid th="312"><b r>

<fo nt c o lo r=# 6C 6C 6C size =2> Ve rsio n: <sp a n id ="txtSta c kVe rsio n">C a rg a nd o ...</ sp a n><b r> <fo nt fa c e ="Aria l">Fe c ha </ fo nt>: <sp a n id ="txtBuild Da te ">Ca rg a nd o ...</ sp a n><b r>

<b r></ fo nt></ td > <td wid th=21 b g c o lo r=# E5EFEC ro w sp a n=5></ td > </ tr> <tr b g c o lo r=# E5EFEC> <td he ig ht=8></ td > </ tr> <tr va lig n=to p >

<td ><p ><fo nt c o lo r=# 156F4F size =3><b ><fo nt fa c e ="Aria l">Inte rrup to re s</ fo nt></ b ><b r> </ fo nt></ p >

<p ><fo nt c o lo r=# 6C 6C 6C size =2>

<inp ut typ e ="b utto n" va lue ="LED1" o nClic k="Ge tSe rve rFile ('0? 0=LED1','')"> </ inp ut>

<inp ut typ e ="b utto n" va lue ="LED2" o nClic k="Ge tSe rve rFile ('0? 1=LED2','')"> </ inp ut>

<inp ut typ e ="b utto n" va lue ="LED3" o nClic k="Ge tSe rve rFile ('1? 0=LED3','')"> </ inp ut>

<inp ut typ e ="b utto n" va lue ="LED4" o nClic k="Ge tSe rve rFile ('1? 1=LED4','')"> </ inp ut> <b r> <b r> </ fo nt></ p ></ td > </ tr> <tr b g c o lo r=# E5EFEC> <td he ig ht=8></ td > </ tr> <tr va lig n=to p >

<td he ig ht=100%><fo nt c o lo r=# 156F4F size =3><b ><fo nt fa c e ="Aria l">Esta d o </ fo nt></ b ><b r> <b r></ fo nt><sp a n id ="txtAuto Up d a te Sta tus">C a rg a nd o ...</ sp a n><b r><b r></ td >

</ tr> </ ta b le ></ td > </ tr> <tr b g c o lo r=# E5EFEC> <td he ig ht=8 c o lsp a n=4></ td > </ tr> </ ta b le > </ fo nt> </ b o d y> </ html>

Ap é nd ic e

ANEXO C .

C a pa s de l m o de lo de re fe re nc ia O SI1.

1

ht t p:/ / w eb.frm.ut n.edu.ar/ com unicaciones/ m odelo_osi.htm l Fecha de últ im a consult a 22-05-2012

• Servicios de red de aplicaciones.

Aplicación

• Representación de datos.

Documento similar