ザビタン開発日記
2009 | 01
2008 | 01 | 02 | 06 | 12
2007 | 10 | 11 | 12
10月 23 (火曜日) 2007
21:18
FDアクセス:API化近し!
 
キタ━━━━━━(゜∀゜)━━━━━━ !!!!!

あーでもない、こーでもないとコネクリまわしましたがなんとか
タイマーの待ち管理と各指令の関数化に成功?
(オィオィ・・・まだセクタ読めただけじゃん・・・)

同じパターンで書き込みを実験したら、包括化してAPIにもって
いけないかと妄想中〜

リビジョン39
 
30日を過ぎたBlogにはコメントできません。
17:32
FDアクセス:親タスクで複数のFIFO
 
おぉ! 

なんかいけたっぽいゾ!!!!

だったらアレをこうしてここをこうやって・・・・
 
30日を過ぎたBlogにはコメントできません。
13:02
FDアクセス:親タスクで複数のFIFO
 
ちょっとこの関数内でのFIFOが行き詰ってる。

一種ブランチして、親タスクにタイマーと別のFIFOを用意して実験してみることにしよう・・・
 
30日を過ぎたBlogにはコメントできません。
12:15
FDアクセス:番外
 
うっちゃんへ。

スマンスマン。ちょっとソースをいい加減なとこから持ってきて貼り付けちゃった。
タイマーの設定の部分はいい加減というかいろいろな実験の名残り。
今はこんな感じです。

int send_sec_read(int C, int H, int S)
{
struct TIMER *timer1 = timer_alloc();
int fifobuf[128];
struct FIFO32 fifo;
fifo32_init(&fifo,128,fifobuf,0);

fifo32_put(&fifo,10);
return;

これで、この部分をコールしているFDタスクが固まっちゃうんですよねぇ。
そんなわけで、今はFIFOそのものを復習&検証中・・・(´・ω・`)

ちなみに、タイマーそのものはちゃんと動いているよう。
逆に言えば、タイマーを設置(たとえば3秒とか)すると、
確実に3秒後に固まるです。(つまり、設置したタイマーはちゃんと
設定通り、このFIFOにputをしているようなのです。
 
●uchan@Guest -- 10/23 14:43
変数 fifo と fifobuf は自動変数(スタックに確保される)だからreturnしたら使えなくなります。
●hideyosi -- 10/23 17:31
(゜∀゜)  ナンカソレガゲンインクサイカモ・・・
●hideyosi -- 10/25 09:34
うっちゃんのヒント(え?サルでも知ってるって?/(^o^)\)をよく考えてみた。結果、リターンがいつ起こっても問題ないように、親元にタイマとFIFOを設置して、それを変数として渡すように改造しますた! これなら、この子関数がretして消えちゃっても、親側でちゃんと存在し続けるからと考えて。これがどうやらアタリのようです。感謝!!

30日を過ぎたBlogにはコメントできません。
(1) 

PopnupBlog V3 Denali created by Bluemoon inc.