mikrocontroller.net

Forum: Projekte & Code AT90CAN128 CAN senden mit WinAVR


Autor: Mike Schaub (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo zusammen,

anbei ein Programmbeispiel für den AT90CAN128.
Beschreibung : Es werden abwechselnd zwei CAN-Botschaften (Baudrate
100kBits) gesendet.
Das Programmbeispiel orientiert sich an den von Atmel zur Verfügung
gestellten Beispiel für den IAR-Compiler.
Vielen Dank an Harald Krause. Von ihm ist dieses Beispielprogramm, dass
von mir nur noch leicht modifiziert wurde.
Unter www.microcontroller-starterkits.de sind dieses und noch weitere
Programmbeispiele ebenfalls zu finden.

Viel Spass damit

Mike

Autor: Alex (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Respekt in Bezug auf die Preise. Hätte ich nicht gerade bei Reichelt
alles geordert um mir selbst eine Platine aufzubauen dann würde ich ja
eine bei euch bestellen :)
Von den Preisen her nimmt es sich nichts, nur mein Arbeitsaufwand kommt
noch hinzu :/

Autor: Alex (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

in Ergänzung dieses Source-Codes noch eine Variante die im Polling
sendet und via Interrupt empfängt. Gearbeitet wird mit 1MBaud und ext.
IDs.

Für Fragen und Kritik stehe ich zur Verfügung :)

Autor: Alex (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Und noch der Header.

Statt der main.h einfach folgendes schreiben:

#include <avr/io.h>
#include <avr/signal.h>
#include <avr/interrupt.h>
#include <stdio.h>
#include <string.h>

printf wurde mit fdevopen(usart1_tx, NULL, 0); auf den USART1 des
Controllers umgeleitet.

Autor: kai (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo. Kann die Zip-Datei von Mike Schaub nicht öffnen. Bitte neu
Posten. Schaffe es einfach nicht Daten zu senden oder zu empfangen.
Danke

Autor: Mike (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Der Fehler liegt eindeutig bei dir!

Autor: Elektrikser (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das Zip-File ist in Ordnung. Habe es gerade nochmal geprüft.

Gruß Elektrikser

Autor: Mike Schaub (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Kai
Schick mir mal deine Email-Adresse, ich werde Dir es dann zusenden -
oder versuch's mal auf meiner Homepage.

Gruß
Mike

Autor: Mike (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nimm einfach avrdude, du musst beim aktuellen WinAVR nur im makefile
entsprechende Änderungen vornhemen.

Welchen Programmer hast du?

Dein Topic hat nichts in der Codesammlung zu suchen.

Autor: Mike (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ist doch egal, solange du das Programmers Notepad nutzt. Dort klickst du
einfach immer auf program und der Rest passt schon :)

Mehr GUI braucht man nicht.

Autor: Birger* (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mach doch mal:
make.exe -f [makefile oder wie immer du das nennst] program

Das geht natürlich nur mit entsprechend (modernem) Makefile. Entweder
im Makefile oder in der avrdude.conf muss der Brenner eingestellt sein.

Autor: Bostjan (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hello Alex or anybody who has already programming AT90CAN128. I would
need a help from you. Can you please write me on my email:
bostjan.tement@tenzor.si. Thank you very much

Autor: Fragender Marc (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo

Mal ne Frage von nem Anfänger:
Warum ist in dem Programmbeispiel überall die Rede vom MCP2515 wenn das 
Programm für einen AT90CAN ist???

Danke

Autor: jankerflo (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo!

Bin zwar das gegenteil von einem Experten aber du brauchst den Baustein 
um das  Differenzsignal zu erkennen, das kann der AT90CAN glaub ich 
nicht.

Falls das Falsch ist würde mich das Richtige interessieren.

mfg Flo

Autor: Gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
der MCP2515 ist ein eigener CAN-Baustein der über SPI angesprochen wird. 
Was du meinst ist wahrscheinlich ein Bustreiber (z. B. PCA82C251...).

Ich könnte mri vorstellen, dass dieses Beispiel aus einem vorhandenen 
MCP2515  Programm abgeleitet wurde...

Autor: Sepp (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich hab da nochmal ne Frage zum Code.
Warum wird in dem Interrupt zum Empfangen die CanPage anfangs 
gespeichert und am Schluss wieder zurückgespeichert?
Ist das evtl dafür, falls mir jemand was schicken will während ich im 
Interrupt bin?

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.