Queridos amigos,
Estoy pasando de PIC a ARM y la verdad, me está costando Dios y ayuda!
Pasé varios dias hasta descubrir que hace falta un fichero llamada startup_stm32f10x_hd.s donde está la tabla de vertores de interrupcion. Sin este fichero no hay nada que hacer.
Hay otros ficheros en FWLib que tienen librerias para controlar los perifericos:
misc.c
stm32f10x_adc.c
stm32f10x_bkp.c
stm32f10x_can.c
stm32f10x_crc.c
stm32f10x_dac.c
stm32f10x_dbgmcu.c
stm32f10x_dma.c
stm32f10x_exti.c
stm32f10x_flash.c
stm32f10x_fsmc.c
stm32f10x_gpio.c
stm32f10x_i2c.c
stm32f10x_iwdg.c
stm32f10x_pwr.c
stm32f10x_rcc.c
stm32f10x_rtc.c
stm32f10x_sdio.c
stm32f10x_spi.c
stm32f10x_tim.c
stm32f10x_usart.c
stm32f10x_wwdg.c
system_stm32f10x.c
y sus correspondientes headers (.h).
todos los ejemplos que he encontrado por la red, tienen al principio del main, y como es lógico, la forma en que trabajaran los pins, los buses y la velocidad:
RCC_APB2PeriphClockCmd( RCC_APB2Periph_GPIOC ,ENABLE);
RCC_APB2PeriphClockCmd( RCC_APB2Periph_GPIOD,ENABLE);
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_6|GPIO_Pin_7;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(GPIOC, &GPIO_InitStructure);
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_6|GPIO_Pin_13;
GPIO_Init(GPIOD, &GPIO_InitStructure);
todo esto lo entiendo pero en las librerias FWLib....
¿donde se definen los pins de cada periferico? por ejemplo:
si quiero usar la libreria stm32f10x_usart.c para controlar un puerto serie...¿donde se definen los pins donde está conectado el puerto?. o...acaso, ¿todos los pins de los perifericos ya están asingnados conforme al datasheet?.
mil gracias!!!!
Estoy pasando de PIC a ARM y la verdad, me está costando Dios y ayuda!
Pasé varios dias hasta descubrir que hace falta un fichero llamada startup_stm32f10x_hd.s donde está la tabla de vertores de interrupcion. Sin este fichero no hay nada que hacer.
Hay otros ficheros en FWLib que tienen librerias para controlar los perifericos:
misc.c
stm32f10x_adc.c
stm32f10x_bkp.c
stm32f10x_can.c
stm32f10x_crc.c
stm32f10x_dac.c
stm32f10x_dbgmcu.c
stm32f10x_dma.c
stm32f10x_exti.c
stm32f10x_flash.c
stm32f10x_fsmc.c
stm32f10x_gpio.c
stm32f10x_i2c.c
stm32f10x_iwdg.c
stm32f10x_pwr.c
stm32f10x_rcc.c
stm32f10x_rtc.c
stm32f10x_sdio.c
stm32f10x_spi.c
stm32f10x_tim.c
stm32f10x_usart.c
stm32f10x_wwdg.c
system_stm32f10x.c
y sus correspondientes headers (.h).
todos los ejemplos que he encontrado por la red, tienen al principio del main, y como es lógico, la forma en que trabajaran los pins, los buses y la velocidad:
RCC_APB2PeriphClockCmd( RCC_APB2Periph_GPIOC ,ENABLE);
RCC_APB2PeriphClockCmd( RCC_APB2Periph_GPIOD,ENABLE);
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_6|GPIO_Pin_7;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(GPIOC, &GPIO_InitStructure);
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_6|GPIO_Pin_13;
GPIO_Init(GPIOD, &GPIO_InitStructure);
todo esto lo entiendo pero en las librerias FWLib....
¿donde se definen los pins de cada periferico? por ejemplo:
si quiero usar la libreria stm32f10x_usart.c para controlar un puerto serie...¿donde se definen los pins donde está conectado el puerto?. o...acaso, ¿todos los pins de los perifericos ya están asingnados conforme al datasheet?.
mil gracias!!!!