ständige reboots eines dsPIC30F6015

Gast #6293244
Hallo Zusammen,

ich versuche gerade einen E-Bike BLDC-Controller von BionX zu verstehen, 
um eine eigene Firmware dafür zu entwickeln.
Ich konnte den Prozessor mit einem billigen PICkit2 auslesen und auch 
ein einfaches Blink- und UART- Beispiel flashen.

Blinken und UART-Kommunikation funktionieren auch, allerdings kommen 
immer nur die ersten xxx Zeichen richtig an, danach wird nur noch Müll 
gesendet und schließlich resettet sich der Prozessor.
Ich habe schon VSS, VDD und Reset mit dem Oszi beobachtet, die bleiben 
alle stabil.

Ich habe mit den PICs noch keine Erfahrung, passt da irgendeine 
Initialisierung nicht? Ich habe auch schon mit dem Watchdog rumgespielt, 
ohne Erfolg. Die Resets passieren auch, wenn ich in der Hauptschleife 
gar nichts sende...

Hier der Code:
https://github.com/stancecoke/Open-BionX-Motor-Controller-Firmware

Und die empfangenen UART-Nachrichten. Die ersten 19 Zeilen sind so, wie 
sie sein sollen, danach wird's komisch...
1
BionX OSF v0.0<\r><\n>
2
892<\r><\n>
3
892<\r><\n>
4
892<\r><\n>
5
892<\r><\n>
6
892<\r><\n>
7
892<\r><\n>
8
892<\r><\n>
9
892<\r><\n>
10
892<\r><\n>
11
892<\r><\n>
12
892<\r><\n>
13
892<\r><\n>
14
892<\r><\n>
15
892<\r><\n>
16
892<\r><\n>
17
892<\r><\n>
18
892<\r><\n>
19
892<\r><\n>
20
89<\r><\r><\n>
21
<\n>8<\r><\r><\n>
22
<\n>8<\r><\r><\n>
23
<\n>8<\r><\r><\n>
24
<\n>8<\r><\r><\n>
25
<\n>8<\r><\r><\n>
26
<\n>8<\r><\r><\n>
27
<\n>8<\r><\r><\n>
28
<\n>8<\r><\r><\n>
29
<\n>8<\r><\r><\n>
30
<\n>8<\r><\r><\n>
31
<\n>8<\r><\r><\n>
32
<\n>8<\r><\r><\n>
33
<\n>8<\r><\r><\n>
34
<\n>8<\r><\r><\n>
35
<\n>8<\r><\r><\n>
36
<\n>8<\r><\r><\n>
37
<\n>8<\r><\r><\n>

Gruß
hochsitzcola
Hallole,

>passt da irgendeine Initialisierung nicht?

hab nur die ersten zeilen in dem main.c angesehen, also nicht wirklich 
nach deinem problem geschaut.

Falsch ist schon mal deine FCY, die 16bitter PICs brauchen 2 clocks für 
einen befehlszyklus, nicht 4.
4 ist richtig bei 8 bittigen, zB PIC16/PIC18/PIC12.

>#define SYS_FREQ        7370000L
>#define FCY             SYS_FREQ/4

so mache ich es:

#define FOSC 79227500UL  // clock anpassen, hier ca 80Mhz nach PLL für 
dsPIC33 !
#define FCY  FOSC/2UL

mfG
Peter ;-)

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 6 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.