新石器Wiki

近年はシリコン(石)から進化した便利なもので溢れる時代。そんな気になった事や試した事など記す。

ユーザ用ツール

サイト用ツール


programing:linux-programing:linux-beep-io-access


差分

このページの2つのバージョン間の差分を表示します。

この比較画面へのリンク

両方とも前のリビジョン前のリビジョン
次のリビジョン
前のリビジョン
programing:linux-programing:linux-beep-io-access [2020/03/29 10:05] – [テーブル] yokoprograming:linux-programing:linux-beep-io-access [2026/07/28 13:16] (現在) – 外部編集 127.0.0.1
行 1: 行 1:
-LinuxでI/Oポート操作(Beep音を鳴らす) +====== LinuxでI/Oポート操作(Beep音を鳴らす) ======
-===============================+
 LinuxでシステムビープのI/Oポートを操作して、ビープ音を鳴らす方法について備忘録を残す。 LinuxでシステムビープのI/Oポートを操作して、ビープ音を鳴らす方法について備忘録を残す。
  
-システム・タイマのハード仕様 +===== システム・タイマのハード仕様 ===== 
---------------------- +IBM PC互換機のシステム・タイマは i8254 相当品(PIT)が使用されており、3個のプログラマブル・カウンタを内蔵。クロックは 1.19318MHz でドライブされて、以下の用途に使われている。
-IBM PC互換機のシステム・タイマは i8254 相当品が使用されており、3個のプログラマブル・カウンタを内蔵。クロックは 1.19318MHz でドライブされて、以下の用途に使われている。+
  
   - チャネル0: IRQ0のハード割り込みを周期的に発生。   - チャネル0: IRQ0のハード割り込みを周期的に発生。
行 58: 行 56:
  
  
 +#### 2) ステータス(リード)
 + 
 +^ アドレス                ^ Bit  ^ 項目    ^ 説明                                                                              ^
 +| 0x40\\ 0x41\\ 0x42  | D7   | OUT   | 0: OUT端子レベル・ロー,1: OUT端子レベル・ハイ                                                   |
 +| :::                 | D6   | NULL  | 0: カウンタ有効,1: カウンタ無効                                                             |
 +| :::                 | D5   | RWMD  | 00: カウンタ・ラッチ動作(読み出し時),01: 下位バイトの読み書き,\\ 10: 上位バイトの読み書き,02: 下位・上位の順に読み書き(デフォルト)  |
 +| :::                 | D4   | :::   | :::                                                                             |
 +| :::                 | D3   | MODE  | モード番号\\ 000: カウント終了時の割り込み,\\ 010: レート・ジェネレータ,\\ 011: 方形波レート・ジェネレータ              |
 +| :::                 | D2   | :::   | :::                                                                             |
 +| :::                 | D1   | :::   | :::                                                                             |
 +| :::                 | D0   | BCD   | 0: バイナリ・カウント,1: BCDカウント                                                         |
  
-[リードバック・コマンド + 
-^ アドレス  ^ Bit  ^ 項目  ^ 説明  +#### 3) カウンタの読み書き(リード/ライト) 
-0x43  | D7   1       | +  
-| :::   | D6   1       | +^ アドレス                ^ Bit  ^ 項目       ^ 説明                ^ 
-| :::   | D5   CR  |     | +| 0x40\\ 0x41\\ 0x42  | D7   | COUNTER  | モード・レジスタの設定直後に有効 
-| :::   | D4           +| :::                 | D6   | :::      | :::               | 
-| :::   | D3           +| :::                 | D5   | :::      | :::               | 
-| :::   | D2           +| :::                 | D4   | :::      | :::               | 
-| :::   | D1           +| :::                 | D3   | :::      | :::               | 
-| :::   | D0           |+| :::                 | D2   | :::      | :::               | 
 +| :::                 | D1   | :::      | :::               | 
 +| :::                 | D0   | :::      | :::               | 
 + 
 + 
 +#### 4) システム・コマンド(ライト) 
 + 
 +^ アドレス  ^ Bit  ^ 項目    ^ 説明                               
 +0x61  | D7       |                                  
 +| :::   | D6       |                                  
 +| :::   | D5       |                                  
 +| :::   | D4       |                                  
 +| :::   | D3   EIOC  I/Oチャネル・エラー状態(0:禁止, 1:許可)        
 +| :::   | D2   EMPE  メモリ・パリティ・チェック状態(0:禁止, 1:許可)      
 +| :::   | D1   SPKG  PITチャネル2のスピーカへの出力状態(0:禁止, 1:許可)  
 +| :::   | D0   T2G   PITチャネル2の出力状態(0:禁止, 1:許可)        |
  
  
 +#### 5) システム・ステータス(リード)
  
 +^ アドレス  ^ Bit  ^ 項目    ^ 説明                   ^
 +| 0x61  | D7   | MPE   | メモリ・パリティ・エラー         |
 +| :::   | D6   | IOCE  | I/Oチャネル・エラー          |
 +| :::   | D5   | TC2O  | チャネル2の出力信号がアクティブ     |
 +| :::   | D4   | REF   | メモリ・リフレッシュのチェック      |
 +| :::   | D3   | EIOC  | I/Oチャネル・エラー状態        |
 +| :::   | D2   | EMPE  | メモリ・パリティ・チェック状態      |
 +| :::   | D1   | SPKG  | PITチャネル2のスピーカへの出力状態  |
 +| :::   | D0   | T2G   | PITチャネル2出力状態         |
  
  
-テストプログラム +===== テストプログラム =====
-------------+
 I/Oポートを操作するサンプルプログラム。 I/Oポートを操作するサンプルプログラム。
  
行 138: 行 171:
 実行すると、1秒間ビープ音がなる。 実行すると、1秒間ビープ音がなる。
  
-関連記事 +===== 関連記事 =====
--------+
  
   * [[myblog>2020/03/01/inux-beep-io-access/|LinuxでI/Oポート操作してBeep音を鳴らす]]   * [[myblog>2020/03/01/inux-beep-io-access/|LinuxでI/Oポート操作してBeep音を鳴らす]]
  
-参考 +===== 参考 =====
-----+
  
-1. {{http://www.mech.tohoku-gakuin.ac.jp/rde/contents/linux/material/linuxjapan/200107-robot.pdf|「Linuxによるハードウェア制御の基礎」 Linux Japan July 2001}} +  - {{http://www.mech.tohoku-gakuin.ac.jp/rde/contents/linux/material/linuxjapan/200107-robot.pdf|「Linuxによるハードウェア制御の基礎」 Linux Japan July 2001}} 
-2. 「DOS/Vテクニカル・リファレンス・マニュアル(増補版)」 ソフトバンク(株)出版 1994年7月25日初版発行 +  「DOS/Vテクニカル・リファレンス・マニュアル(増補版)」 ソフトバンク(株)出版 1994年7月25日初版発行 
-3. 「別冊トランジスタ技術 '97 IBM PC活用ハンドブック」 CQ出版社 1997年4月1日発行+  「別冊トランジスタ技術 '97 IBM PC活用ハンドブック」 CQ出版社 1997年4月1日発行
  
  
programing/linux-programing/linux-beep-io-access.1585443958.txt.gz · 最終更新: by yoko