Difference: TerminalIO (7 vs. 8)

Revision 82020-05-20 - PeterSchmid

Line: 1 to 1
 
META TOPICPARENT name="WebHome"
%DASHBOARD{ section="banner"
Line: 9 to 9
 
Intro

Intro

Changed:
<
<
To work with a Forth system you need some kind of a console. A text terminal with RS-232 port has been used for this purpose in the past, today PCs have software to emulate terminals but do not have any RS-232 interface. But there are usually USB interfaces instead. The USB-CDC appears as a traditional RS-232 port in your operating system (Linux /dev/ttyACMx, Windoze COMx). No need to bother with baud rates, handshaking, parity and other awkward things.
>
>
To work with a Forth system you need some kind of a console. A text terminal with RS-232 port has been used for this purpose in the past, today's PCs have software to emulate terminals but have no more any RS-232 interface. But there are usually USB interfaces instead. The USB-CDC appears as a traditional RS-232 port in your operating system (Linux /dev/ttyACMx, Windoze COMx). No need to bother with baud rates, handshaking, parity and other awkward things.
 

Line: 19 to 19
 

Terminal-IO

Changed:
<
<
Default console is USB-CDC, but if you press button SW2 on reset, the console is redirected to the UART device, see mecrisp.s. If you press button SW1 on reset, the console is redirected to the Bluetooth LE Cable Replacement Service.
>
>
Default console is USB-CDC, but if you press button SW2 on reset, the console is redirected to the UART RS-232 serial device (for details see mecrisp.s). If you press button SW1 on reset, the console is redirected to the Bluetooth LE Cable Replacement Service.
 
emit? 	     ( -- Flag ) 	Ready to send a character?
key? 	     ( -- Flag ) 	Checks if a key is waiting

Line: 53 to 53
 
Changed:
<
<

USB-CDC Serial Communcation (API)

>
>

USB-CDC Serial Communication (API)

Buffered USB-CDC serial communication. The USB-CDC appears as a traditional RS-232 port in your operating system (Linux /dev/ttyACMx, Windoze COMx). No need to bother with baud rates, handshaking, parity and other awkward things.
 

Changed:
<
<
cdc-emit ( c -- ) Emit one character cdc-key ( -- c ) Receive one character cdc-emit? ( -- ? ) Ready to send a character cdc-key? ( -- ? ) Is there a key press ?
>
>
cdc-emit ( c -- ) Emits one character to the USB-CDC interface. Blocking if the Buffer is full. cdc-key ( -- c ) Waits and gets one character from the USB-CDC interface. Blocking if the buffer is empty. cdc-emit? ( -- ? ) Ready to send a character. Buffer is not full. cdc-key? ( -- ? ) Checks if a character is in the buffer.
 

Changed:
<
<

UART Serial Communcation (API)

>
>

UART Serial Communication (API)

 

Changed:
<
<
serial-emit ( c -- ) Emit one character serial-key ( -- c ) Receive one character serial-emit? ( -- ? ) Ready to send a character serial-key? ( -- ? ) Is there a key press ?

baudrate ( u -- ) set baud rate (e.g. 300, 600, 1200, 2400, 4800, 9600, 19200, 38400, 57600, 115200) paritybit ( u -- ) set parity bit 0 none, 1 odd, 2 even, 3 mark, 4 space wordlength ( u -- ) set word length 7, 8, 9 (including parity) stopbits ( u -- ) set stop bits 0 1 bit, 1 1.5 bit, 2 2 bit

>
>
serial-emit ( c -- ) Emits one character to the UART interface. Blocking if the Buffer is full. serial-key ( -- c ) Waits and gets one character from the UART interface. Blocking if the buffer is empty. serial-emit? ( -- ? ) Ready to send a character. Buffer is not full. serial-key? ( -- ? ) Checks if a character is in the buffer.

baudrate! ( u -- ) sets baud rate (e.g. 300, 600, 1200, 2400, 4800, 9600, 19200, 38400, 57600, 115200) paritybit! ( u -- ) sets parity bit 0 none, 1 odd, 2 even wordlength! ( u -- ) sets word length 7, 8, 9 (including parity) stopbits! ( u -- ) sets stop bits 0 1 bit, 1 1.5 bit, 2 2 bit

 

Changed:
<
<

BLE Cable Replacement Serial Communcation (API)

>
>

BLE Cable Replacement Serial Communication (API)

https://spyr.ch/crs-terminal/
 

Changed:
<
<
crs-emit ( c -- ) Emit one character crs-key ( -- c ) Receive one character crs-emit? ( -- ? ) Ready to send a character crs-key? ( -- ? ) Is there a key press ?
>
>
crs-emit ( c -- ) Emits one character to the UART interface. Blocking if the Buffer is full. crs-key ( -- c ) Waits and gets one character from the UART interface. Blocking if the buffer is empty. crs-emit? ( -- ? ) Ready to send a character. Buffer is not full. crs-key? ( -- ? ) Checks if a character is in the buffer.
 

Added:
>
>

Terminal Emulators

Terminal emulator application for PC, e.g.:

  • PuTTY - Windows and Linux
  • Tera Term - Windows
  • Realterm - Windows
  • minicom, microcom, CuteCom, screen - Linux
  • Use the built in Eclipse console (but no LF)

 
 
This site is powered by the TWiki collaboration platform Powered by PerlCopyright © 2008-2025 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback