-
Thread
Suche uC zum Pegel einlesen und auf CAN ausgeben
bei 1Mbps. Der muss die Bits ja nicht einzeln auf die Reise schicken, das macht der CAN Controller MCP2515 ganz gut selbst, auch bei 1Mbps. Und im Unterschied zum STM32 kann man dem vorhandenen MCP2515 noch einen zweiten nebendran hinzuschnallen, wenn 2 Kanäle nötig sind. Mit dem AVR + MCP2515 bist
du erst einmal erschlagen wirst. Der oben erwähnte PIC18 ist so ungefähr das gleiche wie bei AVR+MCP2515, hat aber den MCP2515 bereits intern, deshalb hatte ich den erwähnt. Support hier im Forum ist bei AVRs aber besser als bei PICs.
-
Thread
uC funktioniert erst nach reset
Sorry, ich habe nicht in den Programmcode oder das Datenblatt des MCP2515 geschaut. Ich war der Meinung dass du zwischen den µCs eine Master-Slave Situation aufbaust. Mit dem CAN Controller MCP2515 hast du aber folgende Situation: µC (Master) -SPI- MCP2515 (Slave) -CAN- MCP2515 (Slave) -SPI- µC (Master)
-
Thread
WinAvr Makefile Frage
Compiling C: ../can/mcp2515.c avr-gcc -c -mmcu=atmega32 -I. -gdwarf-2 -DF_CPU=4000000UL -Os -funsigned-char -f unsigned-bitfields -fpack-struct -fshort-enums -Wall -Wstrict-prototypes -Wundef -Wa,-adhlns=obj/../can/mcp2515.lst -I../avr -I../can -std=gnu99 -Wundef -MD -MP -MF .dep/mcp2515.o.d ../can/mcp2515.c -o obj/../can/mcp2515.o Assembler messages: FATAL: can't create obj/../can/mcp2515.o: No such file or directory make: *** [obj/../can/mcp2515.o] Error 1 Da müsste es doch
-
Thread
CAN-Sender im Mini-Format
relativ groß und braucht einiges an Beschaltung drumherum. Da ist so ein Attiny25/45 selbst mit MCP2515 nicht viel größer, aber viel billiger...
Schau mal hier. https://www.ebay.de/itm/Can-Bus-SPI-MCP2515-CAN-Transceiver-TJA1050-fur-Arduino-Prototyping-DIY/263779810424?hash=item3d6a807c78%3Ag%3A60UAAOSw3VpbMZrM&_sacat=0&_nkw=mcp2515&_from=R40&rt=nc&_trksid=m570.l1313
-
Thread
MCP2515 SPI Kommunikation myRIO vs. Arduino
Signale zurück. Den zweiten SPI Port vom myRIO hergenommen. Auch kein anderes Ergebnis. Zweiter MCP2515 getestet. Auch selbes Ergebnis. So langsam gehen mir die Ideen aus.
Der MCP2515 hängt an den 5V vom my RIO , oder ? Nimm mal die 3,3V Versorgung wenn die stark genug ist. Die Ports sind ja 3,3V ggf reicht es grad nicht das der MCP die high Flanken sieht. Gruß JackFrost
-
Thread
Senden mit MCP2515 Fehler
(); char bufferString[500]; uint8_t spidata; char i[10]; spidata = mcp2515_read_register(TXB0CTRL); itoa(spidata, i, 2); sprintf(bufferString, "TXBCTRL: %s \n", i); lcd_puts(bufferString); spidata = mcp2515_read_register(TXB0DLC); sprintf(bufferString, "DLC: %x \n", spidata); lcd_puts(bufferString); spidata = mcp2515_read_register(CANCTRL); itoa(spidata, i, 2); sprintf(bufferString, "CANCTRL: %s \n", i); lcd_puts(bufferString); spidata = mcp2515_read_register(TEC); itoa
-
Thread
Löt-Probleme mit MCP2515
Problem: auf einer selbst erstellten Platine möchte ich mit einem Arduino Nano IOT über SPI auf einen MCP2515 zugreifen. die Eagle *.sch und *.brd hänge ich an. aufgelötet sind nur die Stiftleisten für den Nano, ein 100nF vor dem MCP2515 und der 10k2 um den MCP in Betrieb zu nehmen und ein 16Mhz Quarz.
für Adresse sind totaler Quatsch, ebenso kommt beim MCP2515 TX-Ausgang auch nichts raus. gelötet habe ich mit 300-350Grad.
-
Thread
CAN auch schneller als MCP2515 ?
End of Frame Daten + IFS nicht berücksichtigt. Wenn ich das mal grob interpoliere antwortet der MCP2515 nahezu sofort ... Gruß Gerd
dem CRC noch ein paar Impulse ( hier ein ACK ) kommen. Dann dauert es tatsächlich 26,6 µs bis der MCP2515 einen INTerrupt auslöst. gruß Karsten
-
Thread
Can Bus MCP2515 Ack
durch Remote Frame auch automatisierbar ist. Ich gehe allerdings nicht den Umweg über SPI und MCP2515 sondern nehme gleich einen µC der den CAN-Controller integriert hat(ATMega16-M1) in der Arduino Welt ist aber der MCP2515 immer dazwischen.
CAN High und CAN Low passen ? Normal sollte es gehen , kannst welche Fehler liest du aus dem MCP2515 aus ? Gruß JackFrost
-
Thread
Umsetzung "kleines" Bussystem für AVR im Haus
wegen der Verbindung der AVRs untereinander nochmal: Ich schwanke nun immer mehr auf CAN (mit MCP2515 per SPI). (Muster vom MCP2515 und MCP2551 habe cih mir aber trotzdem schon einmal angeschafft.) Jedoch was ich davon noch nicht (zu 100%) weiß: 1. Wie "langsam" kann man den BUS fahren? Der
Speed von 125kBit/s. Langsamer als 20kBit ist meiner Meinung nicht notwendig. Zum Thema Qualität MCP2515: Der funktioniert wunderbar, und es gibt auch genug Infomationen im Netz dazu wie man den programmiert etc. und DAS war für MICH der Grund den zu verwenden. Ich verwende den MCP 2515 zusammen mit
-
Thread
MCP2515 Eingänge absichern
? Der besizt wenn ich das richtig sehe auch einen Sleepmode. Da müsste ich doch zusammen mit dem MCP2515 im einstelligen µA-Bereich bleiben.
Ja, das geht, den SN65HVD23x habe ich auch schon mit 3,3V (und dem MCP2515) benutzt, allerdings ohne eine Stromsparoption zu verwenden. Viele Grüße, Stefan
-
Thread
SPI CS direkt auf Masse legen?
Hallo, ich habe eine Frage bezüglich dem SPI Bus. Ich habe einen MCP2515 und würde den gerne mit einem Attiny85 verbinden, da ich mir wegen Pin Mangel einen Pin für CS sparen möchte und der MCP2515 der einzigste Slave auf dem Bus ist. Ist es möglich das ich einfach den
Chips immer Low. Aber ich verstehe nicht ganz was das beim SPI Input Timing bedeutet. Braucht der MCP2515 also vor jedem "Schreiben" einen Interrupt auf CS?
-
Thread
MCP2515 lässt sich nicht konfigurieren sonder geht in Sleep?
Hallo zusammen! Ich versuche gerade einen Mikrochip MCP2515 mit einem STM32G0 zu programmieren. Dazu versuche ich - ganz grundlegend - den MCP2515 in den Configuration Mode zu setzen. Der STM32 sendet dabei die folgenden Kommandos, siehe auch Logic Analyzer
> natürlich MISO So steht's links nebendran. Und sollte ja vom MCP2515 gesteuert werden, was aber offensichtlich nicht der Fall ist - es lassen sich folglich schonmal drei Möglichkeiten vermuten: - MISO ist nicht am MCP2515 angeschlossen - der MCP2515 sieht das /CS
-
Thread
mcp2515 listen only mode betreiben
Hallo, ich habe einen mcp2515 an einem At90crumb128. Da ich nur Can Botschaften über den mcp2515 empfangen möchte dachte ich, das es sinnvoll wäre, den mcp2515 im listen only mode zu betreiben. Zur Programmierung des mcp2515 verwende
, (1<<mcp2515_REQOP2)); mcp2515_bit_modify( mcp2515_CANCTRL, 0x80, 0); mcp2515_bit_modify( mcp2515_CANCTRL, 0x60, 1); } Zu einem Späteren zeitpunkt lesen ich die Reggister CANCTRL und CANSTAT aus. Laut
-
Thread
Welche Schnittstelle für Bus-System ?
Ich hab mal den MCP2515 per SPI an den Pi angebunden und einen SN65HVD230D als Transceiver dazu. Funktioniert bei mir wunderbar, wie man die Treiber dafür hinkriegt weiß Google - ich aus dem Kopf leider nicht mehr...
MCP2515 oder dem ECAN-Controller des erwähnten PIC18F25K80) und einem PHY (dem Analogteil, heißt bei CAN auch Transceiver). Der CAN PHY ist immer ein externer 8-Pinner im SO8 oder DIL8. Je nach spezifischen
-
Thread
Sendefehler MCP2515 / Arduino nur bei 10 kbps
Hallo zusammen, ich habe ein paar MCP2515/TJA1050/8MHz Can-Bus Modul (siehe Google, "MCP2515_CAN", diese blauen Dinger mit zwei Schraubterminals). Angebunden an einen Arduino Nano, nutze PlatformIO + https://github.com/autowp/arduino-mcp2515
Signal zu generieren ist für den ATmega328P aber schwierig, und man müsste das Signal noch zwischen MCP2515 TXCAN und den TJA1050 TXD rein-odern ... LG, Sebastian
-
Thread
MCP2515 Mitten im Bertieb Filter einstellen
vorsichtshalber den Interrupt If V1 = 0 And V2 = 0 And V3 = 0 Then Höhe = byte4 Länge = byte5 V1 = 1 Mcp2515_bitmodify2 Canctrl , &B11100000 , &B10000000 Mcp2515_write_register2 Rxf0sidh , &B11100110 Mcp2515_write_register2 Rxf0sidl , &B01000000 Mcp2515_bitmodify2 Canctrl
, &B10000000 Mcp2515_write_register2 Rxf0sidh , &B00110101 Mcp2515_write_register2 Rxf0sidl , &B10100000 Mcp2515_bitmodify2 Canctrl , &B11100000 , &B01100000 Mcp2515_read_register2 Goto
-
Thread
MCP2515 CNF1-3 berechnen
im Beitrag #2126406: > http://www.kvaser.com/en/support/bit-timing-calculator.html MCP2510 != MCP2515
Alex S. schrieb im Beitrag #2126505: >>MCP2510 != MCP2515 > > Sorry, was willst du mir damit sagen? > Ich weiss, dass es das Gleiche ist. != beschreibt in C eine Ungleichheit. Das soll eben sagen, dass MCP2510 _NICHT_ gleich MCP2515 ist !!!
-
Thread
MCP2515 - Nachricht empfangen - und dann? :)
Hi zusammen ! Ich quäle mich gerade mit dem MCP2515 herum. Ich habe kein Hard- oder Softwareproblem... eher ein "glaubenstechnisches" und hoffe auf ein Paar Anregungen ;-) Es geht um die Realisierung eines Hausbusses, nur damit ihr das Datenaufkommen
received> aus dem MCP2515 zu holen, bringt Dir nicht viel. Dann kannst Du den MCP2515 auch fast komplett ohne IR pollen. Wenn Du dagegen das msg-holen komplett in den MCP2515-Interrupttreiber verlegst, dann wird der Zugriff
-
Thread
SPI und MCP2515
Hallo zusammen, ich versuche mich zurzeit an einem CAN-Bus MCP2515, welcher über SPI angesprochen wird. Ich möchte die SPI Kommunikation über Interrupts umsetzen. Es scheint aber ein Problem zu geben wenn die Interrupts global aktiviert sind, dass die MCU (ATmega128
Natürlich hab ich ne ISR. [c] ISR (INT7_vect) { ... }[/c] Und der INT-pin vom MCP2515 ist an INT7 angeschlossen. Nein, SPIF soll gepollt werden. Ich erhalte einen Interrupt, wenn der MCP2515 eine neue Nachricht erhählt. Erst dann wird SPI überhaupt in Anspruch genommen und dann
-
Thread
MCP2515 und AVR durch PonyProg ISP zerstört
SPI-Interface einen ATMega32. Über das SPI-Interface ist der ATMega32 auch gleichzeitig mit einem MCP2515 und MCP2551 an einen CAN-Bus angeschlossen, etwa wie hier: http://www.mikrocontroller.net/attachment/89702/can.png. (außer, dass bei mir die RESET-Leitungen des AVR und des MCP2515 über einen gemeinsamen
programmieren. Allerdings meldete PonyProg gleich beim ersten Versuch: "No device found". Als ich dann den MCP2515 anfasse, ist dieser sehr (!) heiß. Der MCP2515 ist kaputt gegangen (ich habe ihn in anderen Schaltungen getestet). Der ATMega32 war ebenfalls hin, da bin ich mir aber nicht sicher, ob das sofort
-
Thread
MCP2515 sendet kein SO Signal an MISO (SPI)
keiner mehr eine Idee? Ich habe mich gestern abend nochmal hingesetzt und die Kommunikation mit MCP2515 neu geschrieben. Hab alle Dateien des Programms angehängt. wie gesagt, der AVR sendet über die SPI. Ich kann nur vermuten, dass der Fehler in der mcp2515.c liegt, wobei ich die Initalisierung diesmal
??? wie dem auch sei, ich habs grade getestet und es hat noch immer keine Wirkung [c] data = mcp2515_read(0x28); uint8_t mcp2515_read(uint8_t address) { cs_enable(CAN0); spi_transceive(SPI_READ); spi_transceive(address); uint8_t data = spi_transceive(0xaa); //Dummy Byte
-
Thread
at90can128 und externer can controller
Kommunikation den größten gemeinsamen Teiler zwischen beiden Quarzen finden? Oder muss das beim MCP2515 nicht sein, da über SPI auch ein SCK übertragen wird? Und überhaupt: MCP2515 oder SJA1000? Gruß jamest
ausprobieren und berichten! Das ist kein problem. ich hab nen mega8 (14,7456MHz) und nem mcp 2515 (16MHZ) miteinander verheiratet.
-
Thread
CAN übertragung brich ca. nach 10 sek ab
Benutze AVR und mcp2515, mcp2551 Warum bleibt die Kommunikation nach etwa 10 sek stehen?
via the SI pin, with data being clocked in on the rising edge of SCK. Data is driven out by the MCP2515, on the SO line, on the falling edge of SCK.....
-
Thread
Simpler CAN Baustein
MCP2515 - allerdings SPI
und leider ein Pic. Aber wenns nicht anders geht werd ich den nehmen. Hat wer Erfahrung mit dem mcp2515? Lg
-
Thread
UART mit mehreren Teilnehmern
ich mal nach einem Can Controller gesucht. Habt ihr an soetwas gedacht ? http://www.reichelt.de/MCP-2515-I-SO/3/index.html?&ACTION=3&LA=446&ARTICLE=54515&artnr=MCP+2515-I%2FSO&SEARCH=MCP2515 Weiterhin habe ich noch keine Erfahrung und müsste mich erst noch einarbeiten. Also verzeiht bitte folgende
nach einem Can Controller > gesucht. > Habt ihr an soetwas gedacht ? > http://www.reichelt.de/MCP-2515-I-SO/3/index.html?&ACTION=3&LA=446&ARTICLE=54515&artnr=MCP+2515-I%2FSO&SEARCH=MCP2515 Ich denke an das hier: http://www.reichelt.de/PIC-18-Controller/PIC-18F24K50-ISO/3/index.html?ACTION=3&GROUPID
-
Thread
[MSP430] Starthilfe zum MCP2515 CAN-Controller
des MSP's Der SN65HVD230D ist wie folgt verschaltet: 1 - D_TO_TXCAN - verbunden mit TXCAN vom MCP2515 2 - GND - verbunden mit GND 3 - VCC - verbunden mit VCC 4 - R_TO_RXCAN - verbunden mit RXCAN vom MCP2515 5 - VRET - nicht verbunden 6 - CANL - verbunden mit CAN-BUS (CANL) 7 - CANH - verbunden
Ich hatte mal einen F5508 mit einem MCP2515 und TJA1043 verwendet. Da musste noch ein RC-Glied zwischen MCP2515 und TJA1043 RX. Könnte sein, dass Du das auch gebrauchen könntest. Gruß Gunther
-
Thread
Probleme mit INT0 und Mega644
Ich verstehe die Situation noch nicht ganz. *MCP2515 CAN Controller* http://ww1.microchip.com/downloads/en/DeviceDoc/21801e.pdf *Atmega644* http://www.atmel.com/dyn/resources/prod_documents/doc2593.pdf 1/ Der MCP2515 ist mit seinem /INT Ausgang
ausgelöst hat, müssen die dazugehörigen >>Interruptbits gelöscht werden "INT pin is driven low by the MCP2515 and >>will remain low until the interrupt is cleared by the MCU" >>(Beitrag "CAN mit ATMega128 und MCP2515") Der '644 (= MCU) muss dann herausfinden, wieso der MCP einen /INT ausgelöst hat und
-
Thread
Bug in Bascom?
Abfrage: Do Waitms 1 Loop Int_mcp: Gosub Lesen Return Lesen: Disable Interrupts Mcp2515_read_register Rxb0d0 Wert1 = Canin Mcp2515_read_register Rxb0d1 Wert2 = Canin Mcp2515_read_register Rxb0d2 Wert3 = Canin If Wert1 = &H10 And Wert2 = &H00 And Wert3 = &H01 Then Gosub Bestaetigen
Du bist schon in einer INterrupt Service Routine. Interrupts sind da sowieso gesperrt. > > > Mcp2515_read_register Rxb0d0 > Wert1 = Canin > Mcp2515_read_register Rxb0d1 > Wert2 = Canin > Mcp2515_read_register Rxb0d2 > Wert3 = Canin > > > If Wert1 = &H10 And Wert2 = &H00 And Wert3 = &H01
-
Thread
MCP2515 und TJA1055 Sendet nicht TXD Problem
bißchen differenziell aus)? Liegt denn, wenn Du ein Problem bei der Verbindung vermutest, an TXCAN (MCP2515) und TXD (TJA1055) jeweils das gleiche an? Was ich untersuchen würde: 1. Bekommt der MCP2515 per SPI die richtigen Daten geliefert? 2. Läßt er erkennen, daß er etwas sendet / meint, etwas gesendet
bißchen differenziell aus)? Liegt denn, wenn Oben bei TXD in der Legende ist der PIN TXCAN am MCP2515 Controller und unten bei RXD der PIN RXCAN am MCP2515 Controller. Also beides sind Daten direkt am CAN Controller zum/vom Transceiver. Ganz unten im Bild ist ein Überblick der kompletten Aufzeichnung
-
Thread
Can Bus Kommunikation
Es kommt auch vor, dass innerhalb 400ms 20 Events generiert werden. Der MCP2515 kann aber nur 2 Receive Events gleichzeitig speichern. Nun kommt es vor, dass Daten zu schnell geschickt werden und dabei Events verschluckt werden. Um das zu lösen, habe ich ein kleines Protokoll
. Das regelt der MCP2515 schon von selbst und sendet nur wenn der Bus frei ist. Deine Software ist einfach zu langsam die empfangenen Botschaften aus den Receive-Puffern auszulesen bevor eine neuen Botschaft eintrifft.
-
Thread
Hardware MCP2515 "listen only mode" MIT Filtern und Masken
dem Bus machen darf. Also müsste ich den MCP2515 im "normal mode" laufen lassen aber errors/acks unterdrücken. Wie kann ich dies bewerkstelligen, dass der MCP2515 snifft und keine Fehler stati bringt? Danke im voraus
Push: Keiner einen reinen Sniffer mit dem MCP2515 gebaut?
-
Thread
SPI - RS-485 - CAN
MCP2515 eng verwandt ist. Die AT90CAN AVRs mit CAN drin sind demgegenüber deutlich komplexer gebaut.
Maik Geßner schrieb im Beitrag #2393573: > Werd wohl daher auf einen Pic18F6680 und einem MCP2515 steigen. somit > hab ich D/A I/O, RS485 und Can angedeckt... Der PIC hat CAN doch schon intern. Weshalb dann noch den MCP?
-
Thread
ISR wird nicht ausgeführt
Hallo, ich richte im Moment ein CAN-Bus-System (MCP2515) in Kombination mit einem ATMega128 ein. Senden funktioniert einwandfrei und der Empfang via pollen funktioniert auch. Ich würde gerne Rx-Interrupts benutzen und hab den INT-Pin des MCP2515 auf
"spi.h" #include "mcp2515.h" tCAN message; ISR (INT7_vect) { /*DDRA|=_BV(PA1);*/ if (mcp2515_check_message()) { uart1_puts("Lese Nachricht aus dem RxPuffer!\n\r"); // read the message from the buffers
-
Thread
Atmega8 kann MCP2515 per SPI nicht ansprechen
Hallo zusammen, Ich habe mein Problem bereits im MCP2515 Tutorial von Kreatives-Chaos gepostet, Eintrag vom 9. Juli 2009 http://www.kreatives-chaos.com/artikel/ansteuerung-eines-mcp2515 Leider konnte dort der Fehler auch nicht gefunden werden (ich habe
Schuß ins Blaue: Du hast die Frequenzen/Baudraten angepaßt, aber die Funktion mcp2515_init() [c] // test if we could read back the value => is the chip accessible? if (mcp2515_read_register(CNF1) != ((1<<BRP2)|(1<<BRP1)|(1<<BRP0))) { return false; } [/c] in der mcp2515
-
Thread
SPI-Problem mit MCP2515 und ATmega16
Hallo, ich versuche gerade einen MCP2515 zum laufen zu bringen. Dazu hab ich mir den CAN-SPI Adapter von www.avrcard.com besorgt, den ich an einen ATmega16 angeschlossen habe (10 cm Leitung). Zum testen der Kommunikation vom MCP2515
hat schon mal jemand den mcp2515/2510 unter einem msp430 angesteuert? würde mich brennend für den code interessieren :-) mfg tüdel
-
Thread
Sammelbestellung CAN Testboards
Das hängt eigentlich nur vom Quarz des MCP2515 ab. Mit 16 MHz sind 1 MBit problemlos erreichbar. Chris
vllt. noch jemand ein bestücktes Board, dass er abgeben möchte? :) Gibt es die Möglichkeit 2x MCP2515 einzubinden? Sorry für die Anfänger Frage :) Besten Gruß
-
Thread
USB schneller als mit den FTDIs
Mag sein, aber dessen Bugs sind ärger als die vom MCP2515. Was mich besonders stört, ist ein Bug, der scheinbar in allen integrierten Versionen drin steckt und bislang nur im MCP2515 behoben wurde: Wenn aus irgend einem Grund an passender Stelle in der
vor allem für deftig gewürzte Buglisten gesorgt > (PIC18Fx58,2580,PIC30,PIC24-ECAN). Während der MCP2515 in der aktuellen > Version vergleicherweise sauber ist. Das ECAN Modul in den neuen dsPICs ist wesentlich überarbeitet im Vergleich zum "alten" MCP2515. Die haben zB DMA. Ich hab die ECAN Module
-
Thread
MCP2515 senden wird nicht ausgeführt
Hi Leute, ich bin darüber mit zwei Atmegas32 sowie MCP2515 und MCP2551 eine Verbindung aufzubauen. Jedoch bekomme ich es nicht hin. Die SPI Verbindung zu den MCP2515 funktioniert. Ich kann Register beschreiben und im nachhinein auch wieder auslesen.
schon den MCP2515 mit einem neuen getauscht. Keine Änderung.
-
Thread
SPI mit mehreren Slaves intelligent selektieren
SPI slaves die mit der variablen "mcp" ausgewählt werden. [c] .. #include utils.h #define MCP2515_CA_A B,2 #define MCP2515_CA_A D,5 uint8_t can_read_status(uint8_t type, uint8_t mcp) { uint8_t data; if(mcp) RESET(MCP2515_CS_A); else RESET(MCP2515_CS_B); spi_putc(type); data = spi_putc(0xff); if(mcp) SET(MCP2515_CS_A); else SET(MCP2515_CS_B); return data; } [/c] Meine Idee ist es nun anstatt der code intensiven if/else blöcke ein Array über einen index ( wie z.B. die variable mcp ) anzusprechen
-
Thread
Wireless CAN mit Arduino Nano und HC-05
Umsetzung des Projektes mittels folgender Bauteile zu versuchen: 2x Arduino Nano 328P, 2x HC-05, 2x MCP2515_CAN Board Bilder der verwendeten HC-05 Module und der MCP2515_CAN Boards findet ihr im Anhang. Außerdem habe ich einen Prinzipschaltplan für das MCP2515 Board angehängt. Rx und Tx des HC-05
operation mode to normal so the MCP2515 sends acks to received data. pinMode(CAN0_INT, INPUT); // Configuring pin for /INT input counter = 0; } void loop() { if(!digitalRead(CAN0_INT))
-
Thread
CAN-Interface
CAN-Buskabel (CANH, CANL, Masse) noch einen CAN-Transceiver. Ziemlich üblich im Arduino-Bereich ist die MCP2515/TJA1050-Kombo, entweder als Modul oder als "Shield". Der Arduino kommuniziert mit dem MCP2515 über SPI(MOSI/MISO/SCK/CS)/INT/Masse und evtl. RST, der MCP2515 mit dem TJA1050 über TXCAN/RXCAN/Masse
den Due: "DAC and CAN channel not supported." Dann hat er den Due und braucht dennoch noch einen MCP2515 ... LG, Sebastian
-
Thread
Probleme mit SW SPI (aus Atmel appnote 320)
der Assembler Routine einmal zu viel geschiftet? Hier der Aufruf in der Funktion: [c]void mcp2515_write_register(const uint8_t address, uint8_t data ) { spi_enable_mcp2515(); spi_putc(SPI_WRITE); spi_putc(address); spi_putc(data); spi_disable_mcp2515(); } uint8_t mcp2515_read_register(const uint8_t address) { uint8_t ret; spi_enable_mcp2515(); spi_putc(SPI_READ); spi_putc(address); ret = spi_putc(0x00); spi_disable_mcp2515();
-
Thread
CAn-Controller und AVR ???
Habe MCP2515 CAN-Controller abzugeben (war eine Bestellung vom Großhändler). Bei Bedarf >> Mail MfG Uwe
MCP2515 CAN-Controller gibt es als Samples bei Microchip, und das für lau. Bis zu drei Stück pro Bestellung. Natürlich auch die anderen interessanten CAN-Steinchen...
-
Thread
Kommunikationsproblem zwischen ATMega32 und MCP2515 ueber ISP
einem AT90CAN128 und einen ATMega32 aufbauen. Dazu habe ich den ATMega32 mit einem CAN Controller MCP2515 und diesen Controller mit einem MCP2551 verbunden. Den Bus an sich habe ich noch nicht aufgebaut, da ich erstmal den MCP2515 initialisieren will. Dieser ist ueber ISP mit meinem ATMega32 verbunden
stimmt irgendetwas mit dem SPI-Interface nicht. Ich habe aus diesem Grund auch mal einen Pin des MCP2515 als Ausgang konfiguriert und mal ne LED drangehaengt um zu ueberpruefen, ob der MCP2515 initialisiert wurde. Leider ebenfalls ohne erfolg. Hat jemand eine Idee was ich falsch mache? Den Quellcode
-
Thread
Can Bus Daten auslesen
_500KBPS); // init can bus : baudrate = 500K Serial.println("CAN Init ok"); attachInterrupt(0, MCP2515_ISR, FALLING); // start interrupt Serial.begin(115200); } void MCP2515_ISR() { Flag_Recv = 1; } void loop() { if(Flag_Recv) // check if data was recieved { Flag_Recv = 0; // clear
Fehlerfeld unten taucht nun folgender Fehler auf: > C:\Program Files (x86)\Arduino\libraries\can\mcp2515.c: In function 'mcp2515_init': > C:\Program Files (x86)\Arduino\libraries\can\mcp2515.c:201: error: 'for' loop initial declaration used outside C99 mode kannst du mir da weiterhelfen? mfg
-
Thread
Seltsames SPI-Verhalten Atmega328P
PS: PB2 (!SS) ist nach bestem Wissen und Gewissen als Output konfiguriert, da er als !CS für das MCP2515-Modul benutzt wird.
Holger L. schrieb im Beitrag #7207754: > War bei dem "Arbeitstischaufbau" das MCP2515-Modul nicht angeschlossen? Nein, auch nicht. Das Problem war, dass ich SPI.begin() vor der MCP2515-Initialisierung aufgerufen habe, aber nicht auch vor der ST7735-Initialisierung, und dass die
-
Thread
Impuls über CAN auswerten
CAN_LOW ausgewertet werden. Wie kann man das am besten machen ? Muss der Impuls vorher noch über den MCP2515 laufen ?
Controller suchen, der einen CAN Controller hat. Oder du benutzt einen externen CAN Controller (zB: MCP2515).
-
Thread
CAN- als Haus-Bus
Knoten eigentlich nichts tut. Dummerweise kann man den Stromsparmodus beim von mir eingesetzten MCP2515 nicht nutzen, weil man dann laut Datenblatt das Frame verliert, das ankommt während der MCP2515 schläft. Daher ist eine Idee, eventuell "dumme" Knoten einzuführen, die kein CAN benutzen und schon
beherrscht? Also außer AT90CAN*, der braucht schon im IDLE-Modus mehr Strom als mein ATmeta644 (IDLE) + MCP2515 (aktiv) zusammen.
-
Thread
typedef struct führt zu unknown type name
CANMessage *p_message) { uint8_t length = p_message->length; // ID einstellen mcp2515_write_register(TXB0SIDH, (uint8_t) (p_message->id>>3)); mcp2515_write_register(TXB0SIDL, (uint8_t) (p_message->id<<5)); // Ist die Nachricht ein "Remote Transmit Request" if (p_message
aber keine Daten */ // Nachrichten Laenge + RTR einstellen mcp2515_write_register(TXB0DLC, (1<<RTR) | length); } else { // Nachrichten Laenge einstellen mcp2515_write_register(TXB0DLC, length); // Daten