AT90CAN128 CAN senden mit WinAVR

Gast #240767
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
Angehängte Dateien:
Gast #240768
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 :/
Gast #240769
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 :)
Angehängte Dateien:
Gast #240770
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.
Angehängte Dateien:
Gast #240775
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.
Gast #240776
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.
Gast #240777
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.
Gast #611122
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
Gast #793129
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

Eine eigene Frage? Dieser Thread ist über 21 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.