とばさんのプログラムをJR用に変更し、テストしました。
変更個所
#defineでMAKERがFUTABAになっているのをJRにしました。
パルス間隔の設定部分を以下のように変更しました。
#define PI_GAP 2500 // パルス列の間(>PI_MAX)
#define PI_MAX 1900 // 舵最大(トリム分を含む)
#define PI_MIN 1100 // 舵最小(トリム分を含む)
#define PI_NEU 1600 // 舵ニュートラル ((PI_MAX-PI_MIN)/2)とは限らない
#define PI_T_MAX 1900 // スロットル最大
#define PI_T_MIN 977 // スロットル最小
#define PI_T_ERR 20 // スロットル検出時に誤差と見なす範囲
以上
シンボリックデバッガで内部変数を見て確認し、
その後、開発ボードはP0.2にREDが繋がっているので、エルロンを操作し、REDの明るさが変化する事を確認しました。
遅くなりましたが、自分のサイトに簡単な説明と最新のソースをおきました。
返信削除鈴木さんの使用している受信機では、パルスのエッジ検出を active low にした方が良いかもしれません。
ソースの
IT01CF = 0x0F;
の部分を、
IT01CF = 0x07;
にしてください(もうしているかもしれませんが)。
実際には、パルス幅は一定だと思われるので、active high でも active low でもパルス間隔は同じ値が得られるはずですけどね。
了解しました。ソース変更しておきます。
返信削除