Forum: Mikrocontroller und Digitale Elektronik allgemeine PicoMite Anfängerfragen


von Peter N. (alv)


Lesenswert?

Da die ursprüngliche Frage eigentlich gelöst ist, mache ich mal ein 
neues allgemeines Thema auf.

Ich habe an meinem Raspberry Pi Pico mit "Betriebssystem" PicoMite jetzt 
eine SD-Karte drangebastelt (nach der deutschen PicoMite-Anleitung).

Die SD-Karte ist 2GB groß und mit FAT32 formatiert.

Das funktioniert auch soweit...
Nur warum sehe ich die Dateien, die ich mit dem PC auf die SD-Karte 
geschrieben habe, nicht auf dem Pico,
und warum sehe ich die Dateien, die ich mit dem Pico draufgespeichert 
habe, nicht auf dem PC?

von Uwe D. (monkye)


Lesenswert?

Ohne das ich jetzt den Code angeschaut hätte: Schreibst bzw. Liest Du 
tatsächlich von der SD Card?

Nachtrag (aus der Dokumentation MMBasic):
- Laufwerk A: schreibt/liest Flash
- Laufwerk B: schreibt/liest SD-Card

: Bearbeitet durch User
von Peter N. (alv)


Lesenswert?

Uwe D. schrieb:
> Nachtrag (aus der Dokumentation MMBasic):
> - Laufwerk A: schreibt/liest Flash
> - Laufwerk B: schreibt/liest SD-Card

Ist das nicht genau umgekehrt?

Ich habe ohne Laufwerksangabe mittels <save "name"> das Programm 
gespeichert.
Laut PicoMite-Anleitung speichert das auf SD-Karte.
Mit <files> wurde auch die Datei "name" angezeigt (nur die und 
bootcount) und eine Laufwerksgröße von 2GB. Also ist es die SD-Karte.

Im PC sind sind ein paar .h2w-Dateien und eine (andere) .bas-Datei auf 
der SD-Karte. Diese sind auf dem Pico nicht zu sehen, ebenso wie die 
Dateien "name" und bootcount desPico auf dem PC nicht zu sehen sind.

von Uwe D. (monkye)


Lesenswert?

Peter N. schrieb:
> Uwe D. schrieb:
>> Nachtrag (aus der Dokumentation MMBasic):
>> - Laufwerk A: schreibt/liest Flash
>> - Laufwerk B: schreibt/liest SD-Card
>
> Ist das nicht genau umgekehrt?
>

Guckst Du hier - vielleicht habe ich auch falsch gelesen:
https://geoffg.net/Downloads/picomite/PicoMite_User_Manual.pdf

Ab Seite 16 gehts los, auf Seite 17 steht dann was zu SD Cards.

von Peter N. (alv)


Lesenswert?

Du scheinst recht zu haben.

Komisch nur, daß ich meine, ohne SD-Karte Flash als B: ansprechbar 
war...

Ich werde das morgen mal ausprobieren.

von Peter N. (alv)


Lesenswert?

@Uwe D.:

Du hattest recht, ich habe die Laufwerke vertauscht.

Gibt es eine Möglichkeit, per Prompt anzuzeigen, welches Laufwerk gerade 
aktuell ist?

von S.E. (Gast)


Lesenswert?

Peter N. schrieb:
> Gibt es eine Möglichkeit, per Prompt anzuzeigen, welches Laufwerk gerade
> aktuell ist?

Bitte schaue doch ins Forum The Backshed um dort direkte Infos zu 
bekommen so wie Antworten auf Deine Fragen.

Für die Forenaktivisten hier, ist MMBASIC nur Spielerei.

https://www.thebackshed.com/forum/ViewForum.php?FID=16

https://www.thebackshed.com/forum/ViewTopic.php?FID=16&TID=15457&LastEntry=Y#197982

Die Entwickler Peter, Geoff und die Community sind dort aktiv und es 
gibt nahezu täglich Updates!

von S.E. (Gast)


Lesenswert?

Auszug aus Doku
https://geoffg.net/Downloads/picomite/PicoMite_User_Manual.pdf



CWD$
Will return the current working directory.
 EOF( #fnbr )
Will return true if the file previously opened for INPUT with the file 
number ‘#fnbr’ is positioned at the
end of the file.
 LOC( #fnbr )
For a file opened as RANDOM this will return the current position of the 
read/write pointer in the file.
 LOF( #fnbr )
Will return the current length of the file in bytes.
 MM.INFO(drive)
Will return the current active drive – ie, "A:" or "B:"
 MM.INFO(free space)
Will return how much space is left on the active drive
 MM.INFO(disk size)
Will return the size of the active drive

von Peter N. (alv)


Lesenswert?

S.E. schrieb:
> Bitte schaue doch ins Forum The Backshed um dort direkte Infos zu
> bekommen so wie Antworten auf Deine Fragen.
>
> Für die Forenaktivisten hier, ist MMBASIC nur Spielerei.

Schade.
Für mich ist Basic (das ich vor 40 Jahren recht gut konnte) die einzige 
Möglichkeit den µC zu programmieren.
Mit den in PicoMite eingbauten Funktionen rücken etliche bisher zu den 
Akten gelegten Projekte wieder in greifbare Nähe.

Gibts irgendwo ein deutschsprachiges Forum zu PicoMite?

: Bearbeitet durch User
von Uwe D. (monkye)


Lesenswert?

Peter N. schrieb:
> S.E. schrieb:
>> Bitte schaue doch ins Forum The Backshed um dort direkte Infos zu
> Schade.
> Für mich ist Basic (das ich vor 40 Jahren recht gut konnte) die einzige
> Möglichkeit den µC zu programmieren.
> Gibts irgendwo ein deutschsprachiges Forum zu PicoMite?

Es gibt ja weitere BASIC Dialekte, wie z.B. BASCOM (mcselec.com) oder 
mikroBasic (mikroe.com). Bei BASCOM gibt es ein deutsches Forum.

Erfahrungsgemäß sind die englischsprachigen Foren mindestens genauso 
gut. Klar, sprachlich könnte es eine Hürde sein. Es gibt aber gute 
Übersetzer - das geht schon. Vor allem eröffnet sich damit eine sehr 
breite Palette an Projekten in aller Welt, da ist fast jedes Problem 
schon einmal gekaut worden.
Hier im Forum kannst Du nach ASM & C fragen, alles andere ist 
suboptimal.

von Peter N. (alv)


Lesenswert?

Uwe D. schrieb:
> Es gibt ja weitere BASIC Dialekte, wie z.B. BASCOM

Wenn ich irgendwo auf BASCOM gestoßen bin, sah mir der Dialekt etwa so 
aus, wie der Unterschied zwischen Hochdeutsch und Bayrisch.
Laut einer kurzen Google-Nachfrage scheint es außerdem BASCOM nicht für 
den Pico zu geben.

Uwe D. schrieb:
> Erfahrungsgemäß sind die englischsprachigen Foren mindestens genauso
> gut. Klar, sprachlich könnte es eine Hürde sein

In Fremdsprachen war ich noch nie sehr gut, und inzwischen bin ich zu 
alt, um mehr als Datenblätter und kurze Beschreibungen auf Englich ohne 
Kopfschmerzen zu lesen.
Gerade die deutsche PicoMite-Anleitung hat mich dazu gebracht, 
erfolgversprechend mit dem Pico zu experimentieren.

Wenn die PicoMite-Anleitung wenigstens systematischer aufgebaut wäre, 
oder es Querverweise zu verwandten Befehlen gäbe.
Wie findet man denn darin, was man gerade braucht?

Uwe D. schrieb:
> Hier im Forum kannst Du nach ASM & C fragen, alles andere ist
> suboptimal.

Zumindest habe ich hier einige brauchbare Antworten bekommen.
Vielleicht lassen sich ja noch andere PicoMite-Fans anlocken...?

von Sigi S. (sermon)


Lesenswert?

Peter N. schrieb:
> Wenn die PicoMite-Anleitung wenigstens systematischer aufgebaut wäre,
> oder es Querverweise zu verwandten Befehlen gäbe.
> Wie findet man denn darin, was man gerade braucht?
PDF Suche, ganz einfach
>
> Uwe D. schrieb:
>> Hier im Forum kannst Du nach ASM & C fragen, alles andere ist
>> suboptimal.
>
> Zumindest habe ich hier einige brauchbare Antworten bekommen.
> Vielleicht lassen sich ja noch andere PicoMite-Fans anlocken...?
Vergiss es.
Ich bin ein Fan und war von Anfang an dabei.
Viele dort sind eit jenseits der 60.
Was Geoff/Peter da auf die Beine stellen ist einfach nur cool.
Jag es doch einfach beidseitig durch den Google Translator.
Das funktioniert einwandfrei und die Sprachbarriere ist beseitigt
Mach Dir einen Account in The Backshed.
Da helfen auch einige deutschsprachige gern, ich auch ;-)

BG

von Sigi S. (sermon)


Lesenswert?

Vorgestern fragte ich nach einer Telnet Implementierung.
Heute wurde es fertig!

Wie cool ist das denn?!

Raspberry Pi Pico W, jetzt mit http/ Telnet und den ganzen anderen 
geilen Kram!


https://www.thebackshed.com/forum/ViewTopic.php?FID=16&TID=15569

: Bearbeitet durch User
von Peter N. (alv)


Lesenswert?

Sigi S. schrieb:
> Raspberry Pi Pico W, jetzt mit http/ Telnet und den ganzen anderen
> geilen Kram!

Heißt das, daß es auch PicoMite für den Pico W gibt?

von Sigi S. (sermon)


Lesenswert?

Na klar

von Peter N. (alv)


Lesenswert?

wo?

von Han Solo (Gast)


Lesenswert?

Wie geil ist das denn!?

Sorry, 'wo' weis ich jetzt auch nicht.

von S.E. (Gast)


Lesenswert?

Sigi S. schrieb:
> Vorgestern fragte ich nach einer Telnet Implementierung.
> Heute wurde es fertig!
>
> Wie cool ist das denn?!
>
> Raspberry Pi Pico W, jetzt mit http/ Telnet und den ganzen anderen
> geilen Kram!
>
> https://www.thebackshed.com/forum/ViewTopic.php?FID=16&TID=15569

Man muß halt mit der linken Maustaste dort draufdrücken.
Falls das zu komplex ist, an er Volkshochschule gibt es Computerkurse...

von Peter N. (alv)


Lesenswert?

S.E. schrieb:
>> https://www.thebackshed.com/forum/ViewTopic.php?FID=16&TID=15569
>
> Man muß halt mit der linken Maustaste dort draufdrücken.
> Falls das zu komplex ist, an er Volkshochschule gibt es Computerkurse...

Ist das was halbwegs Offizielles, oder noch geheime Alpha-Version?

Wenn ersteres erinnert mich das an DD-WRT. Auf den offizellen Seiten 
findet man nur total veraltete Infos und Firmware, will man aktuelles, 
muß man tief in den Foren suchen...

von S.E. (Gast)


Lesenswert?

Peter N. schrieb:
> Ist das was halbwegs Offizielles, oder noch geheime Alpha-Version?
>
> Wenn ersteres erinnert mich das an DD-WRT. Auf den offizellen Seiten
> findet man nur total veraltete Infos und Firmware, will man aktuelles,
> muß man tief in den Foren suchen...

So langsam nervst Du.
Was soll das geschwurbel hier?
Lade das doch runter und probier es aus, dafür der Link!!!

von ... (Gast)


Lesenswert?

> ist MMBASIC nur Spielerei.

Viele neue Sprachbestandteile von MMBASIC dienen ja auch nur
der Programmierung von Spielen. Da ist so eine Kritik ja
irgendwo auch berechtigt.

Wenn man selbst MMBASIC richtig benutzen will, muss man es sich
selbst bauen. Weil es an vielen Stellen gegenueber C oder
Assembler zu langsam ist, und man selbst entsprechende
Erweiterungen des Interpreters hinzufuegen muss. Ausserdem hat
man nur so den vollen Zugriff auf die symbolischen Adressen,
die sich zwischen den Builds natuerlich auch aendern koennen.

Ich benutze aber auch nur den alten Maximite in der Inkarnation
als Duinomite von Olimex. Auch dessen Dokumentation wat/ist
lueckenhaft und stellenweile unstrukturiert. Aber mit den
Quellen bei der Hand, kann man dann ja selber nachsehen, was
wo und wie gespielt wird.

Das besagte Forum war bei meinem letzten Besuch eher ein Desaster.
Informationen waren verstreut und selbst eine einfache Suchfunktion
gab es nicht. Der Forenbetreiber scheint auch gewisse Standards
bzgl. der Sicherheit nicht sehr ernst zu nehmen.
Erkennbar daran, dass nach einem Registrierungsversuch ploetzlich
Spam aus Australien bei meinem Emailkonto aufschlug.

von S.E. (Gast)


Lesenswert?

... schrieb:
> Viele neue Sprachbestandteile von MMBASIC dienen ja auch nur
> der Programmierung von Spielen. Da ist so eine Kritik ja
> irgendwo auch berechtigt.
So ein Quatsch, wir reden hier von den aktuellen Systemen
>
> Wenn man selbst MMBASIC richtig benutzen will, muss man es sich
> selbst bauen. Weil es an vielen Stellen gegenueber C oder
> Assembler zu langsam ist, und man selbst entsprechende
> Erweiterungen des Interpreters hinzufuegen muss. Ausserdem hat

40000 Codezeilen pro Sekunde, langsam? Un C Funktionen kann man auch 
implementieren , oder auch die PIO Struktur auf den PI Pico's

> man nur so den vollen Zugriff auf die symbolischen Adressen,
> die sich zwischen den Builds natuerlich auch aendern koennen.
>
> Ich benutze aber auch nur den alten Maximite in der Inkarnation
> als Duinomite von Olimex. Auch dessen Dokumentation wat/ist
> lueckenhaft und stellenweile unstrukturiert. Aber mit den
> Quellen bei der Hand, kann man dann ja selber nachsehen, was
> wo und wie gespielt wird.

Früher wurde Fett auch noch mit "O" geschrieben.

>
> Das besagte Forum war bei meinem letzten Besuch eher ein Desaster.
> Informationen waren verstreut und selbst eine einfache Suchfunktion
> gab es nicht.

Man muss schon aktiv dabei bleiben, ja.

Der Forenbetreiber scheint auch gewisse Standards
> bzgl. der Sicherheit nicht sehr ernst zu nehmen.
> Erkennbar daran, dass nach einem Registrierungsversuch ploetzlich
> Spam aus Australien bei meinem Emailkonto aufschlug.

Kann ich überhaupt nicht bestätigen.
Du solltest Deinen verseucheten Rechner mal neu aufsetzen

von ... (Gast)


Lesenswert?

> 40000 Codezeilen pro Sekunde, langsam? Un C Funktionen kann man auch
> implementieren , oder auch die PIO Struktur auf den PI Pico's

Wenn man auf dem Display z.B. ueber Messdaten ein Raster legen will,
sind 40000 Zeilen/s u.U. zu langsam.
Wenn man den/die AD-Wandler bzgl. ihrer Samplerate voll ausnutzen
will, sind 40000 Zeilen/s definitiv zu langsam.
Wie willst du fuer etwas C Funktionen schreiben, wenn du die
Adressen der Symbole gar nicht kennst?
Richtig, gar nicht.
Von den paar fixen Hardwareadressen mal abgesehen.
Soweit ich weiss, sind die MMBASIC Quellen fuer den Picomite
auch nicht frei verfuegbar.

> So ein Quatsch, wir reden hier von den aktuellen Systemen

Selbst so ein alter MIPS schafft nativ einiges mehr als
> 40000 Codezeilen pro Sekunde
Ich bin mit dem Duinomite/Maximite deswegen sehr zufrieden.
Weil ich eben nicht ausschliesslich auf MMBASIC angewiesen bin.

> Kann ich überhaupt nicht bestätigen.
> Du solltest Deinen verseucheten Rechner mal neu aufsetzen

Aha. Das ist schoen fuer dich, aendert aber nichts an meiner
Aussage. Es war uebrigens nicht mein Rechner, den es nach
australischem Spam verlangt hat.

von Peter N. (alv)


Lesenswert?

... schrieb:
> Viele neue Sprachbestandteile von MMBASIC dienen ja auch nur
> der Programmierung von Spielen. Da ist so eine Kritik ja
> irgendwo auch berechtigt.

Welches sind denn die "Spielebefehle"?

Ich habe die Befehle von PicoMite bisher nur grob überflogen, weil ich 
mich in erster Linie nur um das kümmere, was ich gerade brauche, aber es 
scheinen mir größtenteils normale Basicbefehle zu sein, die weitgehend 
dem C=-Basic 7.0 (das des C128) entsprechen.

Aufgefallen sind mir die extrem vielen Grafikbefehle, aber die scheinen 
ja für den Aufbau von Bedien-GUIs sehr sinnvoll zu sein.

... schrieb:
> Wenn man selbst MMBASIC richtig benutzen will, muss man es sich
> selbst bauen.

Ich möchte den Pico als µC einsetzen um Signale von irgendwelcher 
Hardware zu verarbeiten und damit andere Hardware zu steuern.

Ich betreibe gerade Grundlagenforschung, welche meiner Hardware ich wie 
am Pico betreiben kann (etwas verwundert mich, daß es scheinbar keine 
eingebaute Abfrage für einen Drehencoder gibt...).

Daraus entstehen eine Menge kleiner Progrämmchen, die ich dann 
weiterverwenden kann. Irgendwie muß ich noch rausfinden, wie ich die als 
Funktionen in PicoMite einbinden kann...

von ... (Gast)


Lesenswert?

> Welches sind denn die "Spielebefehle"?

Z.B. das Handling von "Sprites".
Der C64/C128 hatte die uebrigens ja auch.
Aber mit dem sollte/musste man ja auch spielen koennen :).

> Aufgefallen sind mir die extrem vielen Grafikbefehle, aber die
> scheinen ja für den Aufbau von Bedien-GUIs sehr sinnvoll zu sein.

Fuer die Bedienelemente einer GUI wird die Geschwindigkeit
schon reichen. Aber wenn man Messwerte darin darstellen will
fallen dabei schon komplexere Dinge an, wie z.B. ein Messraster
das ueber die Messwerte gelegt wird. Wie es ein Oszilloskop
ja auch tut. Und wenn man das mit den Basicbefehlen
zusammenstueckelt, wird es doch langsam. Fuer einen Prototyp
waere das noch O.K., aber in der Praxis auf Dauer doch stoerend.

> Ich möchte den Pico als µC einsetzen um Signale von irgendwelcher
> Hardware zu verarbeiten und damit andere Hardware zu steuern.

Solange dabei keine zeitkritische Dinge im Spiel sind,
wird das schon gehen. Du kannst es ja mal mit deinem
Drehencoder probieren, wie weit du damit in MMBASIC kommst.

Ich benutze selbst eine relativ alte Version des MMBASIC,
fuer das ich aber die Quelldateien habe. Ich habe mir mit
diesen Quelldateien ein MPLAB-Projekt erzeugt und kann damit
sehr einfach das MMBASIC um eigene Befehle ergaenzen.
Die laufen dann mit der vollen Geschwindigkeit einer echten
32 bit CPU (Microchip PIC32/MIPS 80 MHz).
Daher haelt sich mein Interesse am Picomite in Grenzen.

Als einfaches :) Beispiel der SYS Befehl der in MMBASIC fehlt:
1
// Main.c
2
void __attribute__ ((naked)) cmd_sys (void);
3
4
void __attribute__ ((naked)) cmd_sys (void) {
5
void (*cmd_ram_sys_ptr)();
6
__asm__ (" addiu $29,$29,-4");
7
__asm__ (" sw $31,0($29)");
8
cmd_ram_sys_ptr = 0xa0016000;
9
(* cmd_ram_sys_ptr)();
10
__asm__ (" lw $31,0($29)");
11
__asm__ (" addiu $29,$29,4");
12
__asm__ (" nop");
13
}

Diese etwas "spezielle" Version, startet den Code ab 0xa0016000.

von Cyblord -. (cyblord)


Lesenswert?

Peter N. schrieb:
> Schade.
> Für mich ist Basic (das ich vor 40 Jahren recht gut konnte) die einzige
> Möglichkeit den µC zu programmieren.

Ist doch Unsinn. Als ob C so viel anders wäre dass man das niemals 
lernen könnte. Vor allem wenn man an sich schon programmieren kann. Für 
einfache Dinge, die man auch nicht mit Basic machen kann, reichen doch 2 
Wochen bis man das in C auch kann.

von Peter N. (alv)


Lesenswert?

... schrieb:
> Solange dabei keine zeitkritische Dinge im Spiel sind,
> wird das schon gehen. Du kannst es ja mal mit deinem
> Drehencoder probieren, wie weit du damit in MMBASIC kommst.

Bislang funktioniert das Testprogrämmchen recht gut:
1
enc:
2
'gp0 + gp1 = Quadratursignale, gp2 = Taste
3
SetPin gp1,din,pullup
4
SetPin gp0,intl,EncInt,pullup
5
SetPin gp2,intl,EncInt,pullup
6
7
Do
8
Print cnt, Pin(gp0),Pin(gp1),Pin(gp2),Port(gp0,3)
9
Loop
10
11
Sub EncInt
12
If Pin(gp1)=1 Then
13
 cnt=cnt+1
14
Else
15
 cnt=cnt-1
16
EndIf
17
18
If Pin(gp2)=0 Then
19
 cnt=0
20
EndIf
21
22
End Sub

Cyblord -. schrieb:
> Ist doch Unsinn. Als ob C so viel anders wäre dass man das niemals
> lernen könnte.

Mit C habe ich abgeschlossen, dazu habe ich überhaupt keinen Draht.

Vielleicht versuche ich es später mal mit Phyton.
Ich hatte schon MicroPhoton auf dem Pico, aber nicht mehr als "Hallo 
Welt" und blinkende Led (nach Anleitung) zustande gebracht.

von Cyblord -. (cyblord)


Lesenswert?

Peter N. schrieb:
> Mit C habe ich abgeschlossen, dazu habe ich überhaupt keinen Draht.

Dann würde ich auch mit Microcontrollern abschließen und auf PC SW 
Entwicklung wechseln.

von Sigi S. (sermon)


Lesenswert?

... schrieb:
> Du kannst es ja mal mit deinem
> Drehencoder probieren, wie weit du damit in MMBASIC kommst.

Funktioniert einwandfrei!

von Uwe D. (monkye)


Lesenswert?

Peter N. schrieb:
> Cyblord -. schrieb:
>> Ist doch Unsinn. Als ob C so viel anders wäre dass man das niemals
>> lernen könnte.
>
> Mit C habe ich abgeschlossen, dazu habe ich überhaupt keinen Draht.
>
> Vielleicht versuche ich es später mal mit Phyton.
> Ich hatte schon MicroPhoton auf dem Pico, aber nicht mehr als "Hallo
> Welt" und blinkende Led (nach Anleitung) zustande gebracht.

Python ist sehr gut lesbar, es gibt wenig Überraschungen… Im Web und im 
Handel finden sich für Einsteiger deutschsprachige Dokumente/Dokumente, 
die sich auch mit Hardware auseinandersetzen.

von ... (Gast)


Lesenswert?

> Bislang funktioniert das Testprogrämmchen recht gut

Na siehst.

> Mit C habe ich abgeschlossen, dazu habe ich überhaupt keinen Draht.

C ist auf Controllern zumindest sinnvoll verwendbar.
Und auch weil die Syntax recht sparsam erscheint,
eigentlich in den Grundzuegen recht leicht erlernbar.
Vielleicht einfach nochmal versuchen. :)
Mit einem kleinen und uebersichtlichen Controller, was der
Pico aber definitiv nicht ist.

Der Wunsch nach schnellerer Ausfuehrung bestimmer Codeabschnitte
wird bei dir auch noch kommen. Und da waere die Alternative
Python nicht wesentlich besser, als was du schon hast und kennst.
Das war bei mir auf anderer Ebene, naemlich FPGAs und VHDL
genau so.

von Sigi S. (sermon)


Angehängte Dateien:

Lesenswert?


von ... (Gast)


Lesenswert?

Falls das in meine Richtung war:
Ohne Quellen des Interpreters fang ich damit gar nichts an.
Da ist mir ein 80 MHz MIPS unter der Haube lieber, als der
"geile" Scheiss von heute.

von Norbert (Gast)


Lesenswert?

Peter N. schrieb:
> Vielleicht versuche ich es später mal mit Phyton.
> Ich hatte schon MicroPhoton auf dem Pico, aber nicht mehr als "Hallo
> Welt" und blinkende Led (nach Anleitung) zustande gebracht.

Na ja, Python (oder irgend eine andere Programmiersprache) lernt man 
nicht auf einem Controller, sondern am PC. Das ist um ein Vielfaches 
bequemer.
Wenn man anschließend die Grundlagen beherrscht, dann ist der Sprung zum 
Controller deutlich einfacher.

von Sigi S. (sermon)


Lesenswert?

... schrieb:
> Ohne Quellen des Interpreters fang ich damit gar nichts an.

BTW, die sind verfügbar....

von Peter N. (alv)


Lesenswert?

... schrieb:
> Mit einem kleinen und uebersichtlichen Controller,

Da würde ich es eher mit Assembler versuchen. Etwas 6502 und 
68000-Vergangenheit habe ich auch.

von Uwe D. (monkye)


Lesenswert?

Norbert schrieb:
> Peter N. schrieb:
>> Vielleicht versuche ich es später mal mit Phyton.
>> Ich hatte schon MicroPhoton auf dem Pico, aber nicht mehr als "Hallo
> Na ja, Python (oder irgend eine andere Programmiersprache) lernt man
> nicht auf einem Controller, sondern am PC. Das ist um ein Vielfaches
> bequemer.

Also die Hürde für Peter ist Englisch denke ich, nicht MicroPython. 
Allerdings fand ich die Hardwareunterstützung schon sehr gut. Viele aus 
dem Arduino-Umfeld bekannten Sensoren/Baugruppen/Displays usw. sind 
entweder schon von einem der großen Anbieter implementiert worden oder 
lassen sich einfach übertragen.

Der ‚mitleidige Blick’ bei diversen Sprachen hier im Forum ficht mich 
nicht an, denn die setze ich ja mit Absicht ein. Und dabei spielt dann 
das Projekt und dessen Rahmenbedingungen eine wichtige Rolle.
Für eine simple Anwendung ohne Zwänge vergeude ich nicht meine Zeit, um 
2k Flash zu sparen, 4ms schneller zu sein oder eine akademisch 
brilliante Meisterleistung abzuliefern. Zuverlässig, schnell, 
kostenorientiert.

von ... (Gast)


Lesenswert?

> ... schrieb:
> > Mit einem kleinen und uebersichtlichen Controller,

> Da würde ich es eher mit Assembler versuchen. Etwas 6502 und
> 68000-Vergangenheit habe ich auch.

Da koenntest du dir beim Pico mit Assembler einen Bruch heben.

Wenn es ein aktueller und in D gut supporteter Controller sein
soll, kaemen mir am ehesten die STM-8 von ST in den Sinn.
Die sind von der Architektur dem 6502 nicht ganz unaehnlich.
Es gibt guenstige Eval/Testboards (STM8S-Discovery).
Fuer einen einfachen Einstieg gibt es funktionseingeschraenkte
aber kostenfreie IDEs. Das waere z.B. die Kickstartversion
der "IAR Embedded Workbench for STM-8".
Die zum Programmieren noetigen Adapter sind bei ST schon
Teil des Boards und lassen sich auch spaeter fuer eigene
Projekte nutzen.
Auch bei Freescale finden sich aktuell noch Abkoemmlinge
des 6800. Auch die 8 bitter von Renesas RL78 sind in der
Architektur eng an den 6800 angelehnt.
Problem sind da dann aber Entwicklungsumgebung und
Programmieradapter. Auch die Beschaffung der Controller
kann da schwieriger sein.
Mein Tipp: Sieh dir den STM-8 zumindest mal an.
Das waere auch eine gute Gelegenheit, den Gebrauch
des Fachenglich zu ueben. Der ist naemlich unabwendbar.


> vergeude ich nicht meine Zeit, ... eine akademisch
> brilliante Meisterleistung abzuliefern. Zuverlässig, schnell,
> kostenorientiert.

Geruechteweise soll es auch Fachkraefte geben, die eine
akademisch brilliante Meisterleistung zuverlässig, schnell,
und kostenorientiert abliefern koennen.
Vermutlich ist aber dein moeglicher Aktionsradius ohnehin auf
> MicroPython
beschraenkt. Fuer dein Gewurschtel zu Hause ist das ja ohne Belang.

Aber was meinst du, fuer wie viele Industrieprojekte
> MicroPython
eine Ausgangsbasis ist?

Und auch im Hobby-, Bastler- oder Amateurbereich sehe ich
da noch keine ernstzunehmende Marktpenetration.
Es ist also nichts was sich irgendwie zwingend anbieten wuerde.

von Peter N. (alv)


Lesenswert?

Ich habe gerade mal etwas mit I²C rumprobiert.
Funktioniert hat erstmal nichts, deshalb erstmal eine Grundsatzfrage:
Nutzt der Pico auf den I²C-Signalen seine internen Pullups, oder braucht 
er externe Pullups?

von Norbert (Gast)


Lesenswert?

Peter N. schrieb:
> Ich habe gerade mal etwas mit I²C rumprobiert.
> Funktioniert hat erstmal nichts, deshalb erstmal eine Grundsatzfrage:
> Nutzt der Pico auf den I²C-Signalen seine internen Pullups, oder braucht
> er externe Pullups?

Also mein Datenblatt gibt darauf eine zufriedenstellende Antwort.

von Cyblord -. (cyblord)


Lesenswert?

Peter N. schrieb:
> Ich habe gerade mal etwas mit I²C rumprobiert.
> Funktioniert hat erstmal nichts, deshalb erstmal eine Grundsatzfrage:
> Nutzt der Pico auf den I²C-Signalen seine internen Pullups, oder braucht
> er externe Pullups?

I2C sollte externe Pull Ups bekommen. Denn interne liegen im Bereich von 
50k. 4,7k ist empfohlen. So werden die Flanken recht verschliffen und 
höhere Taktraten sind nicht möglich.
Verstehe auch nicht wieso man an zwei Widerständen sparen muss.

: Bearbeitet durch User
von Uwe D. (monkye)


Lesenswert?

... schrieb:
>> vergeude ich nicht meine Zeit, ... eine akademisch
>> brilliante Meisterleistung abzuliefern. Zuverlässig, schnell,
>> kostenorientiert.
>
> Geruechteweise soll es auch Fachkraefte geben, die eine
> akademisch brilliante Meisterleistung zuverlässig, schnell,
> und kostenorientiert abliefern koennen.
> Vermutlich ist aber dein moeglicher Aktionsradius ohnehin auf
>> MicroPython
> beschraenkt. Fuer dein Gewurschtel zu Hause ist das ja ohne Belang.

Arrogantes Bashing. Wieviele Senior/Advisory/Architect Developer Anteil 
hast Du denn in normalen Teams - 80%?

Das Prinzip der Ökonomie verbietet „so gut wie möglich“.

> Aber was meinst du, fuer wie viele Industrieprojekte
>> MicroPython
> eine Ausgangsbasis ist?
> Und auch im Hobby-, Bastler- oder Amateurbereich sehe ich
> da noch keine ernstzunehmende Marktpenetration.
> Es ist also nichts was sich irgendwie zwingend anbieten wuerde.

Sage Du es mir. Und vergiss die Beweisführung mit nachprüfbaren Zahlen 
nicht.
Wie oft haben Propheten die Bedeutungs- und Sinnlosigkeit von anderen 
vermeintlichen Spielzeugen a la RasPi oder Arduino verkündet, nur der 
Markt hält sich nicht dran…

von ... (Gast)


Lesenswert?

> Arrogantes Bashing.

Arrogant ist, wer auf einer grossen Baustelle nur mit einem Hammer
auftaucht, und die anderen am Bau Beteiligten wegen ihres verwendeten
Werkzeugs, als dumm diffamiert.
Und am Ende unverrichteter Dinge wieder abziehen muss, weil es
nun wirklich nichts zu nageln gab.

von Sigi S. (sermon)


Lesenswert?

Nach dem  16.02.2023 um 16:49 ist der Thread entgleist, tot
und hat nichts mehr mit der Überschrift zu tun
Das war's, bye....

von Klaus S. (kseege)


Lesenswert?

Sigi S. schrieb:
> Nach dem  16.02.2023 um 16:49 ist der Thread entgleist, tot
> und hat nichts mehr mit der Überschrift zu tun
> Das war's, bye....

Nur weil nicht alle 10 Minuten jemand mit einer Frage auftaucht?

Ich bin aufgrund dieses Threads neugierig geworden, habe Picomite 
heruntergeladen und probiere es jetzt aus. Soll das jetzt heißen, daß 
ich für meine Anfängerfragen jedesmal einen neuen Thread aufmachen soll?

Gruß Klaus (der soundsovielte)

P.S. Eine lange Liste von Youtubevideos ist für mich völlig irrelevent, 
da ich an einer ziemlich dünnen Internetleitung hänge und alles Andere 
als Text ziemlich lange dauert. Habe ich da etwas Wichtiges verpaßt? 
(Liste vom 16.8.03 16:49)

von ... (Gast)


Lesenswert?

> Habe ich da etwas Wichtiges verpaßt?

Es schadet sicher nicht, wenn man sich die Historie der ganzen
*mites mal ansieht.
Der Urvater aller MMBASIC-Versionen lief auf einem PIC32, und es gibt
auch eine Version die auf PIC32 in einem 28 pol. DIL-Package laueft.
Der erstere war der Maximite und die kleinere Version der Micromite.

Die Quellen fuer den Picomite stehen tatsaechlich zur Verfuegung.
Vermutlich weil es gegen das unter GPL stehende Picomite-SDK
gelinkt wird.
Manche Frage die das Manual womoeglich nur unvollkommen beantwortet,
kann man fuer sich so beantworten.

> probiere es jetzt aus

Viel Spass dabei!

von Sigi S. (sermon)


Lesenswert?

Klaus S. schrieb:
> Habe ich da etwas Wichtiges verpaßt?


Ja, einen Breitbandausbau.
Schaus Dir halt gepuffert an / Download über Nacht.
Die Videos geben Dir einen schnellen Überblick und
das Forum ist unerlässlich.

von Klaus S. (kseege)


Lesenswert?

Sigi S. schrieb:
> Die Videos geben Dir einen schnellen Überblick und
> das Forum ist unerlässlich.

Habe gerade in meinen alten Unterlagen gewühlt. Mein erster Kontakt zum 
Maximite war im Juli 2012. Nachdem ich aber entdeckt hatte, daß die 
Pins, die für Ethernetkopplung (wenn man denn einen MX795 statt eines 
MX765 einbbauen würde) benötigt würden, auf isolierten Pads saßen, 
unbenutzt waren und von Massefläche umgeben waren, so daß das Anlöten 
von weiterführenden Drähten maximal erschwert wurde, schwand meine 
Begeisterung schlagartig. Damals habe ich das unter "brain-damaged" 
abgelegt. Heute bin ich nachsichtiger und sage "shit happens". VGA und 
Tastatur brauchte ich weder damals noch heute.

Der Picomite scheint die Dinge intelligenter anzugehen. Das große Plus 
des Pico sind für mich die PIOs, und deren Unterstützung scheint im 
Basic enthalten zu sein, das ist der Knackpunkt, der mich interessiert. 
Der Hinweis, daß das Forum unerläßlich ist, deutet aber eher darufhin, 
daß das Ganze immer noch eine ziemliche Bastlerlösung ist. Ich hoffe 
trotzdem, daß das nicht zutrifft. Bisher funktioniert alles wie 
beworben.

Gruß Klaus (der soundsovielte)

von Picofreund (Gast)


Lesenswert?

„ Der Hinweis, daß das Forum unerläßlich ist….“

Wenn Du absolut aktuell, bei neusten Entwicklungen dabei sein willst, 
dann stimmt das so.
Momentan wird der Pico W um TCP/ WEB/ Telnet erweitert, Alpha Stadium, 
Downloads und „Doku“ nur hier.

Ansonsten bekommst Du auf der Webseite von Geoff Graham, die Firmware, 
Doku, Projekte und alles Weitere zu allen Plattformen auf welche 
portiert wurde, so wie Unterstützung.
Im Forum gibt es auch einen Lehrgang zu den Pio Funktionen.

Geoff Graham und Peter Mather treiben alles voran.

von Peter N. (alv)


Lesenswert?

Weiter mit I²C:

Es lag nicht an den externen Pullups sondern an der falschen Version des 
LM73 (I²C Temperatursensor).

Ich habe deshalb mal einen I²C-Scanner gebastelt:
1
izs:
2
SetPin gp20,gp21,i2c
3
I2C open 100,1000
4
For adr = &H00 To &Hff
5
 I2C read adr,0,1,reg
6
 If MM.I2C = 0 Then
7
  Print "Adresse: "Hex$(adr)" = "Bin$(adr)"  Wert: "Hex$(reg)" = "Bin$(reg)
8
 EndIf
9
Next adr
10
I2C close

Der LM73 hat laut Datenblatt die Adresse &B1001 101x

Der Scanner findet den aber unter Adresse &B01001101 und &B11001101.
Wie kommt das?

von MiWi (Gast)


Lesenswert?

Peter N. schrieb:

> Der LM73 hat laut Datenblatt die Adresse &B1001 101x
>
> Der Scanner findet den aber unter Adresse &B01001101 und &B11001101.
> Wie kommt das?



Aufbau? Der Sensor ist schnell, wenn da längere Leitungen für CLK und 
DATA sind ("Steckbrett") klingelt es ggfs da was wo es nicht sollte, 
daher: Signale mit Oszi genauer anschauen, den Unterschied zw. SMB und 
I2C analysieren und vor allem im picomite-Forum fragen.

von m.n. (Gast)


Lesenswert?

Peter N. schrieb:
> Der LM73 hat laut Datenblatt die Adresse &B1001 101x
>
> Der Scanner findet den aber unter Adresse &B01001101 und &B11001101.
> Wie kommt das?

Weil das Basic eine 7 Bit breite Adresse annimmt und das Datenblatt alle 
8 Bit inkl. des R/W-Bits zeigt. Beim Basic wird das oberste Bit 
ignoriert.

MiWi schrieb:
> klingelt es ggfs

Das liest man immer wieder, wenn dem Autor nichts einfällt. Als nächstes 
soll dann ein Foto mit den Abblockkondensatoren gezeigt werden :-(

Mal ganz allgemein zu PicoMite: Ein Interpreter eignet sich dann, wenn 
man mal schnell ein Programm braucht, was nicht unbedingt viel können 
muß. Da stören dann weder Ausführungszeit noch die Feinheiten, eigene 
Funktionen einzubinden. Wenn man Daten vom Multimeter erfassen und 
umgerechnet anzeigen möchte, geht das recht schnell mit ein paar Zeilen 
Code.
Um Bilder auf einem TFT zu malen, ist ein Interpreter weniger geeignet, 
außer man gönnt sich die Zeit, dabei zuzusehen ;-)

von Uwe D. (monkye)


Lesenswert?

Peter N. schrieb:
> Weiter mit I²C:
> Der LM73 hat laut Datenblatt die Adresse &B1001 101x
>
> Der Scanner findet den aber unter Adresse &B01001101 und &B11001101.
> Wie kommt das?

I2C verwendet (ursprünglich) nur 7 Bit zur Adressierung  (also 2^7=128 
abzgl. 16 reservierter Adressen), das letzte Bit unterscheidet zwischen 
Lesen/Schreiben.

von m.n. (Gast)


Lesenswert?

Uwe D. schrieb:
> I2C verwendet (ursprünglich) nur 7 Bit zur Adressierung

Nee, es sind 8 Bit. Das unterste Bit gibt an, ob es sich um eine Lese- 
oder Schreibadresse handelt ;-)

von Uwe D. (monkye)


Lesenswert?

m.n. schrieb:
> Uwe D. schrieb:
>> I2C verwendet (ursprünglich) nur 7 Bit zur Adressierung
>
> Nee, es sind 8 Bit. Das unterste Bit gibt an, ob es sich um eine Lese-
> oder Schreibadresse handelt ;-)

Wo ist da der Unterschied? Das Gerät wird mit 7 Bit adressiert… lassen 
wir das.

Der LM73 wird übrigens in zwei Versionen geliefert, -0 und -1. Dadurch 
kann über den Address PIN (Offen, Maße, Versorgungsspannung) und die 
zwei Versionen aus 6 möglichen Adressen ausgewählt werden.

von Stefan F. (Gast)


Lesenswert?

Jeder, der das R/W Bit zur Adresse zählt und somit von 8 Bit spricht, 
stiftet nur unnötig Verwirrung. Die Adresse hat 7 Bit und das R/W Flag 
ist eine anderer Parameter. Das sollte jede API so wieder spiegeln.

von Picofreund (Gast)


Lesenswert?

7-Bit Addressing
The standard addresses used in these commands are 7-bit addresses 
(without the read/write bit). MMBasic will add the read/write bit and 
manipulate it accordingly during transfers.
Some vendors provide 8-bit addresses which include the read/write bit. 
You can determine if this is the case because they will provide one 
address for writing to the slave device and another for reading from the 
slave. In these situations you should only use the top seven bits of the 
address. For example: If the read address is 9B (hex) and the write 
address is 9A (hex) then using only the top seven bits will give you an 
address of 4D (hex).
Another indicator that a vendor is using 8-bit addresses instead of 
7-bit addresses is to check the address range. All 7-bit addresses 
should be in the range of 08 to 77 (hex). If your slave address is 
greater than this range then probably your vendor has provided an 8-bit 
address.

von m.n. (Gast)


Lesenswert?

Picofreund schrieb:
> Some vendors provide 8-bit addresses which include the read/write bit.

So am I.
Ein Blick in ein 24Cxx Datenblatt von Atmel zeigt die 8 Bit der 
Basisadresse inkl. R/W. Mir war 0xA0 schon immer sinnvoller und 
einprägsamer als 0x48.
Sehe ich ins Datenblatt eines PCF8583 von NXP (Philips), dann taucht 
auch dort die "slave address" mit Basis 0xA0 auf. Wiederum sind es 8 
Bit.

Anders sieht es aus, wenn zum Beispiel ein LCD-Modul mit einer separaten 
data/cmd-Leitung adressiert wird. Dieses Signal ist dann von der Adresse 
abgekoppelt.

Stefan F. schrieb:
> Das sollte jede API so wieder spiegeln.

Zur Erinnerung: Als IIC seinerzeit von Philips vorgestellt wurde, gab es 
Deine "API" noch nicht.

von MiWi (Gast)


Lesenswert?

m.n. schrieb:

>
> MiWi schrieb:
>> klingelt es ggfs
>
> Das liest man immer wieder, wenn dem Autor nichts einfällt. Als nächstes
> soll dann ein Foto mit den Abblockkondensatoren gezeigt werden :-(

Ach mei... ich hab in den letzten Jahrzehnten schon so viele Sünden am 
I2C gesehen das das immer eine der ersten Fragen zum I2C ist. Clk & 
Data verdrillt und dann GND irgendwo anders weil Steckbrett.... und 
prompt sind die jeweiligen fallenden Flanken am anderen Signal zu sehen. 
Blöd wenn es eine grindige I2C-Statemaschine im Chip ist die sich dann 
verläuft und sich auch nicht mehr über irgendwelche CLK-Orgien 
resetieren läßt weil der werte Chipdesigner nicht daran gedacht hat das 
dies passieren kann und auch kein Resetpin vorhandne ist. Alles schon 
dagewesen...

Daher - sei so nett und spar Dir Deine Anpatzungen, Du hast das wirklich 
nicht nötig bei dem was Du sonst an Konstruktivem  hier beiträgst....

von Stefan F. (Gast)


Lesenswert?

m.n. schrieb:
> Als IIC seinerzeit von Philips vorgestellt wurde, gab es
> Deine "API" noch nicht.

Zeige mir eine einzige Spezifikation von Philips, die eine 8-Bit Adresse 
erwähnt (welche das R/W Bit beinhaltet). Nur eine einzige.

von m.n. (Gast)


Lesenswert?

MiWi schrieb:
> Ach mei... ich hab in den letzten Jahrzehnten schon so viele Sünden am
> I2C gesehen das das immer eine der ersten Fragen zum I2C ist.

Mag sein, aber hier ist es bei genauem Hinsehen die Interpretation der 
Adresse.
Im Datenblatt sieht man beim LM73 das 8 Bit "serial bus address byte" 
und die Software "läßt es nicht zu", dieses wie gezeigt zu verwenden.
Gerade bei hardware-naher Programmierung finde ich das recht 
ungeschickt.

von Stefan F. (Gast)


Lesenswert?

Mit der unklaren Vermischung von 7 und 8 Bit Darstellung hat NXP erst 
später angefangen. Vergleiche z.B.:

https://www.aurel32.net/elec/pcf8574.pdf (Philips)
https://www.nxp.com/docs/en/data-sheet/PCF8574_PCF8574A.pdf (NXP)

Auch dort hat die Adresse konsequent 7 Bits:
https://www.nxp.com/docs/en/application-note/AN10216.pdf (Philips)

von Peter N. (alv)


Lesenswert?

Das mit den 7 Bit habe ich ich schon vermutet,
aber ich verstehe noch nicht, wie PicoMite das handhabt.

Die I²C-Adresse ist ja ein 8-Bit-Wort, bei dem das Bit 0 RW darstellt.
Oder anders ausgedrückt, gerade Adresse schreibt, ungerade Adresse 
liest.

Wie macht das PicoMite?
Übergebe ich bei I2C read/write eine 8-Bit Adresse und PicoMite ändert 
Bit 0 entsprechend Lesen/Schreiben,
oder ich übergebe eine 7-Bit-Adresse, PicoMite hängt Bit 0 dran (und 
verschiebt damit alle Bits 1 nach links)?

von Stefan F. (Gast)


Lesenswert?

Peter N. schrieb:
> Die I²C-Adresse ist ja ein 8-Bit-Wort, bei dem das Bit 0 RW darstellt.

Nein!

Die I²C Adresse ist ein 7 Bit Wort. Danach wird das R/W Bit übertragen. 
Das sind zweierlei Parameter. Wie PicoMite das handhabt, sollte in 
dessen Doku stehen.

Tut es auch: 
https://geoffg.net/Downloads/picomite/PicoMite_User_Manual.pdf Seite 
142.

Da steht ganz klar "The standard addresses used in these commands are 
7-bit addresses (without the read/write bit). MMBasic will add the 
read/write bit and manipulate it accordingly during transfers."

von Picofreund (Gast)


Lesenswert?

Tut es auch:
https://geoffg.net/Downloads/picomite/PicoMite_User_Manual.pdf Seite
142.

Da steht ganz klar "The standard addresses used in these commands are
7-bit addresses (without the read/write bit). MMBasic will add the
read/write bit and manipulate it accordingly during transfers."



Was ich bereits 8 Einträge davor geschrieben habe.

Niemand hört mehr zu, niemand liest…………
Alles nur Berieselung und jeder macht nen 1 er Abi…

von m.n. (Gast)


Lesenswert?

Peter N. schrieb:
> Da die ursprüngliche Frage eigentlich gelöst ist, mache ich mal ein
> neues allgemeines Thema auf.

Gibt es ein Ziel, daß Du mit PicoMite erreichen willst?

von Peter N. (alv)


Lesenswert?

m.n. schrieb:
> Gibt es ein Ziel, daß Du mit PicoMite erreichen willst?

Das Ziel hatte ich bereits weiter oben erwähnt:

Ich will den Pico als Kontroller einsetzen, um Hardware abzufragen und 
andere Hardware zu steuern. PicoMite ist dabei (für mich) das ideale 
Mittel.

Momentan betreibe ich eine Art Grundlagenforschung:
Ich habe eine Menge Sensoren und andere Input-Geräte sowie Displays und 
andere Output-Geräte rumliegen. Diese versuche ich am Pico zum Laufen zu 
bekommen.
Im Moment ist der LM73 (um I²C zu lernen) dran.

Da ich aus vorhandenen Sources mehr lerne, als aus dem Manual, hätte ich 
nichts dagegen, wenn hier auch PicoMite-Source-Schnipsel veröffentlicht 
werden.

Spätere Projekte wären dann:
Doppelpuls-Punktschweißsteuereng für meine Pedelec-Akkus (momentan ist 
da ein China-Billigsteuerung drin).
Akkuentlader (zur Kapazitätsermittlung der Pedelec-Akkus).
Prekontroller fürs Pedelec (momentan zufuß aufgebaut).
DCF-Uhr.
Und eine Menge der Sensoren könnte man für eine Wetterstation verwenden.

Und dauernd fallen mir neue Sachen ein, die möglich wären...

von Peter N. (alv)


Lesenswert?

Stefan F. schrieb:
> Da steht ganz klar "The standard addresses used in these commands are
> 7-bit addresses (without the read/write bit). MMBasic will add the
> read/write bit and manipulate it accordingly during transfers."

Und was heißt das in verständlich?

von Stefan F. (Gast)


Lesenswert?

Peter N. schrieb:
> Und was heißt das in verständlich?

Dass die Adresse in der API 7 Bit groß ist und dass das R/W Bit nicht 
darin enthalten ist.

Also so wie sich das gehört. Auch die Arduino Leute haben das richtig 
umgesetzt. Mir ist völlig schleierhaft, wieso immer wieder Leute 
auftauchen, die mit ihren 8 Bit Verwirrung stiften. Das ist total 
unnötig.

von Uwe D. (monkye)


Lesenswert?

Stefan F. schrieb:
> Peter N. schrieb:
>> Und was heißt das in verständlich?
>
> Dass die Adresse in der API 7 Bit groß ist und dass das R/W Bit nicht
> darin enthalten ist.
>
> Also so wie sich das gehört. Auch die Arduino Leute haben das richtig
> umgesetzt. Mir ist völlig schleierhaft, wieso immer wieder Leute
> auftauchen, die mit ihren 8 Bit Verwirrung stiften. Das ist total
> unnötig.

Und MMBasic das Lese-/Schreibbit selbst hinzufügt:
„MMBasic will add the read/write bit and manipulate it accordingly 
during transfers.“

von Peter N. (alv)


Lesenswert?

Stefan F. schrieb:
> Mir ist völlig schleierhaft, wieso immer wieder Leute
> auftauchen, die mit ihren 8 Bit Verwirrung stiften. Das ist total
> unnötig.

Der LM73 wird byteweise, also zu je 8 Bit angesprochen (dazwischen immer 
das ACK).
Das Adressbyte besteht aus 7 Bit + RW-Bit

Die Adresse des LM73 ist &B 1001 101 (in Datenblatt geschickterweise nur 
binär angegeben).
Ist das nun &H 9A/9B oder &H 4D?

Uwe D. schrieb:
> Und MMBasic das Lese-/Schreibbit selbst hinzufügt:
> „MMBasic will add the read/write bit and manipulate it accordingly
> during transfers.“

Also gebe ich die Adresse &H 4D an PicoMite und das sendet dann &H 9A/9B 
an den LM73?

von Stefan F. (Gast)


Lesenswert?

Peter N. schrieb:
> Also gebe ich die Adresse &H 4D an PicoMite und das sendet dann &H 9A/9B
> an den LM73?

Ein Stück Quelltext wäre eindeutiger, aber ja (falls wir nicht 
aneinander vorbei denken).

von Uwe D. (monkye)


Lesenswert?

Peter N. schrieb:
> Die Adresse des LM73 ist &B 1001 101 (in Datenblatt geschickterweise nur
> binär angegeben).
> Ist das nun &H 9A/9B oder &H 4D?
> …
> Also gebe ich die Adresse &H 4D an PicoMite und das sendet dann &H 9A/9B
> an den LM73?

Also ich würde 4D übergeben. Das ist die Adresse des Chips am I2C Bus.

&B 1001 101

&B 100 1101 = 0x4D = 77

&B 1001 1010 = 0x9A = 154

von Andi (Gast)


Lesenswert?

Du hast schon gesehen, dass es eine deutsche Version des Picomite 
Manuals gibt?
Dort ist es halt auf Seite 149 beschrieben.

von m.n. (Gast)


Lesenswert?

Peter N. schrieb:
> Ich will den Pico als Kontroller einsetzen, um Hardware abzufragen und
> andere Hardware zu steuern. PicoMite ist dabei (für mich) das ideale
> Mittel.

Und hast Du permanent ein Display und eine Tastatur angeschlossen oder 
geht alles über einen PC?
Interpreter sind dann interessant, wenn man auf dem Zielsystem direkt 
entwickeln will. Man sieht sofort, ob es geht oder sogar läuft. 
Änderungen/Ergänzungen sind fix erledigt.

Mal sehen, vielleicht werfe ich PicoMite mal selber an.

von Klaus S. (kseege)


Lesenswert?

m.n. schrieb:
> Mal sehen, vielleicht werfe ich PicoMite mal selber an.

Eine uf2-Datei draufkopieren und ein VT100-kompatibles PC-Programm 
heraussuchen, mehr brauchts nicht. Selten so einen unkomplizierten 
Einstieg gesehen.

Gruß Klaus (der soundsovielte)

von Peter N. (alv)


Lesenswert?

m.n. schrieb:
> Und hast Du permanent ein Display und eine Tastatur angeschlossen oder
> geht alles über einen PC?

Zum Rumprobieren hängt der Pico per USB am PC und Ein/Ausgabe erfolgt 
über Terminalprogramm.

Später bei den Projekten läuft die Ein/Ausgabe entsprechend der Aufgabe.
Für die Schweißsteuerung und Akkuentlader z.B. brauche ich dann einen 
Drehencoder zur Eingabe und ein 2-zeiliges Display zur Ausgabe.

m.n. schrieb:
> Interpreter sind dann interessant, wenn man auf dem Zielsystem direkt
> entwickeln will. Man sieht sofort, ob es geht oder sogar läuft.
> Änderungen/Ergänzungen sind fix erledigt.

Genau das ist ja das Praktische daran.
Ich kann Befehle direkt eingeben, oder Programmschnipsel schreiben und 
sehe sofort das Ergebnis.

von Peter N. (alv)


Lesenswert?

Uwe D. schrieb:
> &B 1001 101

Man beachte die Schreibweise im Datenblatt:
Bit 7-1, Bit 0 weggelassen.
Ist es da nicht verständlich, daß man nicht weiß, ob man Bit 7-1 
verwendet und Bit 0 als "don't care", wie hier

Uwe D. schrieb:
> &B 1001 1010 = 0x9A = 154
oder
Bit 7-1 eins nach rechts schieben und als Bit 6-0 verwendet, wie hier

Uwe D. schrieb:
> &B 100 1101 = 0x4D = 77

Andi schrieb:
> Du hast schon gesehen, dass es eine deutsche Version des Picomite
> Manuals gibt?
> Dort ist es halt auf Seite 149 beschrieben.

Ja, und es ist tatsächlich verständlicher formuliert.

Aber ich mußte auch schon feststellen, daß die deutsche Version an 
eingen Stellen nicht mehr aktuell ist...

von m.n. (Gast)


Lesenswert?

Klaus S. schrieb:
> Eine uf2-Datei draufkopieren und ein VT100-kompatibles PC-Programm
> heraussuchen, mehr brauchts nicht. Selten so einen unkomplizierten
> Einstieg gesehen.

Stimmt, jetzt brauch ich nur noch einen LM73 ;-)

Es steckt viel Arbeit darin.

von Peter N. (alv)


Lesenswert?

m.n. schrieb:
> Stimmt, jetzt brauch ich nur noch einen LM73 ;-)
>
> Es steckt viel Arbeit darin.

Die Onboard-Led kannst du auch ohne zusätzliche Hardware manipulieren 
(vorausgesetzt, du hast keinen Pico W).

von m.n. (Gast)


Lesenswert?

Peter N. schrieb:
> Die Onboard-Led kannst du auch ohne zusätzliche Hardware manipulieren

"setpin gp25, dout" ist der wichtigste Befehl. Anderfalls muß man die 
LED entfernen. An 2. Stelle kommt dann: "option cpuspeed 378000" ;-)

Ich habe mal nachgesehen: bin-Datei ist knapp 660 kB groß.
Wieviel ROM hatte nochmal der PET?

von Klaus S. (kseege)


Lesenswert?

m.n. schrieb:
> Wieviel ROM hatte nochmal der PET?

14-KB gemäß
https://de.wikipedia.org/wiki/PET_2001

von Peter N. (alv)


Lesenswert?

m.n. schrieb:
> Wieviel ROM hatte nochmal der PET?

Der 6502 hat 64k Adressvolumen.
Bei den CBM-Geräten (zu denen ich den PET auch mal zähle) wurde A15 zur 
Ram/Rom-Umschaltung verwendet, also maximale Rom-Ausbaustufe 32k.

Aber da war ja auch nur ein abgespecktes Basic drin.

Der Pico ist eher mit dem C128 zu vergleichen.

von Peter N. (alv)


Lesenswert?

Der LM73 und ich scheinen sich jetzt zu verstehen. :)
Ich muß jetzt nur noch rausfinden, wie ich die Temperatur in einen 
verständlichen Wert umrechne.

Wenn jemand eine einfache Formel hat, immer her damit.

Jetzt geht weiter mit 2*16-Displays.

Ich habe momentan eins von Joy-It dran, ungefähr dieses:
https://joy-it.net/de/products/com-LCD16X2

Verdrahtet nach der PicoMite-Anleitung:
RS = gp0, EN = gp1, D4-7 = gp2-5, RW = gnd, D0-3 = gnd

Poti an V0 ist auch dran.
Egal, wie ich das Poti einstelle, es ist nur ein gleichmäßig blauer 
Hintergrund zu sehen.

Und dieses Beispiel bewirkt absolut nichts.
1
lcd:
2
Bitbang lcd init gp2,gp3,gp4,gp5,gp0,gp1
3
a$="hallo":b$="welt"
4
Bitbang lcd 1,2, a$
5
Bitbang lcd 2,3, b$
6
End

Wo mache ich den Fehler?

Beim Programmlauf wackeln alle Pins kurz,
danach bleibt RS und D6 high, alle anderen Low.

von Sigi S. (sermon)


Lesenswert?

To setup the display you use the BITBANG LCD INIT command:
BITBANG LCD INIT d4, d5, d6, d7, rs, en
d4, d5, d6 and d7 are the numbers of the I/O pins that connect to inputs 
D4, D5, D6 and D7 on the LCD module
(inputs D0 to D3 and R/W on the module should be connected to ground). 
'rs' is the pin connected to the
register select input on the module (sometimes called CMD or DAT). 'en' 
is the pin connected to the enable or
chip select input on the module.

von Sigi S. (sermon)


Lesenswert?

Ansonsten liegt der Fehler in Deiner Hardwarebeschaltung elche du uns 
leider vorenthälst.

von Sigi S. (sermon)


Lesenswert?

und im falschen Forum

von Peter N. (alv)


Lesenswert?

Sigi S. schrieb:
> To setup the display you use the BITBANG LCD INIT command:

Das Zitieren der Anleitung hilft mir nicht weiter, es sei denn, du 
zeigst mir einen Unterschied zu dem, was ich hier geschrieben habe:

Peter N. schrieb:
> Verdrahtet nach der PicoMite-Anleitung:
> RS = gp0, EN = gp1, D4-7 = gp2-5, RW = gnd, D0-3 = gnd

usw.

Sigi S. schrieb:
> Ansonsten liegt der Fehler in Deiner Hardwarebeschaltung elche du uns
> leider vorenthälst.

Auch die habe ich dort beschrieben.

von ... (Gast)


Lesenswert?

> Beim Programmlauf wackeln alle Pins kurz,
> danach bleibt RS und D6 high, alle anderen Low.

ist fuer eine Fehlersuche ja etwas duerftig.

Um das LCD als funktionierend zu testen, wuerde ich es
an einen anderen Controller der ein LCD richtig
initialisert, und darauf etwas ausgibt, anschliessen.
Das LCD hat ja nur Eingaenge, so dass Parallelbetrieb
nicht stoert.

Fuer eine weitere (dynamische) Fehlersuche waere dann
ein Oszi und ein Logikanalyzer noetig.

Damit kontrolliert man dann, ob die Signale dem entsprechen
was das Datenblatt des LCD so vorsieht.
Womit das LCD initialisert wird, findet man in den Quellen
des MMBASIC.

von ... (Gast)


Lesenswert?

1
        LCD_Nibble(0b0011, 0, 5000);                                // reset
2
        LCD_Nibble(0b0011, 0, 5000);                                // reset
3
        LCD_Nibble(0b0011, 0, 5000);                                // reset
4
        LCD_Nibble(0b0010, 0, 2000);                                // 4 bit mode
5
        LCD_Byte(0b00101100, 0, 600);                               // 4 bits, 2 lines
6
        LCD_Byte(0b00001100, 0, 600);                               // display on, no cursor
7
        LCD_Byte(0b00000110, 0, 600);                               // increment on write
8
        LCD_Byte(0b00000001, 0, 3000);                              // clear the display

von Zacharias (Gast)


Lesenswert?

Vielleicht verrätst Du uns erst mal Deine Mmbasic Version, und die 
Hardware mit ein paar Bildern.
Das darf man schon voraussetzen.

von Sigi S. (sermon)


Lesenswert?

Bitbang LCD INIT GP2,GP3,GP4,GP5,GP6,GP7
Bitbang LCD 1,1," Hallo Vollpfosten"
> print mm.ver
 5.0706

funktioniert bei mir einwandfrei

von Peter N. (alv)


Angehängte Dateien:

Lesenswert?

Zacharias schrieb:
> Vielleicht verrätst Du uns erst mal Deine Mmbasic Version, und die
> Hardware mit ein paar Bildern.

Bitteschön, und kann man da irgendwas erkennen?

PicoMite ist mit 5.0706 aktuell.

von Sigi S. (sermon)


Lesenswert?

Peter N. schrieb:
> Bitteschön, und kann man da irgendwas erkennen?

Die Frage kannst Du Dir selbst beantworten, was denkst Du?
>
> PicoMite ist mit 5.0706 aktuell.
Die funktionierende Konfig nochmal:
Bitbang LCD INIT GP2,GP3,GP4,GP5,GP6,GP7
Bitbang LCD 1,1," Hallo Vollpfosten"
> print mm.ver
 5.0706
Extra heute früh für Dich getestet.

von Stefan F. (Gast)


Lesenswert?

Peter N. schrieb:
> SAM_2284.JPG

Kann es sein, dass die gelben LEDs auf deinem Board ohne Vorwiderstände 
parallel zum Display an den I/O Pins hängen?

von Peter N. (alv)


Lesenswert?

Stefan F. schrieb:
> Kann es sein, dass die gelben LEDs auf deinem Board ohne Vorwiderstände
> parallel zum Display an den I/O Pins hängen?

Ich gehöre nicht zu den "Leds an Konstantspannung"-Fans.
Die Leds (ca. 2V) liegen mit der Kathode an gnd und Anode geht über 1k 
an die GPIOs (die blauen Leds hängen an VBUS, VSYS und 3,3V).

Die ca. 1,3mA Querstrom sollten eigendlich nicht stören.

von Sigi S. (sermon)


Lesenswert?

Peter N. schrieb:
> Ich gehöre nicht zu den "Leds an Konstantspannung"-Fans.

Natürlich meinst Du Konstantstrom.

Fakt:

1)
Es funktioniert mit Bitbang LCD INIT GP2,GP3,GP4,GP5,GP6,GP7
Bitbang LCD 1,1," Hallo Vollpfosten"
unter 5.0706

2) Bei Deinem Aufbau nicht

Also bleibt nur Deine Hardware, überprüfe die Anschlüsse nochmmal 
sorgfältig auf Dreher.

Was vernünftiges, funktionierendes und alle Funktionen/Peripherie 
unterstützendes bekommst Du hier:
https://www.berrybase.de/cytron-maker-pi-pico-base

Da kann Dein fehlerhaftes Gebastel nicht mithalten, auch preislich 
nicht.
Hier sind übrigens alle Test LEDS an den Ausgängen über Mosfets von den 
Pico I/O Pins entkoppelt.

Warum wohl?


Merkmale:

    Funktioniert out-of-the-box. Kein Löten!
    Zugriff auf alle Pins des Raspberry Pi Pico über zwei 20-polige 
Stiftleisten
    LED-Anzeigen an allen GPIO-Pins
    3x programmierbarer Taster (GP20-22)
    1x RGB-LED - NeoPixel (GP28)
    1x Piezo-Buzzer (GP18)
    1x 3,5-mm-Stereo-Audiobuchse (GP18-19)
    1x Micro-SD-Kartensteckplatz (GP10-15)
    1x ESP-01-Buchse (GP16-17)
    6x Grove-Anschluss

: Bearbeitet durch User
von Peter N. (alv)


Lesenswert?

Sigi S. schrieb:
> Peter N. schrieb:
>> Ich gehöre nicht zu den "Leds an Konstantspannung"-Fans.
>
> Natürlich meinst Du Konstantstrom.

Ich meinte es, wie ich es schrieb.

Sigi S. schrieb:
> https://www.berrybase.de/cytron-maker-pi-pico-base

Sieht intressant aus, aber um da meine Picos reinzustecken,
brauche ich einen Adapter, den ich mir wieder "fehlerhaft 
zusammenbasteln" muß:
Für alle Module, die ich "IC-like" verwende (stecken in IC-Fassungen), 
benutze ich gedrehte Pinleisten. Die sind für die Pfostenstecker zu 
dünn.

von Sigi S. (sermon)


Lesenswert?

LaberLaber,

ich bin dann mal raus..
Bye

von Peter N. (alv)


Lesenswert?

Diese 2*16-Displays stelle ich erstmal zurück, bis ich mir ein paar 
Adapter gebastelt und die Displays an anderen Geräten getestet habe.

Unterstützt PicoMite diese Displays auch mit dem PCF8574-I²C-Adapter?

Dann nehme ich mir jetzt mal dieses Display vor:
https://joy-it.net/de/products/SBC-OLED01

Es ist mir bereits gelungen, etwas auf dem Display anzuzeigen.
Oftmals gibt es auch eine Fehlermeldung: "Display nicht konfiguriert" 
osä.
Wie kann ich rausfinden, welche Befehle für dieses Display geeignet 
sind, ohne alle durchzuprobieren?

von Uwe D. (monkye)


Lesenswert?

In dem Link von Dir steht doch drin, dass es sich um ein Display mit 
SSD1306 Controller handelt.

Und auf Seite 43/44 des Manuals steht doch eine Anleitung dabei. Es wird 
die SPI und die I2C Schnittstelle unterstützt.

Oder Tante Google fragen…

von Peter N. (alv)


Lesenswert?

Uwe D. schrieb:
> In dem Link von Dir steht doch drin, dass es sich um ein Display mit
> SSD1306 Controller handelt.

Ich habe auch geschrieben, daß ich bereits etwas auf dem Display 
angezeigt habe.

"Pixel" und "RBox" ergeben die Meldung "Error: Display not configured".
Bedeutet das nun, daß ich für das Display noch irgendwas einstellen muß, 
oder daß diese Funktionen vom Display nicht unterstützt werden?

Bei "Text" verstehe ich "Alignment" so, daß ich mit den ersten 2 
Buchstaben den Text links/mittig/rechts und oben/mittig/unten ausrichte. 
Aber scheinbar bewirken diese nichts...

von Uwe D. (monkye)


Lesenswert?

Peter N. schrieb:
> Uwe D. schrieb:
>> In dem Link von Dir steht doch drin, dass es sich um ein Display mit
>> SSD1306 Controller handelt.
>
> Ich habe auch geschrieben, daß ich bereits etwas auf dem Display
> angezeigt habe.

Sorry - habe ich „selektiv wahrgenommen“.

> "Pixel" und "RBox" ergeben die Meldung "Error: Display not configured".
> Bedeutet das nun, daß ich für das Display noch irgendwas einstellen muß,

Also die Displays mit SSD1306 gibt es mit verschiedenen Schnittstellen, 
von verschiedenen Herstellern, mit verschiedenen Auflösungen. Besonders 
letzteres müsste als Minimum angegeben werden. Zumindest ist das bei den 
von mir verwendeten Implementierungen Python, C, Pascal, … so.

von Peter N. (alv)


Lesenswert?

Hi

Ich habe gerade ein seltsames Phänomen:

Mit "Setpin gp7,intl,intsub,pullup" habe ich einen Pin als 
Interrupteingang definiert.
Obwohl ich den Pin extern auf low gezogen habe, und mit "print pin(gp7)" 
das auch angezeigt wurde, wurde die Interruptroutine nicht angesprungen.

Erst als ich vor der Pindefinition noch ein "Setpin gp7,din,pullup" 
davorgesetzt habe, wurde dann die Interruptroutine angesprungen.

Ist da in den Tiefen von PicoMite etwas verstellt?
gp0-15 werden nicht vom System benutzt.

PicoMite Version 5.07.06

von Peter N. (alv)


Lesenswert?

Hi

Ich möchte mit dem Pico eine einstellbare Gleichspannung bzw. langsam 
ändernde Gleichspannung ausgeben.

Bei der PWM-Geschichte habe ich aber einige Verständnisprobleme.

Welche PWM-Frequenz nimmt man?
Wie sieht der Ausgangsfilter dazu aus? In der PicoMite-Anleitung ist nur 
ein Filter für Soundausgabe.

Ich brauche nur einen Analogausgang. In der Anleitung steht aber immer 
was von 2 Ausgängen. Heißt das, ich muß 2 Pins dafür verschwenden?

von Foobar (asdfasd)


Lesenswert?

> Obwohl ich den Pin extern auf low gezogen habe, und mit "print pin(gp7)"
> das auch angezeigt wurde, wurde die Interruptroutine nicht angesprungen.

Afaik triggered INTL auf eine fallende Flanke, d.h. er möchte einen 
high-low-Wechsel sehen.  Wenn der Pin dauerhaft low ist, gibt es keinen 
Interrupt.

von Foobar (asdfasd)


Lesenswert?

> Welche PWM-Frequenz nimmt man? Wie sieht der Ausgangsfilter dazu aus?

https://www.mikrocontroller.net/articles/Pulsweitenmodulation#DA-Wandlung_mit_PWM

von Peter N. (alv)


Lesenswert?

Es gibt ja diese RP2040-Zero, scheinbar ein Mini-Pico:
https://www.ebay.de/itm/385413430553

Kennt die jemand? Sind die PicoMite-kompatibel?

von Peter N. (alv)


Lesenswert?

Foobar schrieb:
> Afaik triggered INTL auf eine fallende Flanke, d.h. er möchte einen
> high-low-Wechsel sehen.  Wenn der Pin dauerhaft low ist, gibt es keinen
> Interrupt.

Den Pin habe ich nicht dauerhaft auf low gelegt, sondern geschaltet.
Die Pinabfrage hat auch den jeweiligen Zustand des Pins korrekt 
angegeben, nur ein Interrupt wurde nicht ausgelöst.

Dieser Effekt hat sich inzwischen gegeben, aber eine Erklärung dafür 
habe ich nicht.
Ebenso, daß der Pico immer noch von Zeit zu Zeit seinen Inhalt 
vergißt...

von Uwe D. (monkye)


Lesenswert?

Peter N. schrieb:
> Es gibt ja diese RP2040-Zero, scheinbar ein Mini-Pico:
> https://www.ebay.de/itm/385413430553
>
> Kennt die jemand? Sind die PicoMite-kompatibel?

Warum nicht? Ist der gleiche Prozessor, nur mit weniger verfügbaren Pins 
und in dem Fall 2MB Flash…

von Peter N. (alv)


Lesenswert?

Uwe D. schrieb:
> Peter N. schrieb:
>> Es gibt ja diese RP2040-Zero, scheinbar ein Mini-Pico:
>> https://www.ebay.de/itm/385413430553
>>
>> Kennt die jemand? Sind die PicoMite-kompatibel?
>
> Warum nicht? Ist der gleiche Prozessor, nur mit weniger verfügbaren Pins
> und in dem Fall 2MB Flash…

Der Pico hat doch auch 2MB Flash?
Wenn man die Pins, die beim Pico intern benutzt werden dazuzählt, hat 
der RP2040zero sogar mehr Pins zur Verfügung.

Was mir negativ aufgefallen ist:
Die Led hängt an GP16 statt GP25
und VSYS geht direkt an +5V, ohne Trenndiode. Wenn man den RP2040zero 
extern mit 5V versorgt, besteht die Gefahr, daß man Strom in den 
USB-Port des PCs pumpt.

Ansonsten ist das Teil schön klein (1 Raster schmaler und halb so lang 
wie der Piko).

von Peter N. (alv)


Lesenswert?

Wieder mal eine dumme Frage:
Gibt es bei PicoMite eine einfache Möglichkeit eine Zahl in Highbyte und 
Lowbyte zu zerlegen?
Also z.B. 258 wären 1 (HB) und 2 (LB) ...

von Peter N. (alv)


Lesenswert?

Hi

Mittels bin$(zahl) kann ich eine Zahl in einen Binärstring umwandeln. 
Aus der Zahl 12 wird dann der String "1100".

Gibts auch einen gegenteiligen Befehl, also einer der den String "1100" 
in die Zahl 12 umwandelt?

von Peter N. (alv)


Lesenswert?

Hier scheints nicht viele zu geben, die sich mit Basic auskennen?

Aus der PicoMite-Anleitung:

VAL( string$ )
Returns the numerical value of the ‘string$’. If 'string$' is an invalid
number the function will return zero.
This function will recognise the &H prefix for a hexadecimal number, &O
for octal and &B for binary.

VAL("1100") gibt die Zahl 1100 zurück.
Also muß ich VAL() sagen, daß der String eine Binärzahl enthält.

Aber wie setze ich das "&B" ein? Normalerweise kann ich das doch nur 
einer Zahlen-Konstante voranstellen?

Oder verstehe ich die obige Beschreibung völlig falsch?

von Sigi S. (sermon)


Lesenswert?

Peter N. schrieb:
> Hier scheints nicht viele zu geben, die sich mit Basic auskennen?

Du scheinst immer noch nicht verstehen zu wollen, dass Du im falschen 
Forum bist.
https://www.thebackshed.com/forum/ViewForum.php?FID=16

von Peter N. (alv)


Lesenswert?

Sigi S. schrieb:
> Du scheinst immer noch nicht verstehen zu wollen, dass Du im falschen
> Forum bist.
> https://www.thebackshed.com/forum/ViewForum.php?FID=16

Ich hatte doch schonmal erwähnt, daß mir das Englisch dort zu schwierig 
ist.

Warum nicht eine deutschspachige Zweigstelle aufmachen?

Schließlich geht es hier um Grundlagen, nicht um Verbesserungsvorschläge 
oder Bugreports.

: Bearbeitet durch User
von Peter N. (alv)


Lesenswert?

Gibt es die Möglichkeit einzelne Optionen zu löschen bzw. zu ändern?

Z.B. System SPI soll auf andere Pins gelegt werden.

Mittels "Option Reset" alle Optionen zu löschen und dann einzeln 
wieder einzugeben, ist etwas nervig...

: Bearbeitet durch User
von Motopick (motopick)


Lesenswert?

> Aber wie setze ich das "&B" ein?

x = val("&B10000")

Das war jetzt aber einfach.
Aber ein:

x = val("&B"+A$)

waere ja auch denkbar.

Eigentlich sollte selbst:

x = &B10000

reichen. :)

von Peter N. (alv)


Lesenswert?

Hi

Ich habe hier einen seltsamen Effekt:

Ist:
Pico W mit WebMite.
WLan aktiviert, aber keine Verbindung.
Option Autorun On

Bei Anschluß über USB läuft das Basicprogramm problemlos (steuert über 
SPI ein LCD an).

Bei Batteriebetrieb (3V, 1750mAh über Shottky-Diode auf VSYS) bleibt das 
Basicprogramm stehen (oder läuft gar nicht richtig los, auf dem LCD 
steht irgendwelches Zeugs, was noch vom vorherigen Einschalten stammen 
kann). Heartbeat läuft aber weiter.

Das Seltsame ist aber:
Starte ich den Pico über USB-Versorgung und ziehe dann den USB-Stecker 
raus, läuft das Basic-Programm einwandfrei weiter.

Woran kann das liegen, wie komme ich diesem Phänomen auf die Spur?

von Stefan F. (Gast)


Lesenswert?

Peter N. schrieb:
> Warum nicht eine deutschspachige Zweigstelle aufmachen?

Weil Softwareentwickler und Elektroniker englisch können müssen. Die 
Zeiten, wo man sich ohne englisch durch wurschteln konnte, sind lange 
vorbei.

von Peter N. (alv)


Lesenswert?

Stefan F. schrieb:
> Peter N. schrieb:
>> Warum nicht eine deutschspachige Zweigstelle aufmachen?
>
> Weil Softwareentwickler und Elektroniker englisch können müssen. Die
> Zeiten, wo man sich ohne englisch durch wurschteln konnte, sind lange
> vorbei.

Ich bin weder Softwareentwickler noch (professioneller) Elektroniker, 
sondern Hobby-FuBa.
Da habe ich eben keine Lust >50% des Hobbys mit Englisch zu 
verschwenden, was definitiv nicht zu meinen Intressen zählt.
Das Englisch der Datenblätter ist genug!

von Motopick (motopick)


Lesenswert?

Vermutlich laeuft der Picomite schon und das LCD ist mit seiner
"internen" Initialisierung noch nicht fertig.
Im Datenblatt des LCDs wird es sicher dazu eine Zeitangabe
geben, die sagt, wann nach einem POR man mit ihm reden kann.

Bau einfach eine Warteschleife an den Anfang deines Programss.

von Peter N. (alv)


Lesenswert?

Die Displayinitialisierung muß ja durchlaufen weden, sonst würde das 
Display nichts anzeigen.

Ich habe jetzt eine Led an einem Portpin angeschlossen, die in der 
Programmschleife ein- und ausgeschaltet wird.
Die Led blinkt nicht, also steht das Programm.

von Motopick (motopick)


Lesenswert?

> Heartbeat läuft aber weiter.
vs.
> Led blinkt nicht

Was denn nun? Ich fuerchte mal, dass du da selber suchen musst.
Klemm ein Oszi an die wesentlichen Stellen der Hardware und
vergleiche die Unterschiede.

Meinen "Duinomites" ist es egal ob sie ihre Spannung
- aus einem Netzteil
- einem Akku oder
- vom USB
bekommen.
Wenn das bei den Picomites nicht ordentlich funktioniert,
solltest du die Entwickler fragen.

> Die Displayinitialisierung muß ja durchlaufen weden, sonst würde das
> Display nichts anzeigen.

Hast du an den Programmanfang eine Warteschleife gesetzt?
Also vor den ganzen Anweisungen die das Display einstellen?
Oder nicht?

von Sigi S. (sermon)


Lesenswert?

Die Erklärung:


The Raspberry Pi Pico W has a flexible power system.
The input voltage from either the USB or VBUS
inputs is connected through a Schottky diode to the
buck-boost SMPS (Switch Mode Power Supply)
which has an output of 3.3V. The SMPS will
accommodate input voltages from 1.8V to 5.5V
allowing the WebMite to run from a wide range of
power sources including batteries.
External circuitry can be powered by VBUS (normally 5V) or by the 3V3 
(3.3V) output which can source up to 300mA.
For embedded controller applications generally an external power source 
(other than USB) is required and this
can be connected to VSYS via a Schottky diode. This will allow the 
WebMite to be powered by whichever supply is producing the highest 
voltage (USB or VSYS). The diodes will prevent feedback into the lower 
voltage supply.
To minimize power supply noise it is possible to ground 3V3EN to turn 
off the SMPS. When shutdown the converter will stop switching, internal 
control circuitry will be turned off and the load disconnected. You can
then power the board via a 3.3V linear regulator feeding into the 3V3 
pin.

von Peter N. (alv)


Lesenswert?

Hi

Wie verwendet man die "PIN"-Konfig (Periodenmessung) beim SetPin-Befehl?

"Setpin gp0,PIN" führt zu einem "Konfiguration Error".

Oder funktioniert diese Konfig nur mit bestimmten GPIOs?

von Peter N. (alv)


Lesenswert?

Ok, ich habs rausgefunden:

Die gewünschten GPIOs müssen erstmal mit dem Befehl "Option count" 
zugewiesen werden, bevor man die Pin-Konfigs "FIN", "PIN" und "CIN" 
nutzen kann (ist im Manual unter "Setpin" nicht erwähnt).

"Option count" führte dann zu "Pin in use", obwohl die GPIOs nur auf 
"din, pullup" gesetzt waren und ich irgendwann vorher mal die 
Interrrupt-Konfig benutzt habe.

Da ich schonmal seltsames Verhalten beim Umkonfigurieren von GPIOs 
hatte:
Werden eventuell die alten Konfigs beim Neukonfigurieren nicht 
(vollständig) überschrieben?

Wäre ein generelles "Setpin gpx, off" vor einer GPIO-Konfiguration 
sinnvoll?

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.