Por favor encuentra errores y dame consejos.
Como usted es un principiante, este es un tema muy común, pero brevemente:
-
Como han dicho otros, hay tableros STM32F1 baratos disponibles de los que puedes aprender antes de intentar diseñar el tuyo. Mire uno de esos (o al menos su esquema) y compárelo con el esquema propuesto. Encontrarás muchas diferencias. Investiga esas diferencias para aprender más. También está la placa de desarrollo STM32VLDISCOVERY (basada en STM32F1) que tiene un programador incorporado / depurador (y también otros tableros de "descubrimiento" por ST).
-
Hay una gran cantidad de documentación para su MCU STM32F103C8 elegida: haga clic en la pestaña "Recursos" en la STM32F103C8 page . Un documento importante es " AN2586: Introducción al desarrollo de hardware STM32F10xxx ". Eso explica los principales requisitos de diseño de hardware (alimentación, condensadores de desacoplamiento, oscilador, pines de configuración, etc.) y usted debe leer & Entienda esto.
-
Su esquema no muestra qué voltaje le estará suministrando a V DDA en el pin 9, pero algunos problemas incluyen:
-
Compruebe que el voltaje suministrado a V DDA esté dentro del rango permitido.
-
El esquema muestra + 5V suministrados a V BAT (pin 1). Eso matará a tu MCU. Lea la hoja de datos y AN2586 en relación con el rango de voltaje de alimentación permitido.
- El esquema
muestra que solo se suministra energía a V DDA en el pin 9. Sin embargo, debe suministrar energía a todos V DD pines (y tierra a todos V SS pines). De nuevo, lea AN2586 para ver ejemplos de conexiones de suministro de energía.
-
El esquema no muestra ningún desacoplamiento ni desvía los condensadores. Esto no está de acuerdo con AN2586 y es probable que cause problemas intermitentes (o peor).
-
El esquema muestra los pines flotantes BOOT0
y BOOT1
. Esta es una mala idea y causará problemas. Lea AN2586 y la hoja de datos del dispositivo para comprender mejor la función de esos pines, cómo conectarlos y por qué es posible que desee cambiar BOOT0
durante el desarrollo.
-
El esquema no muestra ningún botón de reinicio manual y componentes asociados. ¿Estás realmente seguro de que no quieres uno?
-
Piense en cómo va a (a) el programa y (b) depure su código en la MCU. Aunque el STM32F1 contiene un cargador de arranque en serie primitivo (un poco como el Arduino al que está acostumbrado), esto no proporciona ninguna funcionalidad de depuración. Lea acerca de la funcionalidad SWD (JTAG) y vea cómo (cuando se usa con el software apropiado para PC) ofrece una gama de funciones de programación y depuración.
Es por eso que verá los puertos SWD (JTAG) en muchos de los paneles de demostración / evaluación / pasatiempos STM32F1 existentes. Debería considerar agregar un conector SWD (JTAG) a cualquier placa de desarrollo que diseñe.
[Relacionado: Consulte esta pregunta acerca de cómo crear una placa de desarrollo personalizada STM32F4. Los mismos principios se aplican aquí.]
No tiene que aprender todo al mismo tiempo, pero hasta que comprenda mejor esta MCU (que es más compleja que su Arduino), es más probable que el intento de crear su propia placa de desarrollo termine en un fracaso. Es por eso que una ruta más eficiente y menos frustrante para usted puede ser comprar una placa de desarrollo existente, aprender cómo programar y depurar el software en ella (incluida la elección de la cadena de herramientas / IDE que prefiera, hay muchas opciones) y viceversa. diseñar el diseño de esa simple placa STM32F1.
Cuando haya hecho eso, estará en una posición mucho mejor, con conocimientos mejorados, para diseñar su propia placa de desarrollo y para que tenga éxito, en lugar de tratar de hacerlo ahora. Buena suerte!