2024-01-22 11:58 PM
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:
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?
2024-01-23 02:54 AM
Make sure BOOT0 is connected properly to GND.
JW
2024-01-23 04:40 AM
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?
2024-01-24 06:43 AM - edited 2024-01-24 06:45 AM
@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]
2024-01-24 07:08 AM
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.