Is there any working sample for UART driver with DTC transfer on S7G2?

I'm using DK-S7G2, SSPv1.1.3. I'm finding a sample that implements UART driver with DTC transfer to read each character from an UART sensor.

This is my configuration for UART driver:

 

  • Hi hungle,

    Have you tried application notes of SK-S7G2 instead of that new DK-S7G2 seen in the synergy gallery link-> synergygallery.renesas.com/ssp

    or

    for renesas support you can also do some research with this link-> synergybeta.renesas.com/doc

    or

    with this link-> https://www.renesas.com/en-us/products/synergy/tools-kits.html

    Hope it helps.

    God Bless.

    Best,

    JB

    Renesasrulz Forum Moderator

  • In reply to JB:

    Hello hungle.

    Simple driver/framework usage scenarios are explained in section 4 of the SSP User's Manual. I also have a simple project that implements UART on HAL layer on SK-S7 board: 7140.s7_sk_hal_uart_1_1_0.zip. To add processing for received data also, you should check for UART_EVENT_RX_COMPLETE argument.

    Regards

  • In reply to Karol:

    Hi Karol,

    Thank for your support.

    I want to use UART driver that uses DTC module to receive/transmit data (not use interrupt).

    Do you have any sample like this?

    Regards,

    Hung

  • In reply to hungle:

    Hello hungle,

    UART driver uses DTC modules internally to buffer incoming characters so that you can retrieve them using p_api->read function. However, in order to determine whether there are any characters to read, a DTC callback is executed.

    The functionality you're after is achieved by removing DTC drivers that are connected to UART driver and adding a separate one. I created a small project that illustrates DTC transfer from UART directly into user-defined array stored in RAM: s7_sk_hal_uart_dtc_1_1_3.zip. To see the characters, you'll need to pause the processing and look in the memory tab and view the contents of the array.

    Regards

  • In reply to Karol:

    Hi Karol,

    Thank you very much.

    Could you guide me how to use the DTC callback to capture each received character?

    I try to add DTC callback to your sample but it doesn't work.

    Regards,

    Hung

  • In reply to hungle:

    in the example, the DTC instance is separate from the uart driver, and configured manually in the source code

    (to avoid having the settings locked by the uart driver, when using the optional DTC in the driver configuration)

    However, the callback is only used when using a software trigger ("only valid with software start") in the DTC driver

    From the hw perspective, when you enable the interrupt on each transfer, you should rather get SCI interrupts all the time

    (so the uart callback should be rather called, "Name of UART callback function to be defined by user NULL")

    Still, what's the point in being interrupted at each transfer, but using the DTC? (even though it's optionally available?)

    The whole purpose of the DTC is to interrupt the application only at transfer complete, and not on every character.

  • In reply to GiPa:

    Hello GiPa and Karol,

    Is there an updated example of this that works under the SSP 1.4.0 by chance?

    Thanks
    Matt
  • In reply to rupertm:

    Hello Matt,

    please refer to the following Module Guide projects:

    These projects are configured for the SSP 1.2.0. You can easily update them to SSP 1.4.0 by selecting the SSP version in the Synergy Configuration window > BSP tab. After doing this, generate the project content and rebuild the project.

    Best regards,
    anper

  • In reply to Karol:

    Hello Karol, I'm trying to use your example but when I import to e2 this is missing files.

    My intention is to receive and send data from an external device and handle that data on my CPU.
    I currently have SK-S7G2 and PE-HMI1 Kits, what do you suggest? Can you help me?
  • In reply to Eliezer:

    Hi Eliezer,

    My example is very outdated as it uses SSP version released almost 2.5 years ago. Please refer to module guide links provided by anper above. DTC support is built into all serial drivers on Synergy so there's nothing special that needs to be done in order to enable it.

    Regards