FIFO / Ringbuffer Im Unterforum Microcontroller - Beschreibung: Hardware - Software - Ideen - Projekte
| Autor |
|
|
|
BID = 180383
mraimann Gerade angekommen
Beiträge: 5
|
|
Hallo zusammen ich hab folgendes Problem:
Also ich habe ein CCS Compiler mit dem PIC 18F452 und ich brauche für diesen einen FIFO ich weiss aber nicht wie ich diesen realisieren muss. Also als erstes wüsste ich gerne ob der irgend wie Hardware mässig in einem PIC integrierrt ist oder man den rein Software mässig realisiert?
Ich brauche einen Struct oder ein Variabelnfeld der ein Zuganscode(dem Zugangscode der max. int16 ist ) mit folgenden Daten verknüpft: dem Datum und der Zeit verknüpft.
Das Datum und die Zeit werden mit diesem void ausgelesen :
Code:
void rtc_get_date(BYTE& day, BYTE& mth, BYTE& year, BYTE& dow) //Void
rtc_get_date(day,mth,year,dow) //Das ist die funktion fürs auslesen
void rtc_get_time(BYTE& hr, BYTE& min, BYTE& sec) // Void
rtc_get_time(hr,min,sec) // Funktion für die Zeit
So und dann noch ein Bit ob dieser Benutzer einen Alarm ausgelöst hat.
Dann sollten die letzten 50 Benutzer über RS232 ausgeben werden etwa so
Benutzer:..................Datum:....................Zeit:..................... Alarm:
-----------------------------------------------------------------------------------
98457998................16.05.2005.............17.30 Uhr..............Nein
45235345................16.05.2005.............17.00 Uhr..............Nein
34523452................14.05.2005.............12.30 Uhr..............JA
32454567................13.05.2005.............09.30 Uhr..............Nein
Also so ungefähr sollte das Aussehen kann mir da jemand weiterhelfen? Hab schon n paar theaders gelesen aber bin noch nicht so ganz schlau draus geworden.
Gruss Michael |
|
BID = 180460
Her Masters Voice Inventar
     
Avatar auf fremdem Server ! Hochladen oder per Mail an Admin
Beiträge: 5312 Wohnort: irgendwo südlich von Berlin
|
|
mach dir doch einfach ein Array mit 50 Feldern und zähl ganz einfach ab. Wenn du bei 50 angekommen bist gehts wieder von vorn los. Mit dem Array und dem Zähler kannst du die Form der Ausgabe selbst bestimmen.
_________________
Tschüüüüüüüs
Her Masters Voice
aka
Frank
***********************************
Der optimale Arbeitspunkt stellt sich bei minimaler Rauchentwicklung ein...
*********************************** |
|
BID = 180553
mraimann Gerade angekommen
Beiträge: 5
|
ok vielen dank noch eine andere Frage. Ich habe einen DTMF-Decoder der hat 4 Anschlüsse an denen der Wert angegeben wird und ein Controll anschluss der ist high wenn ein neuer Ton dedektiert wurde.
also wird ein Ton detektiert z.B. die 1 dann sieht das so aus:
Q4----Q3----Q2-----Q1----Std Taste
-0------0-----0-------1------1-- 1
-0------0-----1-------0------1-- 2
... bis
-1------0-----1-------1------1-- *
-1------1-----0-------0------1-- #
Wie soll ich das Lösen wenn ich 4 Zahlen hintereinander so einlesen muss und dann zu einem INT (4 Stellen) zusammen setzen muss? Die # Taste soll als eingabe bestätigung gelten. Wie kann ich das lösen? habt ihr irgend welche vorschläge wie ich das Programmieren könnte in C?
gruss michael
|
BID = 181034
ffs_hiwi Gesprächig
  
Beiträge: 153 Wohnort: Reinbek
|
hi,
du kannst die 4 ausgänge einfach an 4 eingänge der mcu hängen, dann warten bis der controllanschluss high ist, (pollen oder per interrupt) und dann den port lesen.
dann brauchst du einen zähler, der eben bis 4 zählt oder den port prüft ob das bitmuster für # anliegt und dann abbricht bzw die daten weiterverarbeitet,
ich würde die 4 ziffern erstmal in 4 variablen oder array speichern.
(alternativ nach jeder ziffer verarbeiten)
du brauchst dann eine routine die aus deinen binärdaten hex oder ascii zeichen macht wenn du sie ausgeben willst, ansonsten kannst du sie in bitfeldern speichern und nur bei der ausgabe konvertieren.
wenn sie also nur intern verarbeitet werden und nicht gespeichert oder ausgegeben sind bitfelder einfach zu handhaben. da du nur 4 bit brauchst läßt sich das prima in einem 16Bit wort abspeichern.
gruss
|
|
Zum Ersatzteileshop
Bezeichnungen von Produkten, Abbildungen und Logos , die in diesem Forum oder im Shop verwendet werden, sind Eigentum des entsprechenden Herstellers oder Besitzers. Diese dienen lediglich zur Identifikation!
Impressum
Datenschutz
Copyright © Baldur Brock Fernsehtechnik und Versand Ersatzteile in Heilbronn Deutschland
gerechnet auf die letzten 30 Tage haben wir 14 Beiträge im Durchschnitt pro Tag heute wurden bisher 9 Beiträge verfasst © x sparkkelsputz Besucher : 186039898 Heute : 10042 Gestern : 20288 Online : 188 27.10.2025 12:51 11 Besucher in den letzten 60 Sekunden alle 5.45 Sekunden ein neuer Besucher ---- logout ----viewtopic ---- logout ----
|
xcvb
ycvb
0.0274369716644
|