FIFO / Ringbuffer

Im Unterforum Microcontroller - Beschreibung: Hardware - Software - Ideen - Projekte

Elektronik Forum Nicht eingeloggt       Einloggen       Registrieren




[Registrieren]      --     [FAQ]      --     [ Einen Link auf Ihrer Homepage zum Forum]      --     [ Themen kostenlos per RSS in ihre Homepage einbauen]      --     [Einloggen]

Suchen


Serverzeit: 27 10 2025  12:51:59      TV   VCR Aufnahme   TFT   CRT-Monitor   Netzteile   LED-FAQ   Oszilloskop-Schirmbilder            


Elektronik- und Elektroforum Forum Index   >>   Microcontroller        Microcontroller : Hardware - Software - Ideen - Projekte


Autor
FIFO / Ringbuffer

    







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


Zurück zur Seite 1 im Unterforum          Vorheriges Thema Nächstes Thema 


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