IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Embarqué Discussion :

Bibliothèque écran LCD TFT


Sujet :

Embarqué

  1. #1
    Membre régulier
    Homme Profil pro
    Inscrit en
    Avril 2011
    Messages
    75
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Avril 2011
    Messages : 75
    Points : 76
    Points
    76
    Par défaut Bibliothèque écran LCD TFT
    Bonjour,
    Je programme actuellement sur un DSP TI qui doit contrôler un écran LCD TFT mais je suis à cours de bibliothèque C. En fait, je me base actuellement sur une bibliothèque Arduino que je tente de porter et bien sûr le hic se trouve dans la fonction principale --' Mon problème réside donc dans l'affichage de caractère sur l'écran, donc d'arriver à avoir une représentation "pixelisée" des caractères en fonction des polices choisies mais je coince...alors je ne sais pas si il y a une astuce ou si quelqu'un aurait une certaine expérience à m'apporter sur ce sujet...Voilà la fonction en question :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    #define pgm_read_byte(address_short) pgm_read_byte_near(address_short) 
    #define pgm_read_byte_near(address_short) __LPM((uint16_t)(address_short))
    #define __LPM(addr) __LPM_enhanced__(addr) 
    #define __LPM_enhanced__(addr) \ (
    __extension__({ \
     uint16_t __addr16 = (uint16_t)(addr); \
     uint8_t __result; \
     __asm__ \
     ( \
     "lpm %0, Z" "\n\t" \
     : "=r" (__result) \
     : "z" (__addr16) \
     ); \
     __result; \
     }))
    
    void ITDB02::printChar(byte c, int x, int y)
    {
    	byte i,j,ch;
    	word temp; 
    
    	*P_CS &= ~B_CS;
      
    	if (orient==PORTRAIT)
    	{
    		setXY(x,y,x+cfont.x_size-1,y+cfont.y_size-1);
    	  
    		temp=((c-cfont.offset)*((cfont.x_size/8)*cfont.y_size))+4;
    		for(j=0;j<((cfont.x_size/8)*cfont.y_size);j++)
    		{
    			ch=pgm_read_byte(&cfont.font[temp]);
    			for(i=0;i<8;i++)
    			{   
    				if((ch&(1<<(7-i)))!=0)   
    				{
    					setPixel(fcolorr, fcolorg, fcolorb);
    				} 
    				else
    				{
    					setPixel(bcolorr, bcolorg, bcolorb);
    				}   
    			}
    			temp++;
    		}
    	}
    	else
    	{
    		temp=((c-cfont.offset)*((cfont.x_size/8)*cfont.y_size))+4;
    
    		for(j=0;j<((cfont.x_size/8)*cfont.y_size);j+=(cfont.x_size/8))
    		{
    			setXY(x,y+(j/(cfont.x_size/8)),x+cfont.x_size-1,y+(j/(cfont.x_size/8)));
    			for (int zz=(cfont.x_size/8)-1; zz>=0; zz--)
    			{
    				ch=pgm_read_byte(&cfont.font[temp+zz]);
    				for(i=0;i<8;i++)
    				{   
    					if((ch&(1<<i))!=0)   
    					{
    						setPixel(fcolorr, fcolorg, fcolorb); 
    					} 
    					else
    					{
    						setPixel(bcolorr, bcolorg, bcolorb);
    					}   
    				}
    			}
    			temp+=(cfont.x_size/8);
    		}
    	}
    	*P_CS |= B_CS;
    }
    Elle est issue de (http://henningkarlsen.com/electronics/library.php?id=52) et donc de la bibliothèque utft.h. Mon problème principal se situe donc dans la fonction pgm_read_byte... Si quelqu'un avait une idée ou une astuce...je suis preneur. Merci beaucoup pour votre aide

  2. #2
    Membre régulier
    Homme Profil pro
    Inscrit en
    Avril 2011
    Messages
    75
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Avril 2011
    Messages : 75
    Points : 76
    Points
    76
    Par défaut
    Pffffffff n'importe quoi ! Je me suis créé un problème tout seul, les matrices de pixel sont présentes dans un des points h de la bibliothèque. Désolé pour le dérangement. Bonne soirée et merci à ceux qui m'ont lu.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 49
    Dernier message: 17/03/2010, 13h03
  2. 1 écran LCD wide pour remplacer 2 CRT ?
    Par antoinev2 dans le forum Périphériques
    Réponses: 4
    Dernier message: 03/07/2009, 09h12
  3. Réponses: 3
    Dernier message: 02/05/2008, 15h54

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo