新石器Wiki

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

ユーザ用ツール

サイト用ツール


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


差分

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

この比較画面へのリンク

両方とも前のリビジョン前のリビジョン
次のリビジョン
前のリビジョン
programing:linux-programing:linux-beep-io-access [2020/03/29 10:10] – [テーブル] 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のハード割り込みを周期的に発生。
行 60: 行 58:
 #### 2) ステータス(リード) #### 2) ステータス(リード)
    
-^ アドレス                ^ Bit  ^ 項目    ^ 説明                                                                  +^ アドレス                ^ Bit  ^ 項目    ^ 説明                                                                              
-| 0x40\\ 0x41\\ 0x42  | D7   | OUT                                                                       +| 0x40\\ 0x41\\ 0x42  | D7   | OUT   0: OUT端子レベル・ロー,1: OUT端子レベル・ハイ                                                   
-| :::                 | D6   | NULL  |                                                                     +| :::                 | D6   | NULL  | 0: カウンタ有効,1: カウンタ無効                                                             
-| :::                 | D5   | RWMD  |                                                                     +| :::                 | D5   | RWMD  | 00: カウンタ・ラッチ動作(読み出し時),01: 下位バイトの読み書き,\\ 10: 上位バイトの読み書き,02: 下位・上位の順に読み書き(デフォルト)  
-| :::                 | D4   | :::   | :::                                                                 +| :::                 | D4   | :::   | :::                                                                             
-| :::                 | D3   | MODE  | モード番号\\ 000: カウント終了時の割り込み,\\ 010: レート・ジェネレータ,\\ 011: 方形波レート・ジェネレータ  +| :::                 | D3   | MODE  | モード番号\\ 000: カウント終了時の割り込み,\\ 010: レート・ジェネレータ,\\ 011: 方形波レート・ジェネレータ              
-| :::                 | D2   | :::   | :::                                                                 +| :::                 | D2   | :::   | :::                                                                             
-| :::                 | D1   | :::   | :::                                                                 +| :::                 | D1   | :::   | :::                                                                             
-| :::                 | D0   | BCD                                                                       |+| :::                 | D0   | BCD   0: バイナリ・カウント,1: BCDカウント                                                         |
  
  
 #### 3) カウンタの読み書き(リード/ライト) #### 3) カウンタの読み書き(リード/ライト)
    
-^ アドレス  ^ Bit  ^ 項目  ^ 説明  +^ アドレス                ^ Bit  ^ 項目       ^ 説明                
-| 0x40  | D7   1       +| 0x40\\ 0x41\\ 0x42  | D7   COUNTER  モード・レジスタの設定直後に有効  
-| :::   | D6   1       +| :::                 | D6   :::      :::               
-| :::   | D5   CR      +| :::                 | D5   :::      :::               
-| :::   | D4           +| :::                 | D4   :::      :::               
-| :::   | D3           +| :::                 | D3   :::      :::               
-| :::   | D2           +| :::                 | D2   :::      :::               
-| :::   | D1           +| :::                 | D1   :::      :::               
-| :::   | D0           |+| :::                 | D0   :::      :::               |
  
  
 +#### 4) システム・コマンド(ライト)
  
 +^ アドレス  ^ Bit  ^ 項目    ^ 説明                               ^
 +| 0x61  | D7   | 0                                      |
 +| :::   | D6   | 0                                      |
 +| :::   | D5   | 0                                      |
 +| :::   | D4   | 0                                      |
 +| :::   | 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ポートを操作するサンプルプログラム。
  
行 150: 行 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.1585444206.txt.gz · 最終更新: by yoko