Ús de les interrupcions en la Rx PIC16F877 de rebre valors de PC

D

dark_ph0enix

Guest
Hola! Sóc nou en el lloc i vinc aquí i humilment demano la seva comprensió: exfoliant: estic programant un 16F877 de Microchip (amb alta tecnologia del compilador) i em vaig trobar amb una situació en la que han de rebre tres valors de la PC (enviat per MATLAB). La meva pregunta, la recepció pot ocórrer en qualsevol moment, de manera que el Idéias lògic seria utilitzar interrompre RX. Com puc fer això? Em sembla que no pot trobar exemples en C per a les interrupcions i, a més, ni idea de com ha de bloquejar la interrupció per rebre els tres valors? Gràcies per avançat J
 
Aquí hi ha un enllaç a un dels millors tutorials en línia PIC que he trobat: [URL = "http://www.gooligum.com.au/tutorials.html"] Gooligum Tutorials PIC [/URL] Els tutorials cobreixen tant a l'inici i PIC de gamma mitjana amb l'Assemblea i Hi-Tech C. El PIC16F877 és un gamma mitjana PIC el que vostè vol concentrar-se en els següents dos jocs de tutorials: [URL = "http://www.gooligum.com.au/tut_midrange. html "] de gamma mitjana PIC Tutorials Assembler [/URL] [URL =" http://www.gooligum.com.au/tut_midrange_C.html "] de gamma mitjana PIC Hi-Tech Tutorials de programació C [/URL] El tutorial és molt professional , estan en format PDF amb codi font per descarregar el millor de tot és absolutament gratuït. El rang mitjà d'alta tecnologia de Tutorials C començar a cobrir les interrupcions en la lliçó 3 i continuarà introduint les tècniques d'interrupció a través de les lliçons restants. Comenceu amb els tutorials i si encara té dubtes, pregunti-li simplement. Espero que ajudi en la seva tasca. BigDog
 
el millor és remetre el full de dades del PIC16F877 per a la configuració dels registres pertinents. i què vols dir amb bloqueig de les interrupcions?
 
@ Bigdogguru Gràcies, vaig a mirar en els tutorials =) @ nikhil_jain ja he configurat les interrupcions, el problema és, theres cap exemple de com configurar una interrupció en el codi actual en el full de dades. I el que vaig voler dir va ser pel bloqueig, una vegada que l'alarma es va activar, es quedaria allà per rebre els tres valors. Gràcies per la seva J respostes
 
Hola, no estic segur sobre la synatx correcta. Però si no funciona vaig a enviar la sintaxi correcta del meu pc a la feina. Vostè wouid fer-ho d'aquesta manera: rxbuf unsigned char; índex de unsigned char; rx_flag poc; buit interrompre ISR (void) {if (RXIE i RXIF) {RXIF = 0; rxbuf [index + +] = RXDATA; Si (índex> 3) { index = 0; rx_flag = 1;}}} El codi anterior és un exemple de com funciona la interrupció. Assegureu-vos que els registres de la USART és correcte, i el periperal, així com les interrupcions globals i la velocitat de transmissió és la correcta. Pot el servei de la rx_flag en la seva rutina principal MN
 
Hola, no estic segur sobre la synatx correcta. Però si no funciona vaig a enviar la sintaxi correcta del meu pc a la feina. Vostè wouid fer-ho d'aquesta manera: rxbuf unsigned char; índex de unsigned char; rx_flag poc; buit interrompre ISR (void) {if (RXIE i RXIF) {RXIF = 0; rxbuf [index + +] = RXDATA; Si (índex> 3) { index = 0; rx_flag = 1;}}} El codi anterior és un exemple de com funciona la interrupció. Assegureu-vos que els registres de la USART és correcte, i el periperal, així com les interrupcions globals i la velocitat de transmissió és la correcta. Pot el servei de la rx_flag en la seva rutina principal MN
Crec que això és el = D vaig a estar tractant que part del futur codi, jo ho faré saber si funciona: exfoliant: gràcies per endavant ^ ^
 
El meu exemple, l'ús UART [URL = "http://shahrulnizam.com/pic-lesson-uart-module/"] RX d'interrupció [/URL].
 

Welcome to EDABoard.com

Sponsor

Back
Top