Skip to main content
Graduate
January 23, 2024
Question

STM32 F030C8 interface LCD 16x2

  • January 23, 2024
  • 2 replies
  • 1290 views

Hi Everyone, 

I am trying to interface with LCD16x2 on STM32F030C8 custom board but I have some issues. I have LSE crystal on my custom board but HSE is not. 

When I debug my code, I have this problem: 

volkan__0-1705996465702.png

And when I run it, program does not work well and texting that "Target is not responding, retrying" on the console. 

Can I interface with LCD 16x2 by using internal crystal or LSE crystal only?  

    This topic has been closed for replies.

    2 replies

    Super User
    January 23, 2024

    Make sure BOOT0 is connected properly to GND.

    JW

    volkan_Author
    Graduate
    January 23, 2024

    Hi JW

    Thank you very much, your solution prevented the problem but I have still questions. I hope you can help me. 
    Is connecting BOOT0 to GND compulsory thing to do according to datasheets? or Can it cause any problem in future? 

    Graduate II
    January 24, 2024

    Literally hundreds of posts where letting it float is a problem, yours being one of the latest.

    I'd suggest a pull-down as it a) insures the pin tends to zero regardless of how quick the power rails rise, and b) doesn't cause a dead short the connection to ground would lead too if you need to drive the pin high in a test fixture, or programming station.

    Datasheets indicate it's not pulled high or low internally.

    Perhaps could do with a more authoritative statement, because a lot of people miss it, but a lot of people also don't read docs with the right mindset either. So I'd wager even if it were in a bold box and a diagram people would still fail at it.

    Technical Moderator
    January 24, 2024

    @volkan_ It depends on the respective derivative whether BOOT0 = 1 is used to start the boot loader. There are derivatives where you specify different behaviour with the option bytes. In your case with the STM32F030C, however, pattern 2 is used according to AN2606, which starts the bootloader with BOOT0=1 and nBoot1(bit)=1.

    [edit] Oops, forgot to answer: yes, if BOOT0 is used as in your case, you must supply BOOT0 with a clear logical signal, i.e. usually low. For later access, it is wise to realise this with a pull-down. [/edit]