![](/media/cache/profiles/P1030212_resized.JPG.50x50_q85.jpg)
明石高専ロボ研 mbedライブラリ
Dependents: MDD_L432KC USB2RS485 pathtracking odometry ... more
Diff: scrp_slave.hpp
- Revision:
- 12:7f0b6e7b9626
- Parent:
- 11:eaf2e3166d20
- Child:
- 13:77c13e86ad12
--- a/scrp_slave.hpp Fri Feb 26 18:19:21 2021 +0000 +++ b/scrp_slave.hpp Sat Feb 27 04:16:16 2021 +0000 @@ -22,7 +22,7 @@ *addrに0から254までの値を入れて、この値そのものをidとして通信で使うこともできる。 *addrに255を入れると全受信モードになります。すべての受信idを自分のものとみなし応答します。 *この機能はScrpSlaveの性質をよく理解したうえで使ってください。 - *通常のMD通信網に不注意にこれを入れると、送り返すresponceが衝突し、通信状態を悪化させます。 + *通常のMD通信網に不注意にこれを入れると、送り返すresponseが衝突し、通信状態を悪化させます。 * *このライブラリでは、シリアル送信、受信とも割り込みを利用しています。 *Nucleoはシリアル通信割り込みを同時に2ポートまでしか利用できません。 @@ -31,13 +31,13 @@ *シリアルポートに外部からアクセスして通信することもできるようになりました。 *このライブラリでは同時に2個シリアルポートを開いていますが、それぞれport1,port2としてアクセスできます。 *シリアルポートを1つだけ開いているときは、port1とport2,send1とsend2は同じモノ扱いになります。 - *sendのレスポンスはisResponceがtrueの時に、receiveDataの返り値として知ることができます。 + *sendのレスポンスはgetResponseがtrueの時に、receiveDataの返り値として知ることができます。 *isWaitingで、今レスポンス待ち状態かどうか知ることができます。 *レスポンス受信前に他の命令などを受信するとレスポンス待ちはキャンセルされます。 *両方引数は0か1で、どちらのシリアルポートかを指定します。 *レスポンスを受信した時に割り込みで呼ばれる関数を設定することができます。 *void型。引数は(uint8_t id, uint8_t cmd, int16_t res)です。 - *attachResponceで関数を指定してください。 + *attachResponseで関数を指定してください。 * *クラス内のシリアルポートに.port1 .port2という形でアクセスできます。 *printfしたいときなどは、 @@ -75,12 +75,12 @@ RawSerial port1; RawSerial port2; void addCMD(uint8_t cmd, bool (*proc)(int rx_data,int& tx_data)); - void attachResponce(void (*func)(uint8_t id, uint8_t cmd, int16_t responce));//レスポンス受信割り込み関数 + void attachResponse(void (*func)(uint8_t id, uint8_t cmd, int16_t response));//レスポンス受信割り込み関数 void receive();//割り込みを無効にしたときにこれを繰り返し呼び出して受信する。 bool send1(uint8_t id, uint8_t cmd, int16_t tx_data, bool flag = true);//返り値 成功:true 失敗:false bool send2(uint8_t id, uint8_t cmd, int16_t tx_data, bool flag = true);//レスポンスを待つか、待たないかのflag bool isWaiting(uint8_t port);//send,send2の通信のレスポンス待ち状況確認。 - bool getResponce(uint8_t port);//レスポンスを受信したらtrueになる。 + bool getResponse(uint8_t port);//レスポンスを受信したらtrueになる。 int16_t receiveData(uint8_t port);//0か1か send1のレスポンスは0、send2のレスポンスは1を指定。データがない時は-1を返す。 uint8_t receiveId();//直前の通信で送られてきたidを返す。 uint8_t receiveCmd();//直前の通信で送られてきたCMD番号を返す。割り込み関数内でCMDを知りたいときに有効。 @@ -99,13 +99,13 @@ bool all_receive_; bool interrupt_; bool wait_data_[2]; - bool get_responce_[2]; + bool get_response_[2]; bool stx_flag_[2]; bool id_ok_[2]; uint8_t tmp_data_[2][5]; uint8_t data_count_[2]; int16_t rx_data_[2]; - void (*responceFunc_)(uint8_t id, uint8_t cmd, int16_t responce); + void (*responseFunc_)(uint8_t id, uint8_t cmd, int16_t response); bool (*procs_[256])(int rx_data, int& tx_data); bool sending(int, uint8_t, uint8_t, int16_t, bool = true); void sendNoInterrupt(uint8_t port);