(toppers-users 424) JSP-1.3 の Windows 版を動かしてみました

oohashi oohashi @ tms-ltd.co.jp
2002年 6月 14日 (金) 21:21:22 JST


大箸@TMSです

JSP-1.3のWindows版で、Sample1の動作をVBから確認しました。
そのときの、ソース修正について報告します。
DOC\windows.txtの
5.1.2 VisualBASIC用デバイスコントロール(COM版)の使い方

6. sample1.c:87のsyslogの手前に次の行を入れる
    DeviceWrite(0x1234,1, (unsigned char)tskno);
        #この命令によってポート0x1234番地に1バイトのレジスタを持つ
        #デバイスにデータを出力できる
と記述されていますが、該当する行が見あたりません。


ソースを見る限り、120行目の下記箇所がそうであると思います。

 while (1) {
        DeviceWrite(0x1234,1, (unsigned char)tskno);
        //#この命令によってポート0x1234番地に1バイトのレジスタを持つ
        //#デバイスにデータを出力できる
     syslog_3(LOG_NOTICE, "task%d is running (%03d).   %s",
       tskno, ++n, graph[tskno-1]);

ただしこのままでは、コンパイルエラーが発生します。
次のように修正することでsample1のコンパイルエラーがとれました。

 while (1) {
//        DeviceWrite(0x1234,1, (unsigned char)tskno);
        DeviceWrite(0x1234,1, &(unsigned char)tskno);   //ポインターにしない
とエラーです
        //#この命令によってポート0x1234番地に1バイトのレジスタを持つ
        //#デバイスにデータを出力できる
     syslog_3(LOG_NOTICE, "task%d is running (%03d).   %s",
       tskno, ++n, graph[tskno-1]);


2. sys_defs.hのDEVICE_ENABLEのコメントを外し、デバイスを有効にする
に従いコメントをはずしてコンパイルすると、
jsp\config\windows\device_com.cpp
193行めにてコンパイルエラーが発生します。
該当するソース部は下記の箇所です

    ::DispatchMessage(msg);

次のように修正することでdevice_com.cppのコンパイルエラーがとれました。

//    ::DispatchMessage(msg);
    ::DispatchMessage(&msg);   //ポインターにしないとエラーです

以上で、カーネルのコンパイルは正常に行えました。
VB側はDOC\windows.txtにある手順通りで動作を確認出来ました。

すでに把握されているかもしれませんが、一応ご報告まで。
------------------------------------
(有)東京マイクロシステム
  システム開発部
   大箸 隆久
------------------------------------



** Cannot accept Content Type: text/html
** An attached file or an HTML part was eliminated. **