Click here to Skip to main content
15,904,153 members
Home / Discussions / C / C++ / MFC
   

C / C++ / MFC

 
GeneralRe: Object pointer as method argument Pin
_Flaviu9-Jul-18 5:45
_Flaviu9-Jul-18 5:45 
QuestionMFC Static Library Project Pin
Richard Andrew x647-Jul-18 16:04
professionalRichard Andrew x647-Jul-18 16:04 
AnswerRe: MFC Static Library Project Pin
Victor Nijegorodov7-Jul-18 21:48
Victor Nijegorodov7-Jul-18 21:48 
GeneralRe: MFC Static Library Project Pin
Richard Andrew x648-Jul-18 3:26
professionalRichard Andrew x648-Jul-18 3:26 
QuestionUsing fstream with USB Serial Port Pin
OscardelaGrouch6-Jul-18 20:53
OscardelaGrouch6-Jul-18 20:53 
AnswerRe: Using fstream with USB Serial Port Pin
Richard MacCutchan6-Jul-18 23:25
mveRichard MacCutchan6-Jul-18 23:25 
GeneralRe: Using fstream with USB Serial Port Pin
OscardelaGrouch7-Jul-18 6:39
OscardelaGrouch7-Jul-18 6:39 
GeneralRe: Using fstream with USB Serial Port Pin
Richard MacCutchan7-Jul-18 6:52
mveRichard MacCutchan7-Jul-18 6:52 
GeneralRe: Using fstream with USB Serial Port Pin
OscardelaGrouch7-Jul-18 6:55
OscardelaGrouch7-Jul-18 6:55 
GeneralRe: Using fstream with USB Serial Port Pin
OscardelaGrouch7-Jul-18 8:21
OscardelaGrouch7-Jul-18 8:21 
GeneralRe: Using fstream with USB Serial Port Pin
mo14927-Jul-18 12:59
mo14927-Jul-18 12:59 
GeneralRe: Using fstream with USB Serial Port Pin
OscardelaGrouch7-Jul-18 13:18
OscardelaGrouch7-Jul-18 13:18 
GeneralRe: Using fstream with USB Serial Port Pin
mo14927-Jul-18 14:51
mo14927-Jul-18 14:51 
GeneralRe: Using fstream with USB Serial Port Pin
OscardelaGrouch7-Jul-18 15:46
OscardelaGrouch7-Jul-18 15:46 
GeneralRe: Using fstream with USB Serial Port Pin
mo14927-Jul-18 16:10
mo14927-Jul-18 16:10 
GeneralRe: Using fstream with USB Serial Port Pin
OscardelaGrouch8-Jul-18 8:08
OscardelaGrouch8-Jul-18 8:08 
GeneralRe: Using fstream with USB Serial Port Pin
mo14928-Jul-18 11:55
mo14928-Jul-18 11:55 
GeneralRe: Using fstream with USB Serial Port Pin
OscardelaGrouch9-Jul-18 8:49
OscardelaGrouch9-Jul-18 8:49 
AnswerRe: Using fstream with USB Serial Port Pin
OscardelaGrouch8-Jul-18 10:57
OscardelaGrouch8-Jul-18 10:57 
GeneralRe: Using fstream with USB Serial Port Pin
OscardelaGrouch9-Jul-18 8:52
OscardelaGrouch9-Jul-18 8:52 
AnswerRe: Using fstream with USB Serial Port Pin
Jochen Arndt10-Jul-18 3:31
professionalJochen Arndt10-Jul-18 3:31 
GeneralRe: Using fstream with USB Serial Port Pin
OscardelaGrouch10-Jul-18 9:53
OscardelaGrouch10-Jul-18 9:53 
GeneralRe: Using fstream with USB Serial Port Pin
OscardelaGrouch10-Jul-18 18:43
OscardelaGrouch10-Jul-18 18:43 
Thanks for the help so far. I have written a small PC App program to try termios out.
I am having two issues.
First is the first time I send data to the PIC, the return response is junk.
Second is the response is out of sync with the sent command, it takes sending the command a second time for the response string to be correct. Would appreciate a second pair of eyes to see what is the problem.

PC app code ..
int main(int argc, char** argv)
{
    ComPort MyComPort;
    char TXBuf[255];
    char RXBuf[255];
    char c;
    
    while(1)
    {
        cout << "(U)load New Map, (N)ext Map, (Q)uit .." << endl;
        cin >> c;
        c = (char)toupper(c);
        if (c == 'Q') return 0;
        if (c == 'U')
        {
            strcpy(TXBuf, "UPLOAD NEW MAP\n");
            MyComPort.WriteComPortDataMsg(TXBuf, strlen(TXBuf));
            MyComPort.ReadComPortDataMsg(RXBuf);
            cout << "RXBuf = " << RXBuf << endl;
        }
        else if (c == 'N')
        {
            strcpy(TXBuf, "NEXT MAP\n");
            MyComPort.WriteComPortDataMsg(TXBuf, strlen(TXBuf));
            MyComPort.ReadComPortDataMsg(RXBuf);
            cout << "RXBuf = " << RXBuf << endl;
        }
        cout << endl;
    }
    return 0;
}

class defs ..

/***** Class Declaration ******************************************************/
class ComPort
{
public:
    ComPort();
    ~ComPort();
    void WriteComPortDataMsg(char *data, char num);
    void ReadComPortDataMsg(char *data, char dlimc);
    void ReadComPortDataMsg(char *data);
    void SetDlimiter(char dlimc);
private:
    char dlim;
    struct termios  config;
    int hComPort;
    bool Error;
};

void ComPort::WriteComPortDataMsg(char *data, char num)
{
    for (int cnt = 0; cnt < num; cnt++)
    {
        write(hComPort, &data[cnt], 1);         // write char to Com Port
    }
    tcdrain(hComPort);
}

void ComPort::ReadComPortDataMsg(char *data)
{
    int cnt = 0;
    char c;

    data[0] = 0x00;
    do
    {
        read(hComPort, &c, 1);
        if ((c >= 0x20) && (c <= 0x7E)) data[cnt++] = c;
    } while ((c != dlim) && (cnt < 255));
    data[cnt++] = '\0';
}


responses ..
(U)load New Map, (N)ext Map, (Q)uit ..
u
RXBuf = MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM

(U)load New Map, (N)ext Map, (Q)uit ..
u
RXBuf = Processing: UPLOAD NEW MAP

(U)load New Map, (N)ext Map, (Q)uit ..
u
RXBuf = Processing: UPLOAD NEW MAP

(U)load New Map, (N)ext Map, (Q)uit ..
n
RXBuf = Processing: UPLOAD NEW MAP

(U)load New Map, (N)ext Map, (Q)uit ..
n
RXBuf = Processing: NEXT MAP

(U)load New Map, (N)ext Map, (Q)uit ..
n
RXBuf = Processing: NEXT MAP

(U)load New Map, (N)ext Map, (Q)uit ..
q

RUN FINISHED; exit value 0; real time: 13s; user: 0ms; system: 0ms


As you can see the first command response gets junk in RXBuf. The second time response is correct.
Changing the command to "Next Map" gets incorrect response the first time but OK response the second.
Any ideas would be appreciated.
Thanks
OdlG
GeneralRe: Using fstream with USB Serial Port Pin
Jochen Arndt10-Jul-18 21:09
professionalJochen Arndt10-Jul-18 21:09 
GeneralRe: Using fstream with USB Serial Port Pin
OscardelaGrouch11-Jul-18 17:40
OscardelaGrouch11-Jul-18 17:40 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.