Are you sure everything you're using code wise is thread safe ? There are a lot of library functions that are not thread safe.
On Mon, Jul 25, 2016 at 8:31 PM, Regina Choi <[email protected]> wrote: > Thanks for reply. > > I'm not sure why, but I don't get timeout error messages from the read > thread (though I have set it to 1 sec) !? It just freeze there waiting for > UART input, even though there are UART input coming in. > > Yes, I got the Byte sent message printf from TX thread. Please see the > attachement. > > > > > > > > > > On Tue, Jul 26, 2016 at 2:30 AM, Wally Bkg <[email protected]> wrote: > >> I'm stumped. Are you now getting timeout error messages from the read >> thread? >> >> Are you getting the Byte sent: message printf from the TX thread? >> >> >> On Sunday, July 24, 2016 at 10:11:57 PM UTC-5, Regina Choi wrote: >>> >>> >>> Apology for late reply. >>> >>> I've tried with options.c_cc[VMIN] = 0; it's still the same issue. >>> >>> From the datasheet of AM335x, uart rx/tx buffers are 64 bytes. >>> >>> I've also tried putting tx command in tx thread that activated later >>> than rx thread. Nothing changed as well. >>> >>> void* uartTxWait(void *param){ >>> >>> int count; >>> usleep(1000000); >>> unsigned char cmd[] = {0x10, 0x00, 0x32}; //"Tx From Beaglebone "; >>> >>> if ((count = write(file, (char*)cmd, 3))<0){ >>> perror("Failed to write to the output\n"); >>> //tcsetattr(file, TCSAFLUSH, &oriopt); //before >>> exit, undo raw setting >>> //return -1; >>> }else{ >>> printf("Byte sent: %d \n", count); >>> } >>> >>> >>> pthread_exit(0); >>> } >>> >>> >>> >>> >>> On Friday, July 22, 2016 at 10:50:52 PM UTC+8, Wally Bkg wrote: >>>> >>>> I noticed you have options.c_cc[VMIN] = 2; If for some reason only >>>> one character comes in, it'll block forever. Try using options.c_cc[VMIN] >>>> = 0; so that each char can timeout if its not received. >>>> >>>> How big are the Beaglebone uart buffers? >>>> >>>> You may still have a race between your write of the data and starting >>>> your RX thread. Try putting the write into your TX thread and launch it >>>> after you've launched the RX thread. >>>> >>>> >>>> >>>> On Thursday, July 21, 2016 at 10:10:11 PM UTC-5, Regina Choi wrote: >>>>> >>>>> >>>>> Hi Wally, >>>>> >>>>> I have tried adding fflush(stdout and fflush(stderr) in the while >>>>> loop, however, in the UartRxWait thread, the read( ) function is in block >>>>> waiting for incoming data. Which doesn't output anything. In the case, >>>>> after start and shut down minicom, the UartRxWait thread running as usual, >>>>> there is no output from the fflush(stdout) and fflush(stderr) either. >>>>> >>>>> yes, at the moment I have to kill the program to terminate. I have >>>>> modified the code such that it loop for only 5 times and terminate the >>>>> thread. >>>>> >>>>> >>>>> -- >> For more options, visit http://beagleboard.org/discuss >> --- >> You received this message because you are subscribed to a topic in the >> Google Groups "BeagleBoard" group. >> To unsubscribe from this topic, visit >> https://groups.google.com/d/topic/beagleboard/p_v98aypDfk/unsubscribe. >> To unsubscribe from this group and all its topics, send an email to >> [email protected]. >> To view this discussion on the web visit >> https://groups.google.com/d/msgid/beagleboard/16a9b1d0-6c0e-4b31-ac7f-490bc091f751%40googlegroups.com >> <https://groups.google.com/d/msgid/beagleboard/16a9b1d0-6c0e-4b31-ac7f-490bc091f751%40googlegroups.com?utm_medium=email&utm_source=footer> >> . >> >> For more options, visit https://groups.google.com/d/optout. >> > > -- > For more options, visit http://beagleboard.org/discuss > --- > You received this message because you are subscribed to the Google Groups > "BeagleBoard" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > To view this discussion on the web visit > https://groups.google.com/d/msgid/beagleboard/CAJ5%2BLfyKahyeih3Db50ZP7yOiLPUyKt0f6sn7dwnijJ6gEx07Q%40mail.gmail.com > <https://groups.google.com/d/msgid/beagleboard/CAJ5%2BLfyKahyeih3Db50ZP7yOiLPUyKt0f6sn7dwnijJ6gEx07Q%40mail.gmail.com?utm_medium=email&utm_source=footer> > . > > For more options, visit https://groups.google.com/d/optout. > -- For more options, visit http://beagleboard.org/discuss --- You received this message because you are subscribed to the Google Groups "BeagleBoard" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/beagleboard/CALHSORqUGDZgjgbRVaGvt5j9aL%2BXKAB-E%3DKAuM5rQcMfx7JStQ%40mail.gmail.com. For more options, visit https://groups.google.com/d/optout.
