cancel
Showing results for 
Search instead for 
Did you mean: 

STLink Virtual COM Port issues with sending data

entwicklung
Associate II
Posted on March 23, 2015 at 10:06

Hey there,

I have a major problem with STM32nucleo an it's virtual COM port.

I'm using it for a while to measure some voltages and send them to labview.

Sometimes I got the a timeout error in labview, waiting for serial data of the controller.

I checked the µC with debugging and its sending it's data.

So, I checked it also with the hyperterminal and it seems that the data from µC is lost.

After a resetting the board, it works fine again.

I saw some threads with similar problems and I updated the stlink to V2.J23.M6

It doesn't change the situation.

I attached my code so you can have a look at it.

3 REPLIES 3
Posted on March 23, 2015 at 12:16

I would look to fold repetitive code in to subroutines. Buffer output data so as not to spin for multiple character times in the interrupt. Buffer input data so characters would not be lost, and process them outside the interrupt.

Tips, buy me a coffee, or three.. PayPal Venmo Up vote any posts that you find helpful, it shows what's working..
entwicklung
Associate II
Posted on March 23, 2015 at 12:53

Hello clive,

Thank you for the tips. I think you are right.

But the problem shouldn't be a result of this.

Right now I think it's a problem with LabView.

But I'm not sure about it.

entwicklung
Associate II
Posted on April 10, 2015 at 15:53

Hi,

I'm still sucking on this bug.

Now I'm sure that there is no problem with labview. It is a problem with the nucleo board.

I've reduced the code above to send an echo when receiving a char.

When I test it in hyperterminal or putty it will stuck after a while.

I can check the µC and it is still receiving chars and also sending them out. But nothing arrives the PC.

I'm pretty sure it is a driver problem. I updated stlink and all of the other drivers the nucleo needs.

I just tried it on Win7 and it works fine. So right now, I'm blaming Win8.1 for this.

What do you think?