Forum Rule: Always post complete source code & details to reproduce any issue!

Search:

Type: Posts; User: joepasquariello

Search: Search took 0.00 seconds.

  1. Replies
    27
    Views
    3,430

    Thanks for the great info. I'm not surprised...

    Thanks for the great info. I'm not surprised there are lots of nitty-gritty details that make this challenging.

    FYI, a quick look at the MCUEspresso SDK shows this in the non-blocking write...
  2. Replies
    27
    Views
    3,430

    @KurtE, thanks very much for the info. I'll spend...

    @KurtE, thanks very much for the info. I'll spend some time on it and see what I can do. The test that I did where interrupts were disabled/enabled in Print::write() was just to show that if transmit...
  3. Replies
    27
    Views
    3,430

    Just out of curiosity, I looked at the STM32...

    Just out of curiosity, I looked at the STM32 Arduino Core file HardwareSerial.cpp, and the approach there I think has some advantages.

    For T4.x, the write() function in HardwareSerial.cpp takes a...
  4. Replies
    27
    Views
    3,430

    That has the same effect as disabling interrupts...

    That has the same effect as disabling interrupts while putting bytes in the software buffer, in terms of giving you non-blocking behavior for write(), but I'd say it's preferable, since interrupts...
  5. Replies
    27
    Views
    3,430

    Because the alternative is polling. Do you really...

    Because the alternative is polling. Do you really need 20 MHz? If you use 1 MHz, the behavior will be (relatively) non-blocking, and you'll be able to do other things during the time TX is happening....
  6. Replies
    27
    Views
    3,430

    That's a good question. Yes, there is no free...

    That's a good question. Yes, there is no free lunch. The original code starts sending immediately on the call to write(). The modified code disables interrupts, and thereby prevents sending data,...
  7. Replies
    27
    Views
    3,430

    If you look at cores\Teensy4\HardwareSerial.cpp,...

    If you look at cores\Teensy4\HardwareSerial.cpp, the one-byte write() function calls write9bit(), and that's where all the work of writing to the UART registers is done. This function has a set of...
Results 1 to 7 of 7