forum.mcontrollers.com - hlavní stránka forum.mcontrollers.com - fórum

 

.: fórum - hlavní stránka :.
Technology Stronghold by Rudolf Vesely
How to build Microsoft System Center hosted cloud series
FAQFAQ HledatHledat Seznam uživatelůSeznam uživatelů Uživatelské skupinyUživatelské skupiny RegistraceRegistrace
ProfilProfil StatistikaStatistika Soukromé zprávySoukromé zprávy PřihlášeníPřihlášení

 
TFT na STM32F103RD

 
Přidat nové téma   Zaslat odpověď    Obsah fóra mcontrollers.com -> ARM
 
boxer01
Nováček
Nováček


Založen: 27.2.2014
Příspěvky: 3

PříspěvekZaslal: 27 únor 2014, 9:46    Předmět: TFT na STM32F103RD Citovat

Vedel by mi niekto pomoct s kodom pre TFT displej bez FSMC?? Ide o displej DT028TFT.

moj kod pre konfiguraciu GPIO
kód:

void LCD_CtrlLinesConfig(void)
{
  RCC->APB2ENR |= 0x0000003C;                /* Enable GPIOA GPIOB GPIOC clock            */
  GPIOB->CRL   |=  0xBBBBBBBB;                        /* Alternate Function push-pull, 50Mhz*/
  GPIOB->CRH   |=  0xBBBBBBBB;                        /* Alternate Function push-pull, 50Mhz  */
   
   GPIOA->CRL   |= (0x03UL <<  4);             //nastavenie A1-reset  push/pull 50Mhz
   GPIOA->CRL   |= (0x0BUL <<  0);                     //nastavenie A0-CS  Alternate Function push-pull, 50Mhz
   GPIOA->CRL   |= (0x0BUL <<  8);                     //nastavenie A2  Alternate Function push-pull, 50Mhz
   GPIOA->CRH   |= (0x0BUL <<  24);                     //nastavenie A14-WR  Alternate Function push-pull, 50Mhz
   
   GPIOC->CRL   |= (0xBBBBUL <<  16);             //nastavenie C4 C5 C6 C7  Alternate Function push-pull, 50Mhz
   
}


a pre vysielanie dat do LCD (zrejme nefunkcny)
kód:

void LCD_WriteReg(uint8_t LCD_Reg, uint16_t LCD_RegValue)
{
  /* Write 16-bit Index, then Write Reg */
 // LCD->LCD_REG = LCD_Reg;
  /* Write 16-bit Reg */
 // LCD->LCD_RAM = LCD_RegValue;
   int i=0;
   GPIOB->ODR = LCD_Reg;
   GPIOA->ODR = LCD_Reg;
   GPIOC->ODR = (LCD_Reg >> 4);
   
   for(i=0;i==1000;i++);
   
   GPIOA->BSRR=GPIO_BSRR_BS0;
   GPIOA->BSRR=GPIO_BSRR_BS14;
   GPIOC->BSRR=GPIO_BSRR_BS5;
   
   for(i=0;i==1000;i++);
   
   GPIOA->BSRR=GPIO_BSRR_BS14;
   GPIOC->BSRR=GPIO_BSRR_BS5;
   
   for(i=0;i==1000;i++);
   
   GPIOB->ODR = LCD_RegValue;
   GPIOA->ODR = LCD_RegValue;
   GPIOC->ODR = (LCD_RegValue >> 4);
   
   for(i=0;i==10000;i++);
   
   GPIOA->BSRR=GPIO_BSRR_BS14;
   for(i=0;i==10000;i++);
   
   GPIOA->BSRR=GPIO_BSRR_BS14;
}



disp.png
 Komentář:
schema

Stáhnout
 Soubor:  disp.png
 Velikost:  88.27 kB
 Staženo:  235 krát

Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Odeslat e-mail
 

 
Radius
Profesionál
Profesionál


Založen: 22.2.2013
Příspěvky: 450

PříspěvekZaslal: 27 únor 2014, 22:07    Předmět: Citovat

Proc bez FSMC ?
_________________
x51 , ARM , XILINX
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Odeslat e-mail Zobrazit autorovy WWW stránky
 

 
boxer01
Nováček
Nováček


Založen: 27.2.2014
Příspěvky: 3

PříspěvekZaslal: 27 únor 2014, 22:48    Předmět: Citovat

Lebo STM32F103RD (LQFP64) nema FSMC .
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Odeslat e-mail
 

 
Radius
Profesionál
Profesionál


Založen: 22.2.2013
Příspěvky: 450

PříspěvekZaslal: 27 únor 2014, 23:25    Předmět: Citovat

Ok, prehlid sem RD.
Asi je Ti jasny ze i mala chybicka v nastaveni portu zpusobi ze to nepojede. Rozhodne nehodlam kontrolovat ten kod plnej bulharskejch konstant.

_________________
x51 , ARM , XILINX
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Odeslat e-mail Zobrazit autorovy WWW stránky
 

 
boxer01
Nováček
Nováček


Založen: 27.2.2014
Příspěvky: 3

PříspěvekZaslal: 27 únor 2014, 23:34    Předmět: Citovat

nastavenie portov by malo byt OK....uz by len trebalo nejak zosynchronizovat porty pre data. Pre PB by sa dalo pouzit register GPIO->ODR a zvysne cez BSRR a BRR, len neviem ako.
kód:

void LCD_CtrlLinesConfig(void)
{
   
 
   GPIO_InitTypeDef GPIO_InitStructure;

 AFIO->MAPR=0x2000000;     //remap JTAG

  RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA | RCC_APB2Periph_GPIOB |
                         RCC_APB2Periph_GPIOC, ENABLE);
 
 
  GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0 | GPIO_Pin_1 | GPIO_Pin_3 | GPIO_Pin_4 |
                                GPIO_Pin_5 | GPIO_Pin_6 | GPIO_Pin_7 | GPIO_Pin_8 |
                                GPIO_Pin_9| GPIO_Pin_12 | GPIO_Pin_13 | GPIO_Pin_14|
                                                GPIO_Pin_15;
  GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
  GPIO_Init(GPIOB, &GPIO_InitStructure);

 

 GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0 | GPIO_Pin_1 | GPIO_Pin_2 | GPIO_Pin_15;
  GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
  GPIO_Init(GPIOA, &GPIO_InitStructure);
   
   GPIO_InitStructure.GPIO_Pin = GPIO_Pin_4 | GPIO_Pin_5 | GPIO_Pin_6 | GPIO_Pin_7;
  GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
  GPIO_Init(GPIOC, &GPIO_InitStructure);
 
 
}



disp.png
 Komentář:
opr_schema
 Velikost:  63.63 kB
 Zobrazeno:  5622 krát

disp.png


Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Odeslat e-mail
 

Zobrazit příspěvky z předchozích:   
Zobrazit předchozí téma :: Zobrazit následující téma  
Přidat nové téma   Zaslat odpověď    Obsah fóra mcontrollers.com -> ARM Časy uváděny v GMT + 2 hodiny
 
Strana 1 z 1
Přejdi na:  
Můžete přidat nové téma do tohoto fóra.
Můžete odpovídat na témata v tomto fóru.
Nemůžete upravovat své příspěvky v tomto fóru.
Nemůžete mazat své příspěvky v tomto fóru.
Nemůžete hlasovat v tomto fóru.
Můžete k příspěvkům připojovat soubory
Můžete stahovat a prohlížet přiložené soubory
 



Num Lock Holder - app to hold Numlock
Copyright © 2017 Rudolf Veselý, mcontrollers.com.
Je zakázáno používat části tohoto webu bez souhlasu autora. || Powered by phpBB © 2001, 2002 phpBB Group - with RedSquare DoubleJ(Jan Jaap)