-
-
Hilfe bei Eprom
Ich habe eine frage und zwar, wie kann ich in einem (FLASH) EPROM etwas reinschreiben? Was benötige ich dafür ?
Muss dann das Signal HEXadezimal oder Binär sein.
Denn meine Problem ist der, ich bekomme ein 5 bit Hexadezimalcode. Dieser soll dann verglichen werden mit einer vorgegebenen Liste.(kann man ja im µC einprogrammieren)
Da der speicher von einem Atmega nicht all zu groß ist wollte ich hierfür einen EPROM nehmen
ich hoffe ihr habt es verstanden und könnt mir weiter helfen.
-
Hi!
Es gibt ziemlich viele (Flash-) EEPROMs auf dem Markt. Gängig sind im Bastlerbereich die 24Cxx Serien (z.B. 24C01 mit 1kBit speicher, ...02 mit 2kBit, usw.), welche mit I²C angesteuert werden.
Wie genau du das anstellen musst, hängt vom ROM ab, das du einsetzen willst (für die 24Cxx Serie ist alles genau im RN-Wissen beschrieben).
MfG
Basti
-
Erfahrener Benutzer
Robotik Einstein
5 bit können schwerlich Hexadezimal sein, das funktioniert nur mit ganzen Nibbles. Du bekommst also einen Binärwert über 5 parallele Eingänge. Das heisst, Du hast maximal Werte von 0-31, mit mehr kann also kaum verglichen werden. Dazu sollte das interne EEPROM fast alles Controller reichen, und der Vorteil dabei wäre, dass man es gleich in einem Rutsch mit dem sowieso benötigten Programmer für den uC beschreiben kann.
Für ein EPROM bräuchte man ansonsten ein entsprechendes Programmiergerät.
-
die 5 bit hexa kommen von einem Lesegerät und dieser soll im Eprom rein geschrieben werden...
Damit er verglichen werden kann
Wie groß muss denn, dann ca der SPeicher der EPROMS sein?
-
Erfahrener Benutzer
Robotik Einstein
5 bit binär. Beschreibe bitte in ganzen Sätzen einmal, was das Ganze werden soll, so wie es da steht macht es keinen Sinn.
-
Hallo,
Dir scheint das mit Hexadezimal und Binär noch nicht ganz klar zu sein. Die Hexadezimale Schreibweise ist einfach nur für menschen lesbarer als die Binäre. Für den Controller ist das ein und dasselbe, wenn nicht der Hexadezimalcode als character codiert ist. Dann mußt Du umrechnen, was aber cuh nicht so schwer ist.
Eckhard
-
also ich habe mir den RFID leser 1 PLus von Conrad bestellt.
http://www1.conrad.de/scripts/wgate/zcop_b2c/~flNlc3Npb249UDkwV0dBVEU6Q19BR0FURTE1OjAwMDEuMDA0M S5kZTIyOGU1OSZ+aHR0cF9jb250ZW50X2NoYXJzZXQ9aXNvLTg 4NTktMSZ+U3RhdGU9MTEyNTg0Njg4Mg==?~template=PCAT_A REA_S_BROWSE&mfhelp=&p_selected_area=%24ROOT&p_sel ected_area_fh=&perform_special_action=&glb_user_js =Y&shop=B2C&vgl_artikel_in_index=&product_show_id= &p_page_to_display=DirektSearch&~cookies=1&zhmmh_l fo=&zhmmh_area_kz=&s_haupt_kategorie=&p_searchstri ng=rfid&p_searchstring_artnr=&p_search_category=al le&r3_matn=&insert_kz=&gvlon=&area_s_url=&brand=&a mount=&new_item_quantity=&area_url=&direkt_aufriss _area=&p_countdown=&p_80=&p_80_category=&p_80_arti cle=&p_next_template_after_login=&mindestbestellwe rt=&login=&password=&bpemail=&bpid=&url=&show_wk=& use_search=3&p_back_template=&template=&kat_save=& updatestr=&vgl_artikel_in_vgl=&titel=&darsteller=& regisseur=&anbieter=&genre=&fsk=&jahr=&jahr2=&dvd_ error=X&dvd_empty_error=X&dvd_year_error=&call_dvd =&kna_news=&p_status_scenario=&documentselector=&a ktiv=&p_load_area=$ROOT&p_artikelbilder_mode=&p_so rtopt=&page=&p_catalog_max_results=20
so und wenn man einen Tag an die Antenne des Lesegerätes hält gibt er ein 5bit hexadezimalen Wert aus.
Ich habe mehrere Tags, jeden von ihnen wollte ich eine andere Erkennung geben.
Das heißt als erstes kommt Typ X hält seinen Tag da dran und wird dann z.b. auf einem LCD Display begrüßt.
Der µC soll sozusagen aus einer Liste dann die Signale vergleichen.(Das ankommende Signal und das einprogrammierte)
-
Erfahrener Benutzer
Roboter Experte
Viele uC-s haben schon selber EEPROMs on-Board, da kannst Du dann von der Größe des Speichers abhängig locker 512-1024 Tags abspeichern.
(1 Tag = 1 Byte)
-
Erfahrener Benutzer
Robotik Einstein
Aha, es wird immer einfacher. Du hast also 5 Leitungen, die binär Zahlen zwischen 00-1Fh bzw 0-31d darstellen können. Wenn Du die an einen Eingang, zB PORTA eines AVR, in der richtigen Reihenfolge anlegst, brauchst Du nur noch abfragen, welche Zahl da gerade am Port anliegt (Pseusocode):
if( PINA == 1 ) print "Hallo Eins!"
elsif( PINA == 2 ) print "Hallo Zwei!"...
Du kannst natürlich auch ein zweidimensionales Array of chars oder ein einfaches Array of strings definieren, je nachdem, was die von Dir in Erwägung gezogene Sprache hergibt, und darüber die Inhalte adressieren.
-
ja aber was ich nicht verstehe, das geht ja schlecht da diese einen Tags unterscheidliche Werte/Signale haben.
Kann ich ja nicht einfach sagen wenn der Port High ist, soll er das ausgeben...
Er muss ja schließlich noch die einzelnen Tags erkennen können..
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- Anhänge hochladen: Nein
- Beiträge bearbeiten: Nein
-
Foren-Regeln
Lesezeichen