Ich suche eine PIC24 entwickler

Gast #2774701
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
Gast #2774717
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.
Gast #2774736
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
Gast #2774792
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.
Gast #2774804
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..!?
Gast #2774845
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.
Gast #2774863
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..
Gast #2774928
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.
Gast #2774967
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.
#2775077
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.

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