hmm.. ? schrieb:> "Porblem"?
Vielleicht ist ein Forum nicht der geeignete Aufenthaltsort für dich,
wenn dir die Gehirnkapazität fehlt den Zusammenhang zwischen "Porblem"
und "Problem" herzustellen.
@ René: Vielen Dank, dass du das übernommen hast.
@ ggg:
Ich habe noch
CAN_InitStructure.CAN_SJW = CAN_SJW_1tq;
CAN_InitStructure.CAN_BS1 = CAN_BS1_9tq;
CAN_InitStructure.CAN_BS2 = CAN_BS2_5tq;
30 mhz 8 (1+9+5) =250k/Bits
ausprobiert, damit dieses 75% Verhältnis eingehalten wird. Aber damit
funktioniert es leider auch nicht. Ich weiß, ehrlich gesagt, auch nicht
was es mit den Zeitquanten auf sich hat. Außer, dass da noch der Teiler
weiter runter geht. Bzw. ich weiß dass was im Diller Tutorial
http://www.diller-technologies.de/stm32.html#timer geschrieben wurde.
Ich werde mal google weiter befragen. Im Datenblatt des stm32f205 find
ich da leider nichts.
Ich habe jetzt noch einmal mit den Zeitquanten gearbeitet. Jetzt bin ich
schonmal auf 250 kBit. Dann muss ich die wohl noch weiter anpassen. Mal
schaun ob ich noch was zu lesen dafür finde. Jetzt stehts auf :
CAN_InitStructure.CAN_SJW = CAN_SJW_1tq;
CAN_InitStructure.CAN_BS1 = CAN_BS1_10tq;
CAN_InitStructure.CAN_BS2 = CAN_BS2_4tq;
Den Calculator habe ausprobiert. Bin jetzt auf 250kBit. Ich komme aber
einfach nicht höher. Ich hab schon dieverse Einstellungen durch...
Könnte das evtl daran liegen, dass ich einen schnelleren Quarz brauche,
damit das stabil läuft? zZ. Hab ich 8 Mhz drin. Aber eigentlich sollte
das auch damit gehen, oder!?
so läuft es bei mir perfect... Wie lang ist dein Bus? Ich meine
imDatenblatt steht die entsprechende Formel..
mit den Quanten stellst du ein an welcher stelle eines bits abgetastet
wird. das ist vorallem für das ack wichtig!!
1
/**
2
* @brief Konfiguriert CAN1.
3
* @param None
4
* @retval None
5
*/
6
voidCAN1_Config(void){
7
GPIO_InitTypeDefGPIO_InitStructure;
8
9
/* CAN GPIOs Konfiguration **************************************************/
oh ich sehe gerade du suchst ja garnicht für den f4.... bei dir scheint
was mit dem takt generell nicht zu stimmen. bist du sicher, dass überall
der takt anliegt den du vermutest? hast du einen LA bzw ein Scope?
Schicke mal eine nachricht mit nur 0xaa, denn kannst du messen, ob can
auc wirklich so eingestellt ist, wie du denkst. ansonsten weiter an den
quanten drehen...
viel erfolg
Hallo bibu,
zur Information: unter http://www.bittiming.can-wiki.info kann man
sich einfach für den bxCAN die Einstellungen für den Abtastzeitpunkt
(Zeitsegmente 1 und 2) sowie für den Baudrate Prescaler berechnen
lassen. Dabei ist die Kenntnis der vorher am CAN-Prescaler anliegenden
Eingangsfrequenz aber zwingend notwendig (d.h. PCLK1=APB1-Clock, beim
STM32F10x also z.B. max. 36 MHz; siehe Reference Manual RM008, Seite
90).
Viele Grüße
Jetzt hab ich erstmal einiges zu lesen. Besten Dank! Ich hoffe ich komm
heute noch dazu, Ich werde dann mal Meldung geben, wenn ich Erfolg
verbuchen kann.
So, eine Lösung ist gefunden. Es lag nicht an den Quanten... Ich musste
meine Erdungen an meiner Platine verändern. Dann gings auch mit den
schnelleren Baudrate. Bzw. ich habe auch noch einen anderen
DC/DC-Wandler eingesetzt.
Vielen Dank für die ganzen Hilfen !