Communication RS232 sur MikroC

zguiderchawky Messages postés 1 Date d'inscription lundi 15 février 2010 Statut Membre Dernière intervention 2 mars 2010 - 2 mars 2010 à 13:36
AMOzouhir Messages postés 3 Date d'inscription mardi 17 novembre 2009 Statut Membre Dernière intervention 24 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:



char uart_rd;

void main(){



TRISB = 0;
PORTB = 0xFF;
TRISB = 0xff;
TRISC = 1;
PORTC = 1000000;
TRISC = 1000000;
TRISD = 0;
PORTD = 0xFF;
TRISD = 0xff;

ADCON1 |= 0x0F;

Lcd_Init(); // Initialize LCD

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' :

4 réponses

labib28 Messages postés 3 Date d'inscription lundi 7 juin 2010 Statut Membre Dernière intervention 22 novembre 2011
21 avril 2011 à 18:09
hello
if you have a program about ADC help me
and about time display
thx
contact me by labib.bnsaadia@gmail.com
0
labib28 Messages postés 3 Date d'inscription lundi 7 juin 2010 Statut Membre Dernière intervention 22 novembre 2011
21 avril 2011 à 18:14
hello
in microc
0
AMOzouhir Messages postés 3 Date d'inscription mardi 17 novembre 2009 Statut Membre Dernière intervention 24 octobre 2011
24 oct. 2011 à 23:40
Hi
0
AMOzouhir Messages postés 3 Date d'inscription mardi 17 novembre 2009 Statut Membre Dernière intervention 24 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+
0