zguiderchawky
Messages postés1Date d'inscriptionlundi 15 février 2010StatutMembreDernière intervention 2 mars 2010
-
2 mars 2010 à 13:36
AMOzouhir
Messages postés3Date d'inscriptionmardi 17 novembre 2009StatutMembreDernière intervention24 octobre 2011
-
24 oct. 2011 à 23:51
bonjour à tous
j'ai un problème de communiquer le port DSUB9 avec mon PIC le 16F877 via MAX232 sur les port RC6 et RC7. j'utilise le compilateur MikroC Pro là où il y a une bibliothèque pour l'UART mais lors de la simulation lorsque j'envoi un caractère par la clavier rien ne fonctionne malgré que tous ça fonctionne bien avec mon programme que j'ai effectuée sur PICC (donc il n'y a aucun défaut au niveau du schéma électronique)
voici une partie de mon programme sur MikroC là où je comprend pas où je trompe :conf:
UART1_Init(9600); // Initialize UART module at 9600 bps
Delay_ms(100); // Wait for UART module to stabilize
UART1_Write_Text("Start");
while (1){ // Endless loop
if (UART1_Data_Ready()) { // If data is received,
uart_rd = UART1_Read(); // read the received data,
switch(uart_rd){
case '1' :
Lcd_Cmd(_LCD_CLEAR); // Clear display
Lcd_Cmd(_LCD_CURSOR_OFF); // Cursor off
Lcd_Out(1,1,txt1); // Write text in first row
Lcd_Out(2,1,txt1); // Write text in second row
Delay_ms(1000);
Lcd_Cmd(_LCD_CLEAR); // Clear display
Delay_ms(1000);
Lcd_Out(1,1,txt2); // Write text in first row
Lcd_Out(2,1,txt2);
Delay_ms(1000);
Lcd_Cmd(_LCD_CLEAR);
Delay_ms(1000);
Lcd_Out(1,1,txt3); // Write text in first row
Lcd_Out(2,1,txt3);
Delay_ms(1000);
Lcd_Cmd(_LCD_CLEAR);
Delay_ms(1000);
Lcd_Out(1,3,txt4); // Write text in first row
Lcd_Out(2,6,txt5);
Delay_ms(1000);
Lcd_Cmd(_LCD_CLEAR);
Delay_ms(1000);
case '2' :
AMOzouhir
Messages postés3Date d'inscriptionmardi 17 novembre 2009StatutMembreDernière intervention24 octobre 2011 24 oct. 2011 à 23:51
vous mettez trisc=0 (en sortie)ensuite trisc=ff (port c en entree) choix port C entree ou sortie (1ere erreur).
2eme erreur avec quelle interface graphique vous communiquez? ce programme en C emmet et recoit des bytes et non des charactere donc pour les choix case vous avez des chiffres 1,2,...etc. donc il ne va pas communiquer.
3eme erreur vous communiquer par le protocole UART et non le votre donc fait tres attention.
j'ai une interface en delphi 7 qui communique avec les microcontrolleur, sachez que j'utilise PROTEUS/ISIS similateur. on interface recoit des bytes et non pas des charactres.
In chaa alah vous trouvez la solution, si non envoyer moi un e-mail et je vait voir votre probleme pour vous donnez une solution. e-mail : amokrane_zouhir@yahoo.fr.
a+