ダウンロード
Magazine
開発
アカウント
ダウンロード
Magazine
開発
ログイン
アカウント/パスワードを忘れた
アカウント作成
言語
ヘルプ
言語
ヘルプ
×
ログイン
ログイン名
パスワード
×
アカウント/パスワードを忘れた
日本語の翻訳状況
カテゴリ:
ソフトウェア
人物
PersonalForge
Magazine
Wiki
検索
OSDN
>
ソフトウェアを探す
>
システム
>
オペレーティングシステム カーネル
>
Hyper Operating System(ITRON仕様OS)
>
フォーラム
>
ヘルプ
>
メールボックスについて教えてください。
Hyper Operating System(ITRON仕様OS)
Fork
概要
プロジェクト概要
開発ダッシュボード
Webページ
開発メンバー
画像ギャラリー
公開フィード一覧
活動
統計情報
活動履歴
ダウンロード
リリース一覧
統計
ソースコード
コードリポジトリリスト
Git
hos-v4a
CVS
リポジトリ閲覧
チケット
チケット一覧
マイルストーン一覧
チケットの種類一覧
コンポーネント一覧
よく使われるチケット一覧のリスト/RSS
新規チケット登録
文書
コミュニケーション
フォーラム
フォーラム一覧
開発者 (758)
ヘルプ (688)
公開討議 (342)
メーリングリスト
MLの一覧
hos-cvs
hos-git
ニュース
フォーラム:
ヘルプ
(スレッド #1103)
話題(スレッド)一覧に戻る
RSS
メールボックスについて教えてください。 (2002-09-17 23:43 by
tsubo
#2000)
返信
チケットに引用
濱さんのコメントによりHOSのサポート掲示板から引っ越してきました。
石坪と言います。ソフトもRTOSも初心者です。
HOS-H8を使えるように勉強しています。初心者のため分からないことがたくさんあります。すいませんが、教えていただけないでしょうか。
HOSのサポート掲示板の93を参考にして、メイルボックスを動かしてみました。しかし、メッセージが受け取れません。テストプログラムを掲載するので何が悪いか教えてください。
下記のプログラムを動かした時、a,b,oはモニター画面に表示されます。
/* タスク1 */
void Task1(INT stcd)
{
int c;
char snddata[] = "ishitsubo";
char *data;
data = &snddata[0];
SCI_Puts("\rTask1 Start.\r");
SCI_Putc(0x0d);
SCI_Putc(0x0a);
for ( ; ; ) {
wai_sem(SID_SCI);
SCI_Putc('b');
sig_sem(SID_SCI);
dly_tsk(1000);
if(P2DR == 1){
snd_msg(MID_SMP1, (T_MSG)snddata);
}
}
}
/* タスク2 */
void Task2(INT stcd)
{
char *rcvdata;
SCI_Puts("\rTask2 Start.\r");
SCI_Putc(0x0d);
SCI_Putc(0x0a);
for( ; ;){
wai_sem(SID_SCI);
SCI_Putc('a');
sig_sem(SID_SCI);
if(E_OK == rcv_msg( (T_MSG*)rcvdata, MID_SMP1)){
wai_sem(SID_SCI);
SCI_Putc('O');
sig_sem(SID_SCI);
}
wai_sem(SID_SCI);
SCI_Putc(*rcvdata);
sig_sem(SID_SCI);
}
ext_tsk();
}
メッセージ #2000 への返信
×
題名
本文
メッセージ #2000 への返信 > 濱さんのコメントによりHOSのサポート掲示板から引っ越してきました。 > 石坪と言います。ソフトもRTOSも初心者です。 > HOS-H8を使えるように勉強しています。初心者のため分からないことがたくさんあります。すいませんが、教えていただけないでしょうか。 > > HOSのサポート掲示板の93を参考にして、メイルボックスを動かしてみました。しかし、メッセージが受け取れません。テストプログラムを掲載するので何が悪いか教えてください。 > > 下記のプログラムを動かした時、a,b,oはモニター画面に表示されます。 > /* タスク1 */ > void Task1(INT stcd) > { > int c; > char snddata[] = "ishitsubo"; > char *data; > > data = &snddata[0]; > SCI_Puts("\rTask1 Start.\r"); > SCI_Putc(0x0d); > SCI_Putc(0x0a); > for ( ; ; ) { > wai_sem(SID_SCI); > SCI_Putc('b'); > sig_sem(SID_SCI); > dly_tsk(1000); > if(P2DR == 1){ > snd_msg(MID_SMP1, (T_MSG)snddata); > } > } > } > > > /* タスク2 */ > void Task2(INT stcd) > { > char *rcvdata; > SCI_Puts("\rTask2 Start.\r"); > SCI_Putc(0x0d); > SCI_Putc(0x0a); > > for( ; ;){ > wai_sem(SID_SCI); > SCI_Putc('a'); > sig_sem(SID_SCI); > if(E_OK == rcv_msg( (T_MSG*)rcvdata, MID_SMP1)){ > wai_sem(SID_SCI); > SCI_Putc('O'); > sig_sem(SID_SCI); > } > wai_sem(SID_SCI); > SCI_Putc(*rcvdata); > sig_sem(SID_SCI); > } > > ext_tsk(); > } >
Wiki文法は使えません
ログインしていません。投稿を区別するために投稿者のニックネームをつけてください(ニックネームの一意性は保証されません。全く別の人も同じ名前を利用することが可能ですので本人であることの特定には利用できません。本人であることを保証したい場合にはログインして投稿を行なってください)。
ログインする
ニックネーム
プレビュー
投稿
キャンセル
RE: メールボックスについて教えてください。 (2002-09-18 00:19 by
m-arai
#2002)
返信
チケットに引用
私も勉強中の身ですが、気づいたところを指摘します。
まず、
char *rcvdata;
で
if(E_OK == rcv_msg( (T_MSG*)rcvdata, MID_SMP1)){
はおかしいです。
ER rcv_msg(T_MSG **ppk_msg, ID mbxid);
ppk_msg メッセージパケットへのポインタを格納する場所へのポインタ
mbxid メイルボックスID
なので、
if(E_OK == rcv_msg( (T_MSG **)&rcvdata, MID_SMP1)){
かと。
それと、受け取ったものの表示ですが、
SCI_Putc(*rcvdata);
だと先頭の一文字しか出ないような…
SCI_Puts( rcvdata);
かな。
#2000
への返信
メッセージ #2002 への返信
×
題名
本文
メッセージ #2002 への返信 > 私も勉強中の身ですが、気づいたところを指摘します。 > > まず、 > char *rcvdata; > で > if(E_OK == rcv_msg( (T_MSG*)rcvdata, MID_SMP1)){ > はおかしいです。 > > ER rcv_msg(T_MSG **ppk_msg, ID mbxid); > ppk_msg メッセージパケットへのポインタを格納する場所へのポインタ > mbxid メイルボックスID > > なので、 > if(E_OK == rcv_msg( (T_MSG **)&rcvdata, MID_SMP1)){ > かと。 > それと、受け取ったものの表示ですが、 > SCI_Putc(*rcvdata); > だと先頭の一文字しか出ないような… > SCI_Puts( rcvdata); > かな。
Wiki文法は使えません
ログインしていません。投稿を区別するために投稿者のニックネームをつけてください(ニックネームの一意性は保証されません。全く別の人も同じ名前を利用することが可能ですので本人であることの特定には利用できません。本人であることを保証したい場合にはログインして投稿を行なってください)。
ログインする
ニックネーム
プレビュー
投稿
キャンセル
RE: メールボックスについて教えてください。 (2002-09-18 02:46 by
m-arai
#2007)
返信
チケットに引用
ああ、HOS-V3では
ER rcv_msg(VP *pk_msg, ID mbxid);
でしたね。
if(E_OK == rcv_msg( (VP *)&rcvdata, MID_SMP1)){
VPはvoid *ですから、つまり言っていることは同じです。
rcv_msgの第一パラメータは、メッセージへのポインタ
を格納するポインタ変数のアドレス(=ポインタ)なのです。
#2002
への返信
メッセージ #2007 への返信
×
題名
本文
メッセージ #2007 への返信 > ああ、HOS-V3では > > ER rcv_msg(VP *pk_msg, ID mbxid); > > でしたね。 > > if(E_OK == rcv_msg( (VP *)&rcvdata, MID_SMP1)){ > > VPはvoid *ですから、つまり言っていることは同じです。 > rcv_msgの第一パラメータは、メッセージへのポインタ > を格納するポインタ変数のアドレス(=ポインタ)なのです。
Wiki文法は使えません
ログインしていません。投稿を区別するために投稿者のニックネームをつけてください(ニックネームの一意性は保証されません。全く別の人も同じ名前を利用することが可能ですので本人であることの特定には利用できません。本人であることを保証したい場合にはログインして投稿を行なってください)。
ログインする
ニックネーム
プレビュー
投稿
キャンセル
RE: メールボックスについて教えてください。 (2002-09-18 03:01 by
m-arai
#2009)
返信
チケットに引用
コンパイラの警告で問題のありかが分からないだろう
か?と思っていたら、mailbox.hで
typedef VP T_MSG; /* ヘッダは利用しない */
となってますね。これが混乱の原因?
#2007
への返信
メッセージ #2009 への返信
×
題名
本文
メッセージ #2009 への返信 > コンパイラの警告で問題のありかが分からないだろう > か?と思っていたら、mailbox.hで > > typedef VP T_MSG; /* ヘッダは利用しない */ > > となってますね。これが混乱の原因?
Wiki文法は使えません
ログインしていません。投稿を区別するために投稿者のニックネームをつけてください(ニックネームの一意性は保証されません。全く別の人も同じ名前を利用することが可能ですので本人であることの特定には利用できません。本人であることを保証したい場合にはログインして投稿を行なってください)。
ログインする
ニックネーム
プレビュー
投稿
キャンセル
RE: メールボックスについて教えてください。 (2002-09-18 23:10 by
匿名
#2037)
返信
チケットに引用
ARAI Mikio さんありがとう御座いました。的確なアドバイスにより一文字表示できました。大変感謝しています。
#2000
への返信
メッセージ #2037 への返信
×
題名
本文
メッセージ #2037 への返信 > ARAI Mikio さんありがとう御座いました。的確なアドバイスにより一文字表示できました。大変感謝しています。
Wiki文法は使えません
ログインしていません。投稿を区別するために投稿者のニックネームをつけてください(ニックネームの一意性は保証されません。全く別の人も同じ名前を利用することが可能ですので本人であることの特定には利用できません。本人であることを保証したい場合にはログインして投稿を行なってください)。
ログインする
ニックネーム
プレビュー
投稿
キャンセル
RE: メールボックスについて教えてください。 (2002-09-19 21:20 by
m-arai
#2070)
返信
チケットに引用
T_MSGの定義に問題があったのが、より解決を困難にしていたようで
す。この点は近々改善されるでしょう。
#と、これは個人的な話なのですが、私はフォーラムの「モニター」
#設定で全ての投稿を自分宛にメールで転送するようにしています。
#半角カナを使われると、それ以降内容が化けて読めません。
#なので、出来たら全角カナを使っていただけるとありがたいです。
#2037
への返信
メッセージ #2070 への返信
×
題名
本文
メッセージ #2070 への返信 > T_MSGの定義に問題があったのが、より解決を困難にしていたようで > す。この点は近々改善されるでしょう。 > > #と、これは個人的な話なのですが、私はフォーラムの「モニター」 > #設定で全ての投稿を自分宛にメールで転送するようにしています。 > #半角カナを使われると、それ以降内容が化けて読めません。 > #なので、出来たら全角カナを使っていただけるとありがたいです。
Wiki文法は使えません
ログインしていません。投稿を区別するために投稿者のニックネームをつけてください(ニックネームの一意性は保証されません。全く別の人も同じ名前を利用することが可能ですので本人であることの特定には利用できません。本人であることを保証したい場合にはログインして投稿を行なってください)。
ログインする
ニックネーム
プレビュー
投稿
キャンセル