BASCOM8051を試してみましたの2回目です。
前回エラーが出たOSCICNですが、定義ファイル(.dat)の中身がOCSINCと間違った記述になっていました。 ここを正しく書き換えたらエラーがなくなりました。
waitとwaitmsの時間が大幅にずれています。 wait 1 で本来1秒のウェイトのはずが、実際には0.7秒くらいです。 $CRYSTAL 24500000を15000000に調整すると約1秒になります。 原因は不明です。
samplesのsincos.basに、 sin, cos, tan, log, log10 のサブルーチンがありました。
ちなみにsinはこんな感じです。 'sin function , assumes _s in radians Sin: S1 = _s _s = _s * _s S2 = _s _s = _s * 0.01388888899236917 ' 1/72 _s = _s - 1 _s = _s * S2 _s = _s * 0.02380952425301075 '1/42 _s = _s + 1 _s = _s * S2 _s = _s * .05 '1/20 _s = _s - 1 _s = _s * S2 _s = _s * 0.1666666716337204 '1/6 _s = _s + 1 _s = _s * S1 Return
|
|
|