Bieeenn!!! ya comienza a funcionar!!! ya he hecho mi primer programa que controla unos pulsadores y unos leds. Los leds son la retoiluminacion de una pantalla gráfica (B/N). Voy a estudiarme el datasheet de la pantalla a ver si consigo hacer una libreria para ella. Es una pantalla 128x64 con driver ST7565. ¿Alguien sabe si existe alguna libreria para este display?
A qui os dejo el codigo:
#include "stm32f10x.h"
#include "stm32f10x_gpio.h"
#include "stm32f10x_rcc.h"
#define RED_ON() GPIO_ResetBits(GPIOA,GPIO_Pin_0)
#define RED_OFF() GPIO_SetBits(GPIOA,GPIO_Pin_0)
#define GREEN_ON() GPIO_ResetBits(GPIOA,GPIO_Pin_1)
#define GREEN_OFF() GPIO_SetBits(GPIOA,GPIO_Pin_1)
#define BLUE_ON() GPIO_ResetBits(GPIOA,GPIO_Pin_2)
#define BLUE_OFF() GPIO_SetBits(GPIOA,GPIO_Pin_2)
void config_output(void);
void config_input(void);
void main(void)
{
int i;
config_output();
config_input();
GPIO_SetBits(GPIOA,GPIO_Pin_0); // RED OFF
GPIO_SetBits(GPIOA,GPIO_Pin_1); // GREEN OFF
GPIO_SetBits(GPIOA,GPIO_Pin_2); // BLUE OFF
while (1)
{
// Color Red
if(!GPIO_ReadInputDataBit(GPIOC,GPIO_Pin_0)){
RED_ON(); // RED
}
else{
RED_OFF(); // RED OFF
}
// Color Green
if(!GPIO_ReadInputDataBit(GPIOC,GPIO_Pin_1)){
GREEN_ON(); // Green
}
else{
GREEN_OFF(); // Green OFF
}
// Color Blue
if(!GPIO_ReadInputDataBit(GPIOC,GPIO_Pin_2)){
BLUE_ON(); // Blue
}
else{
BLUE_OFF(); // Blue OFF
}
}
}
void config_output(void){
GPIO_InitTypeDef GPIO_InitStructure;
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0|GPIO_Pin_1|GPIO_Pin_2;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(GPIOA, &GPIO_InitStructure);
}
void config_input(void){
GPIO_InitTypeDef GPIO_InitStructure;
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC, ENABLE);
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0|GPIO_Pin_1|GPIO_Pin_2|GPIO_Pin_3;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(GPIOC, &GPIO_InitStructure);
}