RS485 MASTER (PC) - SLAVE (ATMEGA8515)

S

_SquiD_

Guest
Je veux faire un master de communication (PC) - SLAVE (ATMEGA8515) en utilisant RS485.
Je veux que le maître d'envoyer un ensemble de données de 8 bits, sur la traite Je tiens à éclairer (sur certains LED) PORTB (disons) afin de me montrer les données 8 bits reçues.

Quelqu'un peut-il m'aider avec quelques exemples de code?

Merci d'avance.

-SQD-

 
Salut,
Quelle langue et le compilateur?
Si vous utilisez UART, il ne sera pas très difficile.Je peux vous aider avec un exemple de code si vous pouvez utiliser mikroBASIC.
Tahmid.

 
I'm using AVR Studio with avr-gcc (C coding).

@ Tahmid:
J'utilise AVR Studio avec avr-gcc (C de codage).

M. Bogdan

 
Salut,
O. Je peux vous aider avec mikroC ou mikroBASIC.Je n'ai pas utilisé AVR Studio.
Tahmid.

 
: It will be good a MikroC version of what I asked.

@ Tahmid:
Ce sera bon une version MikroC de ce que j'ai demandé.Je vais essayer d'adapter le code pour AVR Studio.Je n'aime pas à propos MikroC ces fonctions prédéfinies (UART1_Init (), USART1_Data_Ready (), UART1_Read (), UART1_Write ()) que vous devez utiliser, je préfère les écrire explicitement dans mon code.

M. Bogdan

 
Tutorial et les codes.Recherche toujours à partir de avrfreaks!
http://www.avrfreaks.net/index.php?name=PNphpBB2&file=viewtopic&t=45341
http://www.avrfreaks.net/index.php?name=PNphpBB2&file=viewtopic&t=69851

http://www.avrfreaks.net/index.php?name=PNphpBB2&file=viewtopic&t=89053
http://www.avrfreaks.net/index.php?name=PNphpBB2&file=viewtopic&t=88767

 
Salut Squid,
Bon, il est possible de faire explicitement avec le code propre.Mais en général je utiliser les fonctions prédéfinies que cela rend la vie tellement plus facile.
Quoi qu'il en soit, je vais être à la recherche afin d'envoyer un échantillon bientôt.
Est-ce que votre maître soit un PC ou un régulateur?
Tahmid.

 
Bon échantillon de structure pour AVRGCC avrfreaks
Désolé, mais vous avez besoin de connexion pour voir cette pièce jointe

 
For the moment I want to make the communication with the PC as MASTER.

@ Tahmid:
Pour l'instant je veux faire la communication avec le PC en maître.Après cela, je vais essayer moi-même à écrire un code pour le capitaine d'un ATMEGA8515.

Thanks for the links and the code.

medap @:
Merci pour les liens et le code.Je vais voir si ils viendront sur la main.

<img src="http://www.edaboard.com/images/smiles/icon_smile.gif" alt="Sourire" border="0" />M. Bogdan

 
Hii, si vous souhaitez utiliser la communication maître-esclave il ya un moyen de plusieurs:

1.SPI périphériques d'interface série
2.RS-485 MultiNode
3.RS-422 simple noeud (même UART, mais la distance est plus longue)

Si vous voulez utiliser le PC comme la dure, vous devez utiliser RS-232 à RS-485 convertisseur de niveau, la cause de la RS-232 est de niveau différent de RS-485.Si vous voulez de référence pour le circuit, vous pouvez visiter le site mikroelektonika.il s'agit d'un échantillon et le code source de ce problème.

Mais si vous voulez plus de manière simple dans la programmation, vous pouvez utiliser PC et 2 microcontrôleur.PC communiquer avec le protocole UART l'aide de micro micro communique avec d'autres micro utilisant SPI.

J'ai déjà fait une comunication maître / esclave avec 2 atmega 8535 en utilisant le protocole SPI il est très facile à utiliser.Mon maître vient d'afficher le résultat à l'écran LCD et mon esclave est le dispositif de commande I2C PCF8951 comme (ADC), DS1307 (RTC) et 24c04a (EEPROM).J'utilise AVR Bascom que mon compilateur.

Si vous avez besoin de référence, je vous enverrai.Très bien.

DENY (BODAT'Z)

 
Salut,
Essayez ceci:
Code:

# Include <avr/io.h>/ / Reçoit les données via le module USART et renvoie les données

/ / Échos reçus des données

/ / PORTD0 = broche Rx

/ / PORTD1 = broche Tx

/ / 9600bps, 8 bits, sans parité, 1 bit d'arrêt, asynchrones

/ Horloge système /: 8MHz

/ / Clock Source: RC Int

/ / Programmé par: Tahmid

/ / 01 Février, 2010unsigned char Reçu;void main (void) (

DDRD = 0xFE; / / PD0 = Rx, Tx = PD1

UBRRL = 51; / / 9600bps

UCSRB = (1 <<RXEN) | (1 <<TXEN); / / Activer récepteur et l'émetteur

UCSRC = 6; / / 8-bits, sans parité, 1 bit d'arrêt, asynchrones

do (

while ((UCSRA & 0x80) == 0); / / Attendre que les données soient reçues

Reçu = UDR;

while ((UCSRA & 0x20) == 0); / / attente de la mémoire tampon pour recevoir de nouvelles données

Reçu UDR =;

while ((UCSRA & 0x40) == 0); / / attente de transmission pour terminer

) While (1);

)
 
I intend to finally make a RS485 multinode using USART.

@ Balistique:
J'ai l'intention d'enfin faire un RS485 MultiNode utilisant USART.Si vous pouvez m'aider dans cette affaire, je vous en serais reconnaissant.
The code you're showing to me it's a RS232 echo application, right ?

@ Tahmid:
Le code vous montrer à moi, c'est une application RS232 écho, non?J'ai réussi à faire ce travail de communication RS232.

Maintenant, je veux savoir quelles modifications dois-je apporter à ce code afin de rendre la communication RS485.

M. Bogdan

 
Salut,
Oui, c'est un écho RS232 app.
Pour RS485, je vous suggérons d'utiliser comme il l'a mikroC la bibliothèque interne.Je n'ai pas fait le RS485 moi-même, mais ne devrait pas être très difficile avec la bibliothèque.
Tahmid.

 
Pour ce qu'elle vaut, j'ai écrit une série de 2 articles intitulé «générique Modbus Simulator", qui apparut dans les questions 200 et 201 (Mars / Avril 2007) de Circuit Cellar.Dans ce document, je décris la création d'un Master Modbus sur un PC

http://www.circuitcellar.com/magazine/200.html
http://www.circuitcellar.com/magazine/201.html

Je décris la conception et de codage d'un esclave Modbus dans une suite à l'article "Créer un réseau Modbus esclave" que paru dans le numéro 216 (Juillet 2008) de Circuit Cellar.Bien que j'ai développé mon code pour le esclave sur le PSoC, il a été développé en C devrait donc être facilement converti en micro.http://www.circuitcellar.com/magazine/216.html

Aubrey-

Cave des affaires de modèle de circuit PS est de faire payer un montant nominal de télécharger les articles.

 
Tahmid a écrit:

Salut,

Quelle langue et le compilateur?

Si vous utilisez UART, il ne sera pas très difficile.
Je peux vous aider avec un exemple de code si vous pouvez utiliser mikroBASIC.

Tahmid.
 
bonjour, mes amis,


je suis étudiant, et j'ai un stage de fin d'étude, mon projet consiste à implanté une interface pour la télegestion à distance, bon j'ai une carte électronique à base d'un µC ATmel 8515, pour la commande et la gestion des alarmes,cette carte à une sortie de RS485 (UART)  par le port RJ11 (téléphonique) qui contient 4fils, RX,TX, et deux pour l'alimentation 24V, mon probleme c'est que je veux ajouter le protocole ModBus RTU à la carte ,pour la communication,donc et ce que possible d'implementer directement sur le µC par un programme en C?! j utilise le complilateur MicroC for AVR
....urgent, svp j'ai besoin d'un coup de main merci d'avance
 

Welcome to EDABoard.com

Sponsor

Back
Top