Forum: Mikrocontroller und Digitale Elektronik Ich suche eine PIC24 entwickler


von Savio (Gast)


Lesenswert?

Hi,
Im moment arbeite ich auf eine projekte mit PIC24FJ128GA010 - Explorer 
16 board und eine GPS/GPRS module. Ich brauche unterstützung oder hilfe 
von jemand wer die PIC24F gut kennt oder schoen mal gearbeitet hätte.

Würde ich mich sehr freuen wenn Ihr meldet.
VG
Savio

: Verschoben durch User
von Bronco (Gast)


Lesenswert?

Was sind denn Deine Probleme konkret?

von Savio (Gast)


Lesenswert?

Hello Bronco,
Ich habe eine SIM908 module und eine RFID lesser - ID-12. Ich kann 
schoen eine 125KHz karte lessen und die wert bei PIC lessen. Aber ich 
habe schwerigkeit mit die Clock (FCY). Ich habe die baud rate definiert 
für 19200  8 N 1..aber er generiert zwei verschidene rate "denke ich". 
ich brauche die Input Compare. und da muss ich auch die Timer definiern 
mit werte die bei Fcy/2 liegt..

zwitens muss ich auch die werten auf ne extern eeprom speichern und 
wider lessen. da brauche ich auch die sclk signal.

leider habe ich keine Oscilloscope..die krystal freq. zum testen.

wenn jemand bischien helfen kann ..mir professionalle efährung.. würde 
ich so dank bar sein..muss nichts für sonst sien..gibts däfur eine 
kleine belöhnung :) !

danke
Savio

von Bronco (Gast)


Lesenswert?

Savio schrieb:
> Ich habe die baud rate definiert
> für 19200  8 N 1..aber er generiert zwei verschidene rate "denke ich".
Das kann nicht sein. Der PIC generiert eine Baudrate.
Ich tippe, daß Deine ISRs zu lange brauchen und damit Dein komplettes 
Timing stören (siehe anderer Beitrag).

Tip:
Lasse eine LED per Timer mit 1Hz blinken.
Berechne vorher theoretisch (!) wie die Register konfiguriert werden 
müssen und vergleich dann Soll und Ist.
Falls die LED tatsächlich aber mit z.B. 2Hz blinkt, hast Du irgendwo 
einen Faktor 2 nicht bedacht - suche ihn.
Falls die LED unregelmäßig blinkt, hast Du Timingprobleme.

von Savio (Gast)


Lesenswert?

Hello Bronco..

bist du irgend wie in die nehe von Heidelberg - Karlsruhe.. kanst du mal 
vielleicht 1 oder 2 stnd.. mal helfen.. ?
danke
Savio

von Bronco (Gast)


Lesenswert?

Savio schrieb:
> bist du irgend wie in die nehe von Heidelberg - Karlsruhe.. kanst du mal
> vielleicht 1 oder 2 stnd.. mal helfen.. ?
Nein, zu weit weg.

Aber bei strukturierter Vorgehensweise kriegst Du das selber hin:
1. Sauberes Grundgerüst hinstellen
2. Nach und nach Funktionen hinzufügen und testen, ob diese stören

von pic (Gast)


Lesenswert?

Hast du pickit2 ?

von Savio (Gast)


Lesenswert?

ja ich habe pic kit 3. Explorer 16 und die PIC24F128GA010 PIM Module.

von Savio (Gast)


Lesenswert?

wenn ich dir die mcw schicke.. kanst du vielleicht mal anschauen.. und 
mal sagen wo ich etwas falsches mache..? ich kenne niemand hier wer eine 
code review macht.. es kann viel hilfreich sein :)!

von Bronco (Gast)


Lesenswert?

Du kannst auch Deinen Code als ZIP-Anhang hier ins Forum posten.

von Savio (Gast)


Angehängte Dateien:

Lesenswert?

danke :) hier habe ich die als zip version.

von pic (Gast)


Lesenswert?

pickit2 wäre als LA zu gebrauchen gewesen und damit hättest du dein 
Timing
verifizieren können, pickit3 kann das nicht, zumindest derzeit.

von Savio (Gast)


Lesenswert?

ich habe eine pickit 2 auch.. aber die benuze ich nicht weil ich eine 
pickit3 habe. wie kann ich timing verifiziern mit pick 2 !?

von Bronco (Gast)


Lesenswert?

Ich hab mir Deinen Code angesehen, und ich fürchte, Du programmiert die 
Interrupts grundsätzlich falsch.

Bsp:
1. In _U1RXInterrupt rufst Du process_GPRS_states() auf.
2. In process_GPRS_states() rufst Du putstring_U2() auf.
3. In putstring_U2() hast Du eine Polling-Schleife (!!!) auf 
IS_TRANSMIT_BUFFER_FULL_UART2().

Das könnte rein theoretisch dann funktionieren, wenn die Interrupts sich 
gegenseitig unterbrechen dürfen und die Priorität ganz genau stimmen. 
Aber ich wage zu beweifeln, daß Du das stabil hinbekommst.

Mach die ISRs so klein wie möglich und bearbeite die Aufgaben aus 
main(). Alles andere ist bei dieser Komplexität nicht zu beherrschen.

von Savio (Gast)


Lesenswert?

ja das stimmt.. ich habe codiert .. wie mann bei Java oder bei C# 
codiert.. habe ich nicht gedacht.. das die ISR so klein seine sollten.

das heisst.. muss ich die ganze.. umstruktieren oder.?.. ohh je.. das 
war schoen 3 woche arbeit bis jetz..vielleicht fange ich von vorne 
an..aber dieses mal.. vielleicht fokusiert auf ISR - klein zu halten..

und sonst.. was menist du mit die variable Buffer und specicher platz 
auf chip.. wege die ganze AT commands..!?

von Savio (Gast)


Lesenswert?

Hello Bronco,
Darf ich dir mal fragen.. ob du eine beispiel code hast.. das ich 
anschauen kannst.. für ISR und gesamte strukture..das es besser auf PIC 
ebene kommt !?
danke
Savio

von Bronco (Gast)


Lesenswert?

Ich habe den Eindruck, Dir fehlt das grundsätzliche Verständnis, wo die 
Unterschiede zwischen PC- und Microcontroller-Programmierung liegen.
Das kann ich aber nicht in ein paar Sätzen erklären. Lies doch die 
Tutorial auf dieser Webseite.

Beispiel Polling-Schleife: Das darf man nur machen, wenn man ganz genau 
weiß, daß dadurch nichts anderes verloren geht. Aber Polling im 
Interrupt killt Dir jedes Timing, das ist ein No-Go!

Fang doch mit einem kleinen, einfachen Projekt an und sammel 
Erfahrungen. Dann kannst Du die Komplexität langsam steigern.

von Savio (Gast)


Lesenswert?

Hi Bronco,
Danke für deine tip. Ich versuche es besser zum machen. Leider habe ich 
die projekte und das sollte ich in 2 woche fertig zum laufen bekommen.

ich weiss es ist schoen schwerig ist..ich bin schoen lern vähig. würde 
ich gerne mal die zum gute ende bringen..das wegen hab ich jemand hier 
gesucht..vielleicht kanst du mal helfen ein bischien besser struktur hin 
zu bringen und optimieren für µC ?!.

Ich sollte.. nur eine rfid tag lessen, eine gps signal empfangen und per 
gprs die daten übertragen.

vielleicht ..fange ich step-by-step...wenn du beim jeder stritt..nur die 
code-review macht.. ist ja dann toll..

von Bronco (Gast)


Lesenswert?

Savio schrieb:
> Leider habe ich
> die projekte und das sollte ich in 2 woche fertig zum laufen bekommen.
In welchem Kontext? Kommerzielles Projekt oder Studienarbeit?

> vielleicht kanst du mal helfen ein bischien besser struktur hin
> zu bringen und optimieren für µC ?!.
Du findest Hilfe zu konkreten Fragen hier im Forum. Aber 
grundsätzliches Verständnis für die Technologie (und das ist Dein 
Problem) mußt Du Dir selber aneignen. Das ist nicht in ein paar Sätzen 
erklärt.

von Savio (Gast)


Lesenswert?

>In welchem Kontext? Kommerzielles Projekt oder Studienarbeit?
es ist eine Kommerzielles Projekt. wenn du auch interesse hast..einfach 
melden.

>Aber grundsätzliches Verständnis für die Technologie (und das ist Dein
Problem) mußt Du Dir selber aneignen.
weil es einbischien zeitdruck gibt.. brauche ich hilfe/unterstuzung.

von pic u. (pic_user)


Lesenswert?

Savio schrieb:
> ich habe eine pickit 2 auch.. aber die benuze ich nicht weil ich eine
> pickit3 habe. wie kann ich timing verifiziern mit pick 2 !?

Pickit2 kann auch als logic analyzer verwendet werden mit 3 Kanälen.
Es kann dir helfen, Timing Probleme zu verstehen, bzw diverse Zustände
auf Pins abzubilden, wie Interrupt, Timing, welche du denkst, daß sie 
nicht
stimmen.

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.