projects:430eforth:start
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende Überarbeitung | ||
projects:430eforth:start [2020-06-10 18:34] – [Some small Examples] mka | projects:430eforth:start [2022-01-14 04:49] (aktuell) – [TI Launchpad] mka | ||
---|---|---|---|
Zeile 32: | Zeile 32: | ||
{{ : | {{ : | ||
{{ : | {{ : | ||
+ | |||
+ | Und hier ist Ting's Quelle: {{ : | ||
Zeile 122: | Zeile 124: | ||
===== Some small Examples ===== | ===== Some small Examples ===== | ||
- | The terminal display shows | + | The terminal display shows: |
+ | 0 0 0 0 ok> | ||
+ | These four zeros show the top 4 values of the Data stack.\\ | ||
- | 0 0 0 0 ok> These four zeros show the top 4 values of the Data stack. | + | With((< |
- | with | + | 1 <CR> |
- | 1 (CR) | + | 2 <CR> |
- | 2 (CR) | + | 3 <CR> |
- | 3 (CR) | + | 4 <CR> |
- | 4 CR) | + | it changes to: |
- | it changes to | + | 1 2 3 4 ok> |
- | 1 2 3 4 ok> | + | |
- | now try | + | |
- | . (CR) | + | Now try |
- | . (CR) | + | . <CR> |
- | . (CR) | + | . <CR> |
- | . (CR) | + | . <CR> |
- | and the 4 values are displayed and disappear from the stack and back to 0 0 0 0 ok> | + | . <CR> |
+ | and the 4 values are displayed and disappear from the stack which is back to: | ||
+ | | ||
Zeile 143: | Zeile 149: | ||
- | Define a new Forth Word | + | Define a new Forth Word: |
: | : | ||
'':'' | '':'' | ||
- | '' | + | '' |
'' | '' | ||
And ''"'' | And ''"'' | ||
Zeile 166: | Zeile 172: | ||
==== And now let us control one Bit in the IO. Here the on-board LED ==== | ==== And now let us control one Bit in the IO. Here the on-board LED ==== | ||
- | 20 24 POKE (CR) | + | |
- | \ will set bit 5 of the port to OUTPUT in the Data Direction Register | + | \ Will set bit 5 of the port to OUTPUT in the Data Direction Register |
- | \ 20 is the data bit to be stored, and 24 is the DDR Register address in hex | + | \ 20 is the data bit to be stored, and 24 is the DDR Register address in hex |
- | + | ||
- | 20 25 POKE (CR) | + | 20 25 POKE (CR) |
- | \ Will set Bit 5 in the OUTPUT Register to HIGH - LED is on 0 0 1 0 0 0 0 0 | + | \ Will set Bit 5 in the OUTPUT Register to HIGH - LED is on 0 0 1 0 0 0 0 0 |
- | \ 20 is the OUTPUT bit to be stored and 25 in hex is the Output Port Register | + | \ 20 is the OUTPUT bit to be stored and 25 in hex is the Output Port Register |
- | + | ||
- | 00 25 POKE (CR) | + | 00 25 POKE (CR) |
- | \ Will set Bit 5 in the OUTPUT Register to LOW - LED is off | + | \ Will set Bit 5 in the OUTPUT Register to LOW - LED is off |
- | \ here 00 is stored in the Output Register | + | \ here 00 is stored in the Output Register |
- | + | ||
- | The data sheet I used is http:// | + | |
+ | I used this [[http:// | ||
+ | |ATmega328P Datasheet]]. | ||
And for now only page 280 is important, which shows the addresses for the ports, | And for now only page 280 is important, which shows the addresses for the ports, | ||
- | especially here now Port B: \\ | + | especially here now those two Port-B-addresses: |
- | 24 HEX is the DDR (DDR = Data Direction Register) to set bits to OUTPUT and | + | *24 HEX is the DDR (DDR = Data Direction Register) to set bits to OUTPUT and |
- | 25 HEX for the OUTPUT Register to set bits to 1 or 0 HIGH or LOW. | + | *25 HEX for the OUTPUT Register to set bits to 1 or 0 HIGH or LOW. |
**And the relevant file of these examples** | **And the relevant file of these examples** |
projects/430eforth/start.1591806894.txt.gz · Zuletzt geändert: 2020-06-10 18:34 von mka