Aprendiendo a programar la Mini-STM32 con LCD táctil a color

Todo cuanto tiene que ver con la obtención, almacenamiento y proceso de la información digital, sus aplicaciones y el software y hardware utilizado.
Responder
Mensaje
Autor
Avatar de Usuario
Anilandro
Mensajes: 4905
Registrado: Dom Feb 11, 2007 10:16 pm
Ubicación: Islas Baleares, España
Contactar:

Re: Aprendiendo a programar la Mini-STM32 con LCD táctil a c

#41 Mensaje por Anilandro »

Entiendo lo de las resistencias pull-up porque he trabajado treinta años en electrónica y realizado muchos montajes, y en este caso también la lógica inversa de las funciones BSRR y BRR, pero no puedo contestarte sobre ODR, IDR o ASM, 1jabato1, de eso sabes tu mucho más que yo. Ten en cuenta que hace sólo una semana no había tocado un microcontrolador ni visto una sola de sus órdenes, y del C hace seis o siete años que no escribía una coma. En el tutorial voy poniendo lo que descubro y compruebo cada día, en parte para recordarlo mejor y en parte para abrir camino a otros que están en mi misma situación, pero no me preguntes mucho más allá porque de momento, más que saber, sólo puedo suponer.

Además, el tema es complejo y por eso quiero ir despacio, viendo las funciones más importantes una tras otra y realizando las necesarias experiencias.

Siento no poder ayudarte con tus dudas.

Un saludo.
La VIDA sólo es energía que ha aprendido a defenderse... (Anilandro)

*** La Web de Anilandro *** http://sites.google.com/site/anilandro

Avatar de Usuario
1jabato1
Mensajes: 8
Registrado: Dom Oct 02, 2011 11:27 pm
País: España
Ciudad: Toledo

Re: Aprendiendo a programar la Mini-STM32 con LCD táctil a c

#42 Mensaje por 1jabato1 »

maverick_007 escribió: cuando ago el reset tengo que volver a enviar el programa al micro para que funcione ........ ¿no te paso ese problema ?....

saludos.
En mi placa este es el esquema y los modos de boot que tiene,revisa los tuyos,yo tengo que cambiar un jumper para usar el Flash Loader Demostrator,tengo que poner JP8 1-2 y JP9 2-3(System Boot) y después JP8 2-3(User Boot),quizás tu tengas un pulsador para entrar en System boot.

Imagen


Imagen

Anilandro,son cuestiones que me planteaba al ver algunos ejemplos,yo soy un hobbista aficionado,estoy de acuerdo contigo,vamos desde el principio.
Perdona las interrupciones,un saludo.

Saludos
La ignorancia me persigue desde que nací, siempre acaba encontrándome,la muy p.......... El menda

maverick_007
Mensajes: 14
Registrado: Mar Sep 27, 2011 3:27 am
País: chile
Ciudad: concepcion

Re: Aprendiendo a programar la Mini-STM32 con LCD táctil a c

#43 Mensaje por maverick_007 »

Hola a todos. Anilandro te cuento que e podido solucionar el problema que habia mencionado antes. probe varias cosas pero no me pude fijar bien con cual funciono pero explicare como lo ise.
ya abia probado anteriormente cambiar o desseleccionar algunas de las opciones que te dicen jump to user program, verify after download y optimize y aun asi no habia podido solucionar el problema. asique comence a estudiar el codigo del programa de demostracion que trae la targeta y encontre una funcion que se llamaba casi inmediatamente despues de la funcion main esa funcion es "SystemInit()" sin las comillas. agrege esa funcion inmediatamente despues del main y con esto corregi el problema pero almismo tiempo que ise eso, cuando envie el programa el micro, solo deje seleccionada la opcion que dice "verify after download" sin las comillas y el programa funciono perfectamente cada vez que reseteo se inicia la secuancia de luces, pero para mi sorpresa compile de nuevo el mismo programa pero haora sin la funcion SystemInit() para ver que ocurria y envie el programa al microcontrolador con la unica opcion seleccionada verify after download y el programa funciono correctamente depues del reset. devo mencionar que esta operacion la abia realizado sin exito y todo cambio cuando agrege la funcion SystemInit(), enrealidad nose que paso, creo que "algo" se devio haver configurado o algo asi la cosa es que haora no tengo problemas al cargar los programas al micro.

aqui adjunto el programa de pruebas que ise, enrealidad es el mismo que el anterio pero le puse un boton ( en mi placa esta el gpioc _14)que cuando se preciona se detiene la secuencia de los leds:

/*****************************************************************************
* @title GPIOExample.c
* @author arhi
* @date 25 Nov 2010
* @brief GPIO Example - how to set the pit high/low *****************************************************************************/
////// The above comment is automatically generated by CoIDE ///////////////////
#include "stm32f10x.h"
#include "stm32f10x_gpio.h"
#include "stm32f10x_rcc.h"

GPIO_InitTypeDef puertos;//GPIO_InitStructure;
int i;
int valor_del_pin;
#define LED_PORT GPIOA


/* Aqui coloco como se ocupa la funcion para leer un pin de un puerto.
* esto aparece en la ayuda del coocox.
uint8_t GPIO_ReadInputDataBit ( GPIO_TypeDef * GPIOx,
uint16_t GPIO_Pin
)

Reads the specified input port pin.

Parameters:
GPIOx,: where x can be (A..G) to select the GPIO peripheral.
GPIO_Pin,: specifies the port bit to read. This parameter can be GPIO_Pin_x where x can be (0..15).
*/

int main(void)
{ // Aqui pueden modificar los puertos de los leds.
SystemInit();
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);
puertos.GPIO_Speed = GPIO_Speed_50MHz;
puertos.GPIO_Mode = GPIO_Mode_Out_PP;
puertos.GPIO_Pin = GPIO_Pin_0 | GPIO_Pin_1 | GPIO_Pin_2 | GPIO_Pin_3;
GPIO_Init(GPIOA, &puertos);

RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC, ENABLE);
puertos.GPIO_Speed = GPIO_Speed_50MHz;
puertos.GPIO_Mode = GPIO_Mode_IN_FLOATING;
puertos.GPIO_Pin = GPIO_Pin_14;
GPIO_Init(GPIOC, &puertos);

while(1)
{
valor_del_pin = GPIO_ReadInputDataBit(GPIOC, GPIO_Pin_14);

if(valor_del_pin==1){
GPIO_WriteBit(LED_PORT,GPIO_Pin_3,Bit_RESET);
GPIO_WriteBit(LED_PORT,GPIO_Pin_0,Bit_SET);
for (i=0;i<500000;i++);

GPIO_WriteBit(LED_PORT,GPIO_Pin_0,Bit_RESET);
GPIO_WriteBit(LED_PORT,GPIO_Pin_1,Bit_SET);
for (i=0;i<500000;i++);

GPIO_WriteBit(LED_PORT,GPIO_Pin_1,Bit_RESET);
GPIO_WriteBit(LED_PORT,GPIO_Pin_2,Bit_SET);
for (i=0;i<500000;i++);

GPIO_WriteBit(LED_PORT,GPIO_Pin_2,Bit_RESET);
GPIO_WriteBit(LED_PORT,GPIO_Pin_3,Bit_SET);
for (i=0;i<500000;i++);
}


}
}

si quieren probar este programa en las targetas que tengan primero deben revisar que pines tienen libres para que los puedan usar, lo mas probable es que no dispongan de los mismos pines que yo pero modificar eso es relativamente facil.

saludos.

Avatar de Usuario
Anilandro
Mensajes: 4905
Registrado: Dom Feb 11, 2007 10:16 pm
Ubicación: Islas Baleares, España
Contactar:

Re: Aprendiendo a programar la Mini-STM32 con LCD táctil a c

#44 Mensaje por Anilandro »

Entiendo que el programa hace destellear sucesivamente 4 LEDS cuando aprietas un pulsador o le suministras tensión al pin_14 ¿Es así?

Saludos
La VIDA sólo es energía que ha aprendido a defenderse... (Anilandro)

*** La Web de Anilandro *** http://sites.google.com/site/anilandro

maverick_007
Mensajes: 14
Registrado: Mar Sep 27, 2011 3:27 am
País: chile
Ciudad: concepcion

Re: Aprendiendo a programar la Mini-STM32 con LCD táctil a c

#45 Mensaje por maverick_007 »

Hola Anilandro en realidad el pin 14 del puerto c esta conectado a vcc a travez de una resistencia de 10Kohm.

aqui te dejo una imagen del circuito que estoy usando, los leds los estoy conectando con un resistor de 1 kilo pero tambien funciona con resistencias desde 330ohm a 1kilo o 1.5 kilo mas omenos.

Imagen

saludos.

Avatar de Usuario
Anilandro
Mensajes: 4905
Registrado: Dom Feb 11, 2007 10:16 pm
Ubicación: Islas Baleares, España
Contactar:

Re: Aprendiendo a programar la Mini-STM32 con LCD táctil a c

#46 Mensaje por Anilandro »

Pues viendo el circuito, lo que hace el pulsador asociado al pin_14 es ponerlo a cero, y en este caso para el destello de los leds.
En el esquema de mi circuito, las resistencias SMD limitadoras de los leds son de 510R, es decir de 51 Ohms, pero en cambio cuando comprobé físicamente el circuito vi que eran de 511R (510 Ohms). Entonces, con esta configuración, y con una alimentación que no puede superar los 3,3 volts, estos leds rojos brillan de forma consistente, en cambio otros leds rojos que he podido encontrar tipo SMD apenas se encienden a esta tensión, y esto es un problema, porque no quiero disminuir demasiado las resistencias para no correr el riesgo de cargarme el micro, ya que supongo que las patillas no pueden dar mucho más que algunos miliamperios.

Saludos
La VIDA sólo es energía que ha aprendido a defenderse... (Anilandro)

*** La Web de Anilandro *** http://sites.google.com/site/anilandro

maverick_007
Mensajes: 14
Registrado: Mar Sep 27, 2011 3:27 am
País: chile
Ciudad: concepcion

Re: Aprendiendo a programar la Mini-STM32 con LCD táctil a c

#47 Mensaje por maverick_007 »

Hola Anilandro con respecto a tu problema con los leds yo ocupo leds del tamaño de 5mm y los tengo conectados en un protoboard.

te adjunto un video en el que muestro como funciona el programa, tambien en el video aprobecho de mostrar una placa para adaptar los micros de 64 pines a un encapsulado dip 64 que cabe en el protoboard. creo que lo que deberiamos hacer es nuestra propia targeta standard para este foro y poder experimentar de forma mas facil en un protoboard.

aqui el video
http://www.youtube.com/watch?v=J-QOdws9cgE


saludos.

maverick_007
Mensajes: 14
Registrado: Mar Sep 27, 2011 3:27 am
País: chile
Ciudad: concepcion

Re: Aprendiendo a programar la Mini-STM32 con LCD táctil a c

#48 Mensaje por maverick_007 »

Hola a todos aprobecho de adjuntar un video donde muestro como funciona la placa que estoy ocupando con el programa de demostracion.

http://www.youtube.com/watch?v=OQru-3kPcKQ

saludos.

Avatar de Usuario
Anilandro
Mensajes: 4905
Registrado: Dom Feb 11, 2007 10:16 pm
Ubicación: Islas Baleares, España
Contactar:

Re: Aprendiendo a programar la Mini-STM32 con LCD táctil a c

#49 Mensaje por Anilandro »

No es un problema de tamaño de leds ni de como conectarlos, Maverick, sino de la máxima intensidad que los pins del STM32 pueden suministrar sin riesgo de cascarse. Además, tampoco es un problema, pondré un circuito driver y solucionado.

En cuanto a hacer una placa a medida para todos tener la misma y demás... yo me olvidaría. Y no sólo por los problemas de trabajar con semejantes circuitos impresos o tener que comprar ProtoBoards, sino porque la experiencia de varios años en el foro me ha demostrado que en sitios colectivos donde no hay contacto personal entre la gente, estas cosas no son viables en absoluto. Pese a las palabras, aquí los intereses reales están muy fragmentados, y ni siquiera hay que confiar en que unos cuantos decidan hacer lo más lógico y cómodo, como es comprar directamente plaquitas del mismo tipo, aunque sean de tan bajo precio... y si no, al tiempo.

Un saludo
La VIDA sólo es energía que ha aprendido a defenderse... (Anilandro)

*** La Web de Anilandro *** http://sites.google.com/site/anilandro

maverick_007
Mensajes: 14
Registrado: Mar Sep 27, 2011 3:27 am
País: chile
Ciudad: concepcion

Re: Aprendiendo a programar la Mini-STM32 con LCD táctil a c

#50 Mensaje por maverick_007 »

Hola Anilandro, creo que tienes razon, mi idea fue un poco idealista. pero aun asi tengo la idea de ir realizando algunas cosillas interesantes que me gustaria compartir. me gustaria que halla tanta informacion sobre este tipo de microcontrolador como los hay en los pics o avr.

PD: en este presiso momento no puedo entrar a la pagina de st microelectronics, me a parece el siguiente mensaje:

Access Denied (license_expired)

A license has expired on the Proxy, and your request is not permitted: "The SGOS license has expired"
A new license must be obtained.

saludos.

Responder

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 1 invitado