Myserial Library extends RawSerial
Revision 0:5b0b84a10bba, committed 2014-06-22
- Comitter:
- naao
- Date:
- Sun Jun 22 08:43:09 2014 +0000
- Child:
- 1:e2cfd512c977
- Commit message:
- 1st commit of MySerial extends RawSerial
Changed in this revision
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/MySerial.cpp Sun Jun 22 08:43:09 2014 +0000 @@ -0,0 +1,41 @@ +#include "MySerial.h" + +MySerial::MySerial(PinName USBTX,PinName USBRX):RawSerial(USBTX,USBRX) //constructor +{ +} + +int MySerial::GetString(int size, char *cWord) //by pointer +{ + int i=0; + int ichar; + memset(cWord, '\0', strlen(cWord)); //initialise chars + + while(1) { + if(!readable()) { + break; + } + ichar = getc(); + if(i<size) { + cWord[i] =ichar; + //pc->putc(ichar); + } + i++; + wait(0.01); + } + return 0; +} + +int MySerial::GetString(char size, char (&cWord)[16]) //by ref : override function +{ + return GetString((int)size, &cWord[0]); +} + +int MySerial::GetString(char size, char (&cWord)[256]) //by ref : override function +{ + return GetString((int)size, &cWord[0]); +} + +int MySerial::GetString(char size, char (&cWord)[1024]) //by ref : override function +{ + return GetString((int)size, &cWord[0]); +} \ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/MySerial.h Sun Jun 22 08:43:09 2014 +0000 @@ -0,0 +1,83 @@ +/** mbed Serial Library extend RawSerial + * Copyright (c) 2014 Naoki Okino + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + * THE SOFTWARE. + */ +#ifndef MBED_MYSERIAL_H +#define MBED_MYSERIAL_H + +#include "mbed.h" + +/** MySerial control class, based on a RawSerial + * + * Example: + * @code + * #include "mbed.h" + * #include "MySerial.h" + * + * MySerial pc(USBTX,USBRX); //instance of MySerial Class + * char cWord[16]; //receive chars or cWord[256], cWord[1024] etc.. + * + * void readbuf() + * { + * // int iRtn = pc->GetString(6,pCword); //Serial received chars by pointer cWord + * int iRtn = pc->GetString((char)6,cWord); //Serial received chars byref of cWord + * } + * int main() { + * pc.attach( readbuf, MySerial::RxIrq ); //Set Interrupt by Serial receive + * } + * @endcode + */ +class MySerial : public RawSerial{ + +public: + /** get chars received by serial + * + * @param PinName USBTX + * @param PinName USBRX + */ + MySerial(PinName USBTX, PinName USBRX); + + /** function to get chars after received shars by serial + * + * @param int size for get chars + * @param *cWord returns got chars by pointer + * @param returns success by 0 + */ + virtual int GetString(int size, char *cWord); + + /** override function to get chars after received shars by serial + * + * @param int size for get chars + * @param (&cWord)[16] returns got chars by ref + * @param returns success by 0 + */ + virtual int GetString(char size, char (&cWord)[16]); + + /** override function to get chars after received shars by serial + * + * @param int size for get chars + * @param (&cWord)[256] returns got chars by ref + * @param returns success by 0 + */ + virtual int GetString(char size, char (&cWord)[256]); + + /** override function to get chars after received shars by serial + * + * @param int size for get chars + * @param (&cWord)[1024] returns got chars by ref + * @param returns success by 0 + */ + virtual int GetString(char size, char (&cWord)[1024]); + +protected: + +}; + +#endif \ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mbed.bld Sun Jun 22 08:43:09 2014 +0000 @@ -0,0 +1,1 @@ +http://mbed.org/users/mbed_official/code/mbed/builds/024bf7f99721 \ No newline at end of file