• Navigation überspringen
  • Zur Navigation
  • Zum Seitenende
Organisationsmenü öffnen Organisationsmenü schließen
Friedrich-Alexander-Universität Lehrstuhl für Informatik 4 (Systemsoftware)
  • FAUZur zentralen FAU Website
  1. Friedrich-Alexander-Universität
  2. Technische Fakultät
  3. Department Informatik
Suche öffnen
  • English
  • Campo
  • StudOn
  • FAUdir
  • Stellenangebote
  • Lageplan
  • Hilfe im Notfall
  1. Friedrich-Alexander-Universität
  2. Technische Fakultät
  3. Department Informatik
Friedrich-Alexander-Universität Lehrstuhl für Informatik 4 (Systemsoftware)
Menu Menu schließen
  • Lehrstuhl
    • Team
    • Aktuelles
    • Kontakt und Anfahrt
    • Leitbild
    • 50-jähriges Jubiläum
    Portal Lehrstuhl
  • Forschung
    • Forschungsbereiche
      • Betriebssysteme
      • Confidential Computing
      • Eingebettete Systemsoftware
      • Verteilte Systeme
    • Projekte
      • AIMBOS
      • BALu
      • BFT2Chain
      • DOSS
      • Mirador
      • NEON
      • PAVE
      • ResPECT
      • Watwa
    • Projektkampagnen
      • maRE
    • Seminar
      • Systemsoftware
    Portal Forschung
  • Publikationen
  • Lehre
    • Sommersemester 2025
      • Applied Software Architecture
      • Ausgewählte Kapitel der Systemsoftware
      • Betriebssystemtechnik
      • Projekt angewandte Systemsoftwaretechnik
      • System-Level Programming
      • Systemnahe Programmierung in C
      • Systemprogrammierung 1
      • Verteilte Systeme
    • Wintersemester 2024/25
      • Betriebssysteme
      • Middleware – Cloud Computing
      • Systemprogrammierung 2
      • Verlässliche Echtzeitsysteme
      • Virtuelle Maschinen
      • Web-basierte Systeme
    Portal Lehre
  • Examensarbeiten
  1. Startseite
  2. Extern

Extern

Bereichsnavigation: Lehre
  • Systemnahe Programmierung in C (für Wiederholer)
    • Vorlesung
      • Übung
        • Folien
        • Aufgaben
        • SPiCboard
          • Bauanleitung
            • Programmieren im CIP
              • Programmieren von zu Hause
                • libspicboard-Doku
                  • SPiC-IDE
                    • SPiCsim
                      • FAQ
                        • Projekte
                        • Linux libc-Doku
                        • Prüfung
                          • Evaluation
                            • Intern

                            SPiCboard

                            • libspicboard
                            console.h
                            Go to the documentation of this file.
                            1 #ifndef _CONSOLE_H
                            2 #define _CONSOLE_H
                            3 
                            4 #include <stdarg.h>
                            5 
                            6 #include "check.h"
                            7 
                            8 /**
                            9  * \addtogroup Console Serial Console
                            10  *
                            11  * \brief In- and output using a serial console
                            12  *
                            13  * This adds the ability to print and read from a connected serial console (via USB).
                            14  * You can use the primitives supplied by this module or even printf and scanf.
                            15  *
                            16  * In Atmel Studio 7 select Menu "Tools" and choose "Data Visualizer".
                            17  * Click on sidebar "Configuration"
                            18  * In frame "Modules" expand "External Connection" and select "Serial Port"
                            19  * Configure "Serial Port Control Panel":
                            20  * - choose the correct interface (something like "mEDBG Virtual COM Port (COM4)"
                            21  * - set the "Baud rate" to the same value as the "BAUD_RATE" macro (by default 38400)
                            22  * - choose correct "Parity" (default "disabled") and "Stop bits" (default "1")
                            23  * - check "DTR" and "Open Terminal" (and "RTS" on slow systems)
                            24  * Click "Connect"
                            25  *
                            26  * In Linux you can try to connect to the console using the libspicboard make target "console":
                            27  *
                            28  * \warning Cannot be used in conjunction with any other serial communication (including \ref COM )
                            29  *
                            30  * \warning Using printf/scanf (and derived functions) will consume a noticeable amount of flash memory!
                            31  *
                            32  * @{
                            33  * \file console.h
                            34  * \version \$Rev: 16347 $
                            35  */
                            36 
                            37 /**
                            38  * \brief Parity bit types
                            39  */
                            40 typedef enum {
                            41  PARITY_DISABLED, /**< parity bit disabled */
                            42  PARITY_EVEN, /**< use even parity bit */
                            43  PARITY_ODD /**< use odd parity bit */
                            44 } __attribute__ ((__packed__)) CONSOLE_PARITY;
                            45 
                            46 /**
                            47  * \brief Connect to serial console
                            48  *
                            49  * Specify the baud rate, parity type and number of stop bits and initiate a
                            50  * connection using the serial port (USART)
                            51  *
                            52  * \param baud baud rate for serial connection
                            53  * \param parity pairty type (even/odd) if enabled
                            54  * \param stopbits number of stop bits (1 or 2)
                            55  * \retval 0 connection successfully set up
                            56  * \retval -1 Baud rate achieved is higher than allowed
                            57  * \retval -2 Baud rate achieved is lower than allowed
                            58  * \retval -3 Baud rate value overflow
                            59  * \retval -4; invalid stop bit count
                            60  */
                            61 int8_t sb_console_connect(uint32_t baud, CONSOLE_PARITY parity, uint8_t stopbits);
                            62 
                            63 /**
                            64  * \brief Connect to serial console with default settings
                            65  *
                            66  * Connect with 38400 baud, no parity and single stop bit to a serial console.
                            67  *
                            68  * This is automatically used for the sb_console_* functions
                            69  * if sb_console_connect was not called before.
                            70  *
                            71  * \retval 0 connection successfully set up
                            72  * \retval -1 Baud rate achieved is higher than allowed
                            73  * \retval -2 Baud rate achieved is lower than allowed
                            74  * \retval -3 Baud rate value overflow
                            75  * \retval -4; invalid stop bit count
                            76  */
                            77 int8_t sb_console_connect_default(void);
                            78 
                            79 /**
                            80  * \brief Read the next character
                            81  *
                            82  * Invalid read operations (end of file) will return '\0'
                            83  *
                            84  * \retval character read from console
                            85  */
                            86 char sb_console_getChar();
                            87 
                            88 /**
                            89  * \brief Read a line into the buffer
                            90  *
                            91  * This function reads in at most one less than size characters and stores them into the buffer pointed to by the char array.
                            92  * Reading stops after an EOF or a newline. If a newline is read, it is stored into the buffer.
                            93  * A terminating null byte (\0) is stored after the last character in the buffer.
                            94  *
                            95  * \param string pointer to buffer
                            96  * \param size size of buffer
                            97  * \retval string on success
                            98  * \retval NULL on error or when end of file occurs while no characters have been read
                            99  */
                            100 char * sb_console_getString(char *string, uint16_t size);
                            101 
                            102 /**
                            103  * \brief Prints a single character
                            104  *
                            105  * \param character character to print
                            106  * \retval -1 on error
                            107  * \retval 0 on success
                            108  */
                            109 int8_t sb_console_putChar(char character);
                            110 
                            111 
                            112 /**
                            113  * \brief Writes the string and a trailing newline.
                            114  *
                            115  * \param string string to print
                            116  * \retval -1 on error
                            117  * \retval 0 on success
                            118  */
                            119 int8_t sb_console_putString(const char *string);
                            120 
                            121 /**
                            122  * \brief Writes the string and a trailing newline.
                            123  *
                            124  * \param string string from flash memory to print
                            125  * \retval -1 on error
                            126  * \retval 0 on success
                            127  */
                            128 int8_t sb_console_putStringFromFlash(const __flash char *string);
                            129 
                            130 /** @}*/
                            131 
                            132 #endif
                            133 
                            check.h
                            sb_console_getChar
                            char sb_console_getChar()
                            Read the next character.
                            sb_console_putStringFromFlash
                            int8_t sb_console_putStringFromFlash(const __flash char *string)
                            Writes the string and a trailing newline.
                            sb_console_connect
                            int8_t sb_console_connect(uint32_t baud, CONSOLE_PARITY parity, uint8_t stopbits)
                            Connect to serial console.
                            sb_console_putChar
                            int8_t sb_console_putChar(char character)
                            Prints a single character.
                            sb_console_putString
                            int8_t sb_console_putString(const char *string)
                            Writes the string and a trailing newline.
                            sb_console_connect_default
                            int8_t sb_console_connect_default(void)
                            Connect to serial console with default settings.
                            CONSOLE_PARITY
                            CONSOLE_PARITY
                            Parity bit types.
                            Definition: console.h:40
                            sb_console_getString
                            char * sb_console_getString(char *string, uint16_t size)
                            Read a line into the buffer.
                            PARITY_ODD
                            @ PARITY_ODD
                            Definition: console.h:43
                            PARITY_EVEN
                            @ PARITY_EVEN
                            Definition: console.h:42
                            PARITY_DISABLED
                            @ PARITY_DISABLED
                            Definition: console.h:41
                            Friedrich-Alexander-Universität
                            Erlangen-Nürnberg

                            Schlossplatz 4
                            91054 Erlangen
                            • Impressum
                            • Datenschutz
                            • Barrierefreiheit
                            • Facebook
                            • RSS Feed
                            • Xing
                            Nach oben