![](/media/cache/profiles/P1030212_resized.JPG.50x50_q85.jpg)
明石高専ロボ研 mbedライブラリ
Dependents: MDD_L432KC USB2RS485 pathtracking odometry ... more
Diff: scrp_slave.hpp
- Revision:
- 8:82727add54ce
- Parent:
- 7:4ad54efe2fdd
- Child:
- 9:9f43b2ead060
--- a/scrp_slave.hpp Sun Dec 06 08:09:01 2020 +0000 +++ b/scrp_slave.hpp Wed Feb 24 12:34:27 2021 +0000 @@ -25,11 +25,15 @@ * *シリアルポートに外部からアクセスして通信することもできるようになりました。 *このライブラリでは同時に2個シリアルポートを開いていますが、それぞれport1,port2としてアクセスできます。 - *シリアルポートを1つだけ開くときは、port1とport2は同じモノ扱いになります。 + *シリアルポートを1つだけ開いているときは、port1とport2,send1とsend2は同じモノ扱いになります。 *printfしたいときなどは、 - *<obj>.port1.printf(""); + *<obj>.port1.printf("hello\n"); *と書くことできます。 + *また、writeable(),putc()でデータを送信することができますが、LTC485使用時はREDEピンを別に制御する必要があります。 + *その他Serialクラスに存在する機能すべてにアクセスできますが、このライブラリないで受信データをすべて処理しているので、個別に取り出すことはできません。 *シリアルのボーレートは基本的に変更しないでください。 + *readable(),getc()は使わないでください。正常に動作しません。 + *また、受信・送信割り込みの設定は行わないでください。ライブラリが正常に動作しません。 */ //ScrpSlave slave(SERIAL_TX,SERIAL_RX, 3); 3がそのままidとして使われる。 //ScrpSlave slave(PC_12,PD_2 ,PH_1 ,SERIAL_TX,SERIAL_RX,0x0807f800); フラッシュメモリーの0x0807f800番地にidが保存される。 @@ -54,10 +58,10 @@ Serial port1; Serial port2; void addCMD(uint8_t cmd, bool (*proc)(int rx_data,int& tx_data)); - bool send(uint8_t id,uint8_t cmd,int16_t tx_data);//返り値 成功:true 失敗:false + bool send1(uint8_t id,uint8_t cmd,int16_t tx_data);//返り値 成功:true 失敗:false bool send2(uint8_t id,uint8_t cmd,int16_t tx_data); bool isWaiting(uint8_t port);//send,send2の通信のレスポンス待ち状況確認。 - int16_t receiveData(uint8_t port);//0か1か sendのレスポンスは0、send2のレスポンスは1を指定。データがない時は-1を返す。 + int16_t receiveData(uint8_t port);//0か1か send1のレスポンスは0、send2のレスポンスは1を指定。データがない時は-1を返す。 private: DigitalOut *rede_; FlashIAP *flash_; @@ -78,10 +82,10 @@ void changeID(uint8_t); void init(); void check(int port); + void receive0(); void receive1(); - void receive2(); + void data_send0(); void data_send1(); - void data_send2(); void prime(int); };