begin process at 2012 05 30 16:44:41
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C

 > 

Divers

 > 

Débutant(e)

 > 

RS232 ou RS485 dial entre 2 pics


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

RS232 ou RS485 dial entre 2 pics

mercredi 21 avril 2010 à 14:42:29 | RS232 ou RS485 dial entre 2 pics

Pat2903

Bonjour je suis en projet pour crée un dialogue RS485 entre deux pics. Mon souci c'est que j'utilise MPLAB et le Compilateur C18.
j'utilise la library USART mais je ne maitrise pas trop le C . g un maitre un esclave le mettre envoie "coucou" par la com et avec l'esclave qui doit normalement avoir un nom pour l identifier je recoit mes je n arrive a receptionner la chaine de caractere pour la renvoyer sur le LCD .
auriez vous quelque code source pour la liaison mets surtout comment recuperer cette chaine recu pour l afficher

#include <p18f2525.h>
#include <xlcd.h>
//*********************************************************************
// Temporisation nécessaires a la bibliothèque XLCD
void DelayFor18TCY(void)
{
Delay10TCYx(2);
}
void DelayPORXLCD(void)
{
Delay1KTCYx(15); //Delai de 15 ms
}
void DelayXLCD(void)
{
Delay1KTCYx(20); //Delai de 20 ms
}
rom char mess[]="\nLes coms ok \n";
// indique qu'un caractère est dans RCREG de l'USART
char data_recue(void) // reception d'une interruption
{
if (PIR1bits.RCIF) /* char recu en reception*/
{
PIR1bits.RCIF=0; // efface drapeau
return (1); // indique qu'un nouveau caractère est dans RCREG
}
else return (0); // pas de nouveau caractère reçu
}
// envoie un caractère sur USART
void putch(unsigned char c) //putch est défini sur le port série
{
while(!TXSTAbits.TRMT); // pas de transmission en cours ?
TXREG=c; /* envoie un caractère */
while(!PIR1bits.TXIF);
}
// envoie une chaine en ROM
void putchaine(rom char* chaine)
{
while (*chaine) putch(*chaine++);
}


void main(void)
{
SPBRG = 25; /* configure la vitesse (BAUD) 9600 N 8 1*/
TXSTA = 0x24;
RCSTA = 0x90; /* active l'USART*/
OpenXLCD (FOUR_BIT & LINES_5X7 );
SetDDRamAddr(0); // positionne le curseur en x,y
putrsXLCD(mess); // intro

while(1) // echo
{



if (data_recue()) putch(RCREG);
SetDDRamAddr(0);
putrsXLCD(RCREG);//le probleme y a t il un probleme de language de cast ?
}
}
Merci d avance pour votre aide


Cette discussion est classée dans : caractère, chaine, void, char, usart


Répondre à ce message

Sujets en rapport avec ce message

manipulation desformules logiques : URGENT [ par The_Legacy ] Bonjour, je suis en train de développer un petit programme qui permet d'évaluer des expression logiques telles que ((a et b) ou (c et (non d))).A part pbme avec chaine de caractère et sscanf (débutant :( ) [ par peyou ] sur une chaine de caractère de la forme "bidule = machin", je voudrais extraire les deux chaines "bidules" et " machin"1/ le nombre d'espace autour du char* [ par kollibar ] je debute en C et donc je vais poser une question con...avec une chaine de caractère CHAR* comment je peut faire pour récupérer une sous chaine allant aarg Chaine de caractère [ par NeoUmbrella ] Voila j'ai une question tres bete mais je ne comprends pas:char mot1[] = "test";char mot2[] = "test";Pourquoi qand je test avec un if mot1 n'est pas e au secours!!! [ par serge14 ] Bonjour.je suis en sstage et je dois coder un protocole de transmission /reception de donées avecle pic 18f4550.malgré mes efforts pour comprendre les Ajouter deux chaines de caractère. [ par Fituza ] Bonjour,j'aimerai savoir comment ajouter une chaine de caractère de type char*  avec une autre chaine de type const char*;exemple: char* access = "Rsc transformer un int en chaine de caractère [ par lenneth666 ] Voila j'ai comme code ceci char *tmp2=(char *)malloc(5000); int res = 15; je voudrais savoir comment mettre res dans tmp2 le cast ne marche pas, et tableau de chaine de caractère [ par delaktn ] salut, Je réalise une application dont je besoin d'un tableau de chaine de caractère et voila la déclaration de ce tableau: char* t[10]; j'ai réalisé CHAINE de caractère [ par bayrem90 ] salutttttttttt tout le monde.svp aidez moiun programme en C qui permettra dans un menu de faire:1) lire un texte 2) centrer un texte3) aligner a gauch Manipulation de char [ par ndubien ] Bonjour, Je dispose d'une chaîne de caractère char[] à laquelle je souhaiterais un caractère contenu dans un char (pas dans une chaine, juste un char)


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,250 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales