Beruflich Dokumente
Kultur Dokumente
Adems se puede programar sin usar un programador, ya que cuenta internamente en memoria
ROM con un bootloader a travs del puerto serie USART1. Por esto resulta econmico usarlo.
No es la versin mas rpida del STM32 ya que corre mximo a 72 MIPs, pero recordemos con
un costo cercano a los 149 pesos en Mercado Libre Mexico (20 de Enero del 2017) resulta mucho
mas econmico que usar cualquier uC PIC o AVR + un Programador y extremadamente mas rpido.
Cuenta con una memoria de programa de 64 Kbytes y una memoria RAM de 20 Kbytes, que son
excelentes para aprender un primer uC. Adems para lograr un conexionado fcil con el protoboard
viene en un paquete tipo DIP40.
Este material trata de ser unas notas u observaciones breves que ayuden sobre todo al inicio a
utilizar el uC STM32F103C8T6, en ningn momento pretenden ser un sustituto de los manuales de
STMicroelectronics como son:
RCC_APB1
RCC_APB2
GPIOx_CRL
GPIOx_CRH
GPIOx_AFRL
GPIOx_AFRH
GPIOx_IDR Al leerlo se leen las terminales fsicas del uC
GPIOx_ODR Es el Flip-Flop de salida (y es sncrono)
GPIOx_BSRR
GPIOx_BRR
GPIOx_LCKR
Note la diferencia con un uC PIC18F o AVR ATmega en los cuales hay bsicamente 3 registros
de configuracin de puertos:
En un PIC18F:
En un uC AVR ATmega:
PA0 OK PB0 OK
PA1 OK PB1 OK
PA2 OK PB2 es BOOT1
PA3 OK PB3 led apagado(3)
PA4 OK PB4 led ligeramente encendido(4)
PA5 OK PB5 OK
PA6 OK PB6 OK
PA7 OK PB7 OK
PA8 OK PB8 OK
PA9 OK PB9 OK
PA10 OK PB10 OK
PA11 OK, es USB D- PB11 OK
PA12 OK(1) es USB D+ PB12 OK
PA13 es SWDIO PB13 OK PC13 OK
PA14 es SWCLK PB14 OK PC14 OK
PA15 led ligeramente encendido(2) PB15 OK PC15 OK
(1) Antes de programarlo se ilumina ligeramente, pero al programarlo esta bien. Esto se debe a una
resistencia de pull-up de 4.7K (R10 en diagrama).
(2) Es la seal JTDI del interface JTAG.
(3) Es la seal JTDO del interface JTAG.
(4) Es la seal NJTRST del interface JTAG
Por los puntos (1), (2), (3) y (4) hay que recordar que los interfaces SWD y JTAG usan las
terminales siguientes:
Si se usa el interface SWD se pueden usar las terminales PA15, PB3 y PB4 como E/S de
propsito general, pero hay que reconfigurarlas.
Observaciones encontradas:
La palabra busy es palabra reservada, es el bit 1 del registro I2C_SR2. Si lo intentamos usar nos
indicara un intento de re-definir una variable, en este caso BUSY. Esto ocurre aun en el compilador
mikroC Pro for ARM v4.9.0 .
Adems hay otras palabras que no podemos usar como identificadores de uso general, por ejemplo
scan y cont que se usan en el convertidor A/D.
El Compilador mikroC Pro for ARM v4.9.0 por defecto tiene deshabilitada la sensibilidad
maysculas/minsculas, aunque puede ser habilitada.