>

J

john2020

Guest
Salut à tous,

Le problème est quand je démarre l'uart_interrupt pour obtenir l'entrée d'utilisateur à partir du clavier, j'ai trouvé que le serveur web sera de ralentir voire arrêter écho à notre demande.Si je désactiver le uart_interrupt, le serveur web fonctionne bien à nouveau.Il est étrange que je n'ai pas fait quelque chose de spécial dans notre rapport de recherche internationale UART.

Espère que vous pouvez m'aider

void uart_interrupt (void) petit 4 interrompre utilisant 0
/ * ------------------------------------------------ ------------------------ -
* But: La fonction d'interruption.Sauvegarder reçu char dans un tampon.
* Remarques: interruption "4": port Seriel interrompre, à l'aide du processeur membrane interne.banque "2"

************************************************** * ********************** /
(
unsigned char ch;
int i;
/ / GPIO_LED = 0; / / Lumière sur la LED
P3RxD = 1; / / force de traction élevée //<<<<<<
ES = 0;
EA = 0;
if (RI) {/**************** ******************/ Deuxième problème
RI = 0;
/ * * Mettre toute erreur de trame /
if (SM0) (
/ / Uart_framing_error = TRUE;
SM0 = 0;
)
CH = SBUF;
[Rx_buf rx_head] = ch; / / mettre en anneau de butée
rx_head = (rx_head 1) & (RX_BUF_SIZE - 1);
)
P3TxD = 1; / / force de traction élevée //<<<<<<
EA = 1;
ES = 1;
)

me répondre le plus tôt possible.

en ce qui concerne
Jean

 
void uart_interrupt (void) petit 4 interrompre utilisant 0

/****** Vous définissez utilisation de 0 -> il est BANC 0 *******/
/ * ------------------------------------------------ ------------------------ -
* But: La fonction d'interruption.Sauvegarder reçu char dans un tampon.
* Remarques: interruption "4": port Seriel interrompre, à l'aide du processeur membrane interne.banque "2"

************************************************** * ********************** /
(
unsigned char ch;
int i;
/ / GPIO_LED = 0; / / Lumière sur la LED
P3RxD = 1; / / force de traction élevée //<<<<<< //******* n'avez pas besoin
ES = 0; //******* n'avez pas besoin
EA = 0; //******* n'avez pas besoin
if (RI) {/**************** ******************/ Deuxième problème
RI = 0;
/ * * Mettre toute erreur de trame /
if (SM0) (/ / uart_framing_error = TRUE; SM0 = 0;
retour; //******* char en SBUF n'est pas valide!!)
CH = SBUF;
[Rx_buf rx_head] = ch; / / mettre en anneau de butée
rx_head = (rx_head 1) & (RX_BUF_SIZE - 1);
//*********** RX_BUF_SIZE est puissance de 2?
)
P3TxD = 1; / / force de traction élevée //<<<<<< //******* n'avez pas besoin
EA = 1; //******* n'avez pas besoin
ES = 1; //******* n'avez pas besoin
)

//******* N'ont pas besoin -> préférable de supprimer

Où est trasmitting partie?
Doit être en cacher d'erreur?

 
Salut kukaz

J'ai fait une erreur, je na pas ajouter une partie TI, doit avoir TI = 0, vous avez raison.

Merci
Jean

 

Welcome to EDABoard.com

Sponsor

Back
Top