Forum: Projekte & Code AT90CAN128 CAN senden mit WinAVR


von Mike Schaub (Gast)


Angehängte Dateien:

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

von Alex (Gast)


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

von Alex (Gast)


Angehängte Dateien:

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

von Alex (Gast)


Angehängte Dateien:

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.

von kai (Gast)


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

von Mike (Gast)


Lesenswert?

Der Fehler liegt eindeutig bei dir!

von Elektrikser (Gast)


Lesenswert?

Das Zip-File ist in Ordnung. Habe es gerade nochmal geprüft.

Gruß Elektrikser

von Mike Schaub (Gast)


Lesenswert?

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

Gruß
Mike

von Mike (Gast)


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.

von Mike (Gast)


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.

von Birger* (Gast)


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.

von Bostjan (Gast)


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

von Fragender Marc (Gast)


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

von jankerflo (Gast)


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

von Gast (Gast)


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...

von Sepp (Gast)


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?

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.