ständige reboots eines dsPIC30F6015

Gast #6293244
Lesenswert?

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
#6293740
Lesenswert?

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

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren