スレッドの評価:
  • 回答数:0 平均:0
  • 1
  • 2
  • 3
  • 4
  • 5
DSbasic (DSair用BASIC) 相談室
#31
自動運転のプログラムで在線検出をトリガにしてタイマで停止する処理を
行なうのに DSbasicの Timer関数でタイミングを調整しているのですが
安定しません。
スマホで実行させていたのですが、PCで実行するとウエイト時間が短く
なります。
どうやらDSbasicの時間はスマホ、PCのハード依存(処理速度?)している
様です。 詳しく追っかけていないので、プログラムミスの可能性も
有りますが...

DSair2にAlive Seqがあり、電源投入後の経過時間が表示されていますが、
DSbasicでこの値を読み込み、ベースタイマとして使用する事は出来ないで
しょうか。

追記
wwwbasic,js の中で GetTimer()、Date().getTime() が使われていたので
自分で新たなタイマ関数を追加できるか...
返信
#32
他のタイマでの対処の前に、DSbasicの Timer関数
の問題を調べてみました。

実数の変数にTimer関数の値を演算して代入すると、
整数部だけで小数部は切り捨てになりました。

これが原因で遅延のタイミングが安定しなかった
ようです。
これを踏まえて遅延タイマのプログラムをしたら、
うまく制御出来るようになりました。


スマホとPCで実行するとsleep関数の時間が異なる問題は、
別途調べる必要が有ります。
返信
#33
DSbasicの実行画面の下のボタンでSAVEの左右にある
RELOADとNEWボタンですが、実行前に確認画面を
表示してキャンセル出来るようにして頂けると助かり
ます。

プログラムを修正してPLAYやSAVEする時に間違えて
修正内容を消してしまうことがあります。
返信


ページジャンプ:


このスレッドを閲覧中のユーザ: ゲスト: 1