Ich darf mich mal selbst zitieren, diesmal auf Deutsch: “MIOS kann alles was Du willst, nur muss es auch jemanden geben, der es so programmiert wie Du willst…”
Gruss,
Thorsten.
P.S.: Dies ist kein ignorantes Posting, nur habe ich gerade keine Zeit, deine Fragen genauso ausfuehrlich zu beantworten, wie ich es schon des oefteren bei anderen Leuten getan habe… hier hilft die Search-Funktion des Forums weiter.
O.K., besten Dank bis hierhin schonmal. Es bleibt aber meine Frage bzgl. der maximal an einen Core anschließbaren Module.
Ist das etwa auch nur programmierbedingt, oder gibt es physikalische Grenzen (z.B. bei 4 Dout wie bei MIDIO128 ist schluss !)?
Sollte ich mir Literatur zur Assembler-Programmierung besorgen, oder könnte man unter Verwendung bereits bestehender Projekte (z.B. Midibox 64) und viel Hilfe aus dem Forum so damit zurecht kommen.
Ist das etwa auch nur programmierbedingt, oder gibt es physikalische Grenzen (z.B. bei 4 Dout wie bei MIDIO128 ist schluss !)?
kommt darauf an. Du kannst die LEDs bspw. auch Multiplexen, so wie es bspw. in der MIDIbox64E, MIDIbox LC (LED rings und meters) und MIDIbox SID (Modulations Matrix) demonstriert wird, hierbei gibt es quasi keine wirkliche Begrenzung. Und wenn Dir 1024 LEDs zu wenig sind, dann schliesst Du halt eine weitere DOUTX4 Kette an seperate Pins und steuerst sie von einer eigenen Routine aus an.
Sollte ich mir Literatur zur Assembler-Programmierung besorgen, oder könnte man unter Verwendung bereits bestehender Projekte (z.B. Midibox 64) und viel Hilfe aus dem Forum so damit zurecht kommen.
die uebliche Literatur hilft Dir hier nicht wirklich weiter. Es gibt jedoch zahlreiche - kommentierte! - Beispiele in der MIOS Download Sektion, mit denen man die Programmierung Schritt fuer Schritt erlernen kann. Die groesseren Applikationen sind dann schon etwas abgehoben programmiert und nicht immer auf Anhieb verstaendlich (ihr wollte ja immer so viele Features auf einmal ;-)), aber auch hier kann man sich zurechtfinden, wenn man erstmal die Beispiele durchgearbeitet hat.
Informationen ueber den PIC18F452 und dessen Assembler-Befehle gibt es auf der Microchip Homepage.
Zum Thema LED hab ich noch ein Problem. Sind Low-Current-LED zu bevorzugen oder wie sieht das denn mit dem maximalen Strom, den so ein Core verträgt. Der LM7805 macht ja max 1A mit bei entsprechender Kühlrippe. Komm ich da bei 200 LED bei 20mA pro einer normalen LED nicht in Teufel’s Küche wenn man ziemliche viele LED (also alle) auf einmal leuchten sollen?
Ach, nochwas liegt mir aufm Herzen. Bei Reichelt gibts nur einen PIC 1818F442-I/P. Ist der baugleich zum 18F452-I/P ? Wenn nein, gibs den 452 nur bei microchip, also vom Hersteller selbst ?
LEDs: Die Rechnung stimmt scho. Wird ne ziemlich heiße Sache. ;D
ABER: Sobald du die LEDs z.B. multiplexed , bist du aus dem Schneider (Bspl: 64 LEDs auf 8x8 multiplexed - auch wenn alle 64 an sind - es sind immer nur 8 unter Spannung - also 8 x 20 mA statt 64 x 20 mA)
PICs: Jau, auf microchip.com gibts die als Samples. Im Forum gibts genügend Threads drüber, einfach mal danach suchen (“Samples” “Microchip” oder sowatt)
Fuer das Multiplexen koenntest Du Dir vielleicht mal das ENC Example 3 anschauen, aus dem Header:
;
; ENC Example, Part 3
;
; Purpose:
; -> Sends a MIDI event when one of 64 encoders (#0-#63) is moved
; -> Prints the value on LCD
; -> updates the encoder value if CC#0 - CC#63 has been received via MIDI
; -> handles 64 LED rings
;
; For interest:
; -> variable definitions in app_defines.h
; -> ENC initialization in main.asm, USER_Init
; -> ENC pin definitions in mios_tables.inc, MIOS_ENC_PIN_TABLE
; -> single encoder handler in main.asm, USER_ENC_NotifyChange
; -> simple display handler in main.asm, USER_DISPLAY_Tick
;
; -> MIDI events which have been defined in mios_tables.inc, MIOS_MPROC_EVENT_TABLE
; -> MIDI event handler in main.asm, USER_MPROC_NotifyFoundEvent
;
; -> LED ring handler in ledrings_handler.inc (called by main.asm, USER_SR_Service_Prepare)
Der Code, der Dich interessieren duerfte, steht in ledrings_handler.inc
Du musst natuerlich nicht alle 64 Ringe (=768 LEDs) anschliessen, man muss sie auch nicht ringfoermig anordnen… und das Beispiel funktioniert auch mit weniger LEDs
Zu den Haendlern, die den PIC18F452 fuehren (nein, der PIC18F442 ist nicht kompatibel): siehe die CORE Bestell-Liste: