Myserial Library extends RawSerial
MySerial.h@7:d5fe75a0a885, 2014-06-23 (annotated)
- Committer:
- naao
- Date:
- Mon Jun 23 07:47:01 2014 +0000
- Revision:
- 7:d5fe75a0a885
- Parent:
- 6:7853f8641372
- Child:
- 9:981384455445
modify &cWord[0] to &cWord
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
naao | 0:5b0b84a10bba | 1 | /** mbed Serial Library extend RawSerial |
naao | 0:5b0b84a10bba | 2 | * Copyright (c) 2014 Naoki Okino |
naao | 0:5b0b84a10bba | 3 | * |
naao | 0:5b0b84a10bba | 4 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR |
naao | 0:5b0b84a10bba | 5 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, |
naao | 0:5b0b84a10bba | 6 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE |
naao | 0:5b0b84a10bba | 7 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER |
naao | 0:5b0b84a10bba | 8 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, |
naao | 0:5b0b84a10bba | 9 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN |
naao | 0:5b0b84a10bba | 10 | * THE SOFTWARE. |
naao | 0:5b0b84a10bba | 11 | */ |
naao | 0:5b0b84a10bba | 12 | #ifndef MBED_MYSERIAL_H |
naao | 0:5b0b84a10bba | 13 | #define MBED_MYSERIAL_H |
naao | 0:5b0b84a10bba | 14 | |
naao | 0:5b0b84a10bba | 15 | #include "mbed.h" |
naao | 0:5b0b84a10bba | 16 | |
naao | 0:5b0b84a10bba | 17 | /** MySerial control class, based on a RawSerial |
naao | 0:5b0b84a10bba | 18 | * |
naao | 0:5b0b84a10bba | 19 | * Example: |
naao | 0:5b0b84a10bba | 20 | * @code |
naao | 0:5b0b84a10bba | 21 | * #include "mbed.h" |
naao | 0:5b0b84a10bba | 22 | * #include "MySerial.h" |
naao | 0:5b0b84a10bba | 23 | * |
naao | 0:5b0b84a10bba | 24 | * MySerial pc(USBTX,USBRX); //instance of MySerial Class |
naao | 0:5b0b84a10bba | 25 | * char cWord[16]; //receive chars or cWord[256], cWord[1024] etc.. |
naao | 0:5b0b84a10bba | 26 | * |
naao | 0:5b0b84a10bba | 27 | * void readbuf() |
naao | 0:5b0b84a10bba | 28 | * { |
naao | 5:72514f93cba9 | 29 | * // int iRtn = pc.GetString(6,&cWord); //Serial received chars by pointer cWord |
naao | 6:7853f8641372 | 30 | * int iRtn = pc.GetString(6,cWord); //Serial received chars byref of cWord |
naao | 0:5b0b84a10bba | 31 | * } |
naao | 0:5b0b84a10bba | 32 | * int main() { |
naao | 0:5b0b84a10bba | 33 | * pc.attach( readbuf, MySerial::RxIrq ); //Set Interrupt by Serial receive |
naao | 0:5b0b84a10bba | 34 | * } |
naao | 0:5b0b84a10bba | 35 | * @endcode |
naao | 0:5b0b84a10bba | 36 | */ |
naao | 0:5b0b84a10bba | 37 | class MySerial : public RawSerial{ |
naao | 0:5b0b84a10bba | 38 | |
naao | 0:5b0b84a10bba | 39 | public: |
naao | 0:5b0b84a10bba | 40 | /** get chars received by serial |
naao | 0:5b0b84a10bba | 41 | * |
naao | 3:e4c443ce0fbe | 42 | * @param PinName tx |
naao | 3:e4c443ce0fbe | 43 | * @param PinName rx |
naao | 0:5b0b84a10bba | 44 | */ |
naao | 3:e4c443ce0fbe | 45 | MySerial(PinName tx, PinName rx); |
naao | 0:5b0b84a10bba | 46 | |
naao | 0:5b0b84a10bba | 47 | /** function to get chars after received shars by serial |
naao | 0:5b0b84a10bba | 48 | * |
naao | 0:5b0b84a10bba | 49 | * @param int size for get chars |
naao | 0:5b0b84a10bba | 50 | * @param *cWord returns got chars by pointer |
naao | 0:5b0b84a10bba | 51 | * @param returns success by 0 |
naao | 0:5b0b84a10bba | 52 | */ |
naao | 0:5b0b84a10bba | 53 | virtual int GetString(int size, char *cWord); |
naao | 0:5b0b84a10bba | 54 | |
naao | 0:5b0b84a10bba | 55 | /** override function to get chars after received shars by serial |
naao | 0:5b0b84a10bba | 56 | * |
naao | 0:5b0b84a10bba | 57 | * @param int size for get chars |
naao | 0:5b0b84a10bba | 58 | * @param (&cWord)[16] returns got chars by ref |
naao | 0:5b0b84a10bba | 59 | * @param returns success by 0 |
naao | 0:5b0b84a10bba | 60 | */ |
naao | 6:7853f8641372 | 61 | template <class X> int GetString(int size, X cWord) |
naao | 6:7853f8641372 | 62 | { |
naao | 7:d5fe75a0a885 | 63 | return GetString(size, &cWord); |
naao | 6:7853f8641372 | 64 | } |
naao | 0:5b0b84a10bba | 65 | |
naao | 0:5b0b84a10bba | 66 | protected: |
naao | 0:5b0b84a10bba | 67 | |
naao | 0:5b0b84a10bba | 68 | }; |
naao | 0:5b0b84a10bba | 69 | |
naao | 0:5b0b84a10bba | 70 | #endif |