■「第5回 絶対外せない基本設定とサーバの動作」
■Apache設定詳細:ここは詳しいやな
--------------------------------
■ubuntuのFirefoxでネットに接続せずにループバックすると
\newcommand{\hoge}[3][\today]{Gives
#2 #3!
Today is #1.
}
\hoge{Hello}{Jack}
\hoge[Thursday]{Hi}{Cathy}Hello Jack!
Today is October 16, 2008.
Hi Cathy!
Today is Thursday.
■PCリソースがあまれば一ついかが?
$ sudo passwd root以上
Password: (現ユーザのパスワード)
新しい UNIX パスワードを入力してください: (rootのパスワード)
新しい UNIX パスワードを再入力してください: (rootのパスワード)
passwd: パスワードは正しく更新されました
fd = open("/dev/ttyS0", O_RDWR O_NOCTTY O_NDELAY);
if (fd == -1)
{
/*
* Could not open the port.
*/
perror("open_port: Unable to open /dev/ttyS0 - ");
}
else
fcntl(fd, F_SETFL, 0);オープンファイル記述 (open file description) には、ファイル記述毎に設定される状態フラグがいくつかある。これらのフラグは open(2) によって初期化され、 fcntl(2) により変更することもできる
(Manpage of FCNTL より)
ttyを制御しない.という説明でわかるか!
#define O_NOCTTY 0x8000 /* don't assign controlling terminal */でした.やっと意味がわかった.なんでdon't assign controlling terminalをttyを制御しないと訳したんだ?自分もだけどO_NOCTTYをno control ttyの略と勘違いして決めつけちゃったかもしれない.わかりにくい!!!.これはユーザのプログラムがオープンしたファイルはデバイスファイル(シリアルポート)でこのファイルをプログラムの制御端末にしないでほしいということだ.シリアルポートをそれを開いたプログラムに制御端末として割り当てないでほしい!なるほど~.よく組み込みLinuxで外部からシリアル―シリアル接続で制御を行うときシリアルポートを制御端末として使っているじゃん.でもここではその機能がほしくないからO_NOTTYをセットしているの!
カノニカル入力処理
これは端末に対しての通常の処理モードですが、他のデバイスとの通信の時にも便利です。全ての入力は行単位で処理されます。つまり、read は入力の1行全体のみを返してきます。デフォルトでは、行はNL(ASCII のLF)、ファイル終端、行終端文字のいずれかで終ります。標準の設定では、CR (DOS/Windows のデフォルトの行終端文字)は行の終端とはなりません。
カノニカル入力処理では、消去(erase)、単語の削除(delete word)、文字の再出力(reprint characters)、CRのNLへの変換などを扱うことができます。
非カノニカル入力処理
非カノニカル入力処理は、read 毎に決まった数の文字を扱う方法で、キャラクタタイマを利用することもできます。このモードはアプリケーションが決まった文字数のキャラクタを読み込む時や、接続したデバイスが大量の文字を送ってくる場合に使用します。
非同期入力
上記2つのモードは、同期及び非同期モードで使うことができます。デフォルトは、入力がうまくいくまで read 文がブロックされる同期モードです。非同期モードでは、read 文は即座に終了し、後で読み込みが完了した時にプログラムにシグナルが送られます。このシグナルは、シグナルハンドラを使って受け取ります。
■ DCD(Data Carrier Detect) 1番ピン(9ピンポートの場合)
これはモデムが相手とつながっているかどうかを検出するためのものです.下の図(wikipediaより)はDCDがRTSとつながっていることがわかる.The Linux Serial HOWTO:ピン配置と信号節でポートのオープンを禁止する方法について
シリアルポートのlocalフラグを無効にする場合,DCDがオン(+12V)になるまではシリアルポートをOpenできないと書いてある.シリアルポートをOpenするとにに
fd = open("/dev/ttyS0", O_RDWR O_NOCTTY O_NDELAY)のようにOpenする.オプションO_NDELAYはDCDのシグナル線を無視するようになる.もしこれを指定しないとDCDシグナル線がSpace Voltage(オン)になるまでプロセスはSleep状態になるらしい[5] , [6] なるほど
ピン番号 ピン番号 略称 正式名称 方向 動作および目的
9ピン 25ピン
3 2 TxD Transmit Data → PC からバイトデータを送信する
2 3 RxD Receive Data ← PC がバイトデータを受け取る
7 4 RTS Request To Send → RTS/CTS フロー制御
8 5 CTS Clear To Send ← RTS/CTS フロー制御
6 6 DSR Data Set Ready ← 通信可能になったことを知らせる
4 20 DTR Data Terminal Ready → 通信可能になったことを知らせる
1 8 DCD Data Carrier Detect ← モデムが相手と繋がっていることを示す
9 22 RI Ring Indicator ← 電話のベルが鳴っている状態を示す
5 7 Signal Ground