Artikel-ID: 000079285 Inhaltstyp: Produktinformationen und Dokumente Letzte Überprüfung: 10.03.2015

Wie kann ich den UART HAL-Treiber so einstellen, dass er im nicht blockierenden Modus mit dem Nios II Prozessor betrieben wird?

Umgebung

  • Intel® Nios® II Prozessor
  • BUILT IN - ARTICLE INTRO SECOND COMPONENT
    Beschreibung

    Der HAL bietet zwei Methoden, um den UART HAL Treiber auf den nicht blockierenden Modus zu setzen.

    UNIX-Stil

    Wenn Sie IO-Anrufe nach UNIX-Art verwenden, können Sie die open() Funktion verwenden, um eine UART als nicht blockierend zu setzen. Öffnen Sie dazu auf folgende Weise eine Dateibeschreibung für Ihre UART:

    fd = open("/dev/",O_NONBLOCK | O_RDWR);

    Mit dieser Dateibeschreibung wird die UART so festgelegt, dass sie im Lese-/Schreib- und nicht blockierenden Modus ausgeführt wird. Sie können dann die Dateibeschreibung mit den Funktionen read() und write() verwenden.

    ANSI C

    Wenn Sie anSI C IO-Funktion aufruft, können Sie einen UART HAL Treiber mit fcntl() so einstellen, dass er im nicht blockierenden Modus betrieben wird. Um dies zu tun, müssen Sie auf fcntl.h und unistd.h in Ihrem Quellcode verweisen. Dann können Sie fcntl() verwenden, um UART auf den Nichtblockierungsmodus zu setzen. Nachfolgend finden Sie ein Beispiel, das den STDIN IO-Kanal so setzt, dass er im nicht blockierenden Modus betrieben wird:

    fcntl(STDIN_FILENO, F_SETFL, O_NONBLOCK);

     

      Weitere Informationen finden Sie in der HAL API-Referenz im Handbuch für Nios® II Softwareentwickler. Dieses Dokument finden Sie an den folgenden Stellen:

      Nios II-Installation – Installationsverzeichnis für /documents/n2sw_nii5v2.pdf

      ® website Altera – http://www.altera.com/literature/lit-nio2.jsp

      Zugehörige Produkte

      Dieser Artikel bezieht sich auf 1 Produkte

      Intel® programmierbare Geräte

      Der Inhalt dieser Seite ist eine Kombination aus menschlicher und computerbasierter Übersetzung des originalen, englischsprachigen Inhalts. Dieser Inhalt wird zum besseren Verständnis und nur zur allgemeinen Information bereitgestellt und sollte nicht als vollständig oder fehlerfrei betrachtet werden. Sollte eine Diskrepanz zwischen der englischsprachigen Version dieser Seite und der Übersetzung auftreten, gilt die englische Version. Englische Version dieser Seite anzeigen.