記事 ID: 000079285 コンテンツタイプ: 製品情報 & ドキュメント 最終改訂日: 2021/08/28

UART HAL ドライバーをNios II・プロセッサーで非ブロック・モードで動作するように設定するにはどうすればよいですか?

環境

    インテル® Nios® II プロセッサー
BUILT IN - ARTICLE INTRO SECOND COMPONENT
詳細

HALは、UART HAL ドライバーを非ブロックモードで動作するように設定する 2 つの方法を提供します。

UNIX スタイル

UNIX スタイルの IO 関数呼び出しを使用する場合、open() 関数を使用して UART を非ブロックに設定できます。これを行うには、次の方法で UART のファイル記述子を開きます。

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

このファイル記述子は、UART を読み取り / 書き込みおよび非ブロックモードで動作するように設定します。次に、ファイル記述子を read() および write() 関数と一緒に使用できます。

ANSI C

ANSI C IO ファンクション呼び出しを使用している場合は、uART HALドライバーを fcntl() を使用して非ブロックモードで動作するように設定できます。これを行うには、ソースコードで fcntl.h と unistd.h を参照する必要があります。その後、fcntl() を使用して UART を非ブロックモードに設定できます。以下は、STMODE IO チャネルを非ブロックモードで動作させる例です。

fcntl(STDIN_FILENO, F_SETFL, O_NONBLOCK);

 

    詳細については、Nios® II ソフトウェア開発者ハンドブック (英語) のHAL API リファレンスを参照してください。このドキュメントは次の場所にあります。

    Nios II・インストール - インストール・ディレクトリー>/ドキュメント/n2sw_nii5v2.pdf

    ウェブサイト®Altera - http://www.altera.com/literature/lit-nio2.jsp

    関連製品

    本記事の適用対象: 1 製品

    インテル® プログラマブル・デバイス

    1

    このページのコンテンツは、元の英語のコンテンツを人力翻訳および機械翻訳したものが混在しています。この内容は参考情報および一般的な情報を提供するためものであり、情報の正確さと完全性を保証するものではありません。インテルは不正確な翻訳があった場合でもいかなる責任を負いません。このページの英語版と翻訳の間に矛盾がある場合は、英語版に準拠します。 このページの英語版をご覧ください。