Skip to main content
Visitor II
February 28, 2025
Question

Block for sending values through the UART

  • February 28, 2025
  • 2 replies
  • 1047 views

Hello, I am trying to wire STM32F103C8T6 with DS18B20 sensor and I realize that after some actions it stopped to work and no data through the UART sent:

stm32-proteus.png

cube-ide-clock-configuration.png

stm-32-rcc.png

usart-1.png

usart-2.png

Probably it's not big deal, but I have no idea why UART completelly blocked and sending no information.
Current version of this code based on the materials of:
 https://deepbluembedded.com/stm32-1-wire-one-wire-protocol-ds18b20-code-example/ 

    This topic has been closed for replies.

    2 replies

    Graduate II
    February 28, 2025

    You'll have to debug it. Your output buffer isn't really big enough to hold the string and NUL termination.

    Try something more like

    int number = 123;
    uint8_t numarray[8]; // make sure you have enough space
    ...
    while(1)
    { // sprintf returns the string length
     HAL_UART_Transmit(&huart1, numarray, sprintf(numarray, "%d\n", number), 1000);
    }
    Visitor II
    February 28, 2025

    I extended buffer size but unfortunately nothing changed...
    Can be something wrong with configuration I applied?

    Graduate II
    February 28, 2025

    No idea

    Do you have actual hardware? Can you put a scope on the signals, and use a debugger?

    Check the code that configures the pins.

    Do you have a supervisor or trainer?

    Do you have any other working example in this environment?

    Visitor II
    March 1, 2025

    I don't have an local trainer or any support. So I took a chance here.

    Super User
    March 1, 2025

    Proteus has a debugger which allows you to step through the code - doesn't it?

    So have you done that?

     

    It also has "virtual" instruments (akin to oscilloscopes, etc) to observe signals external to the MCU.

    Have you used them?

     

    Have you got the UART working without the DS18B20 sensor?

     

    Some tips here on getting started with STM32 - including debugging:

    https://community.st.com/t5/stm32-mcus-products/for-better-learning-stm32-programming-and-debugging/m-p/719468/highlight/true#M260690