Étape 9: Faire une police personnalisée
Eh bien, dans le cas, pourquoi ne pas faire votre propre ? C’est vraiment simple.
Chaque caractère est composé de 5 octets, ce qui signifie qu’ils apparaîtront comme 8 x 5 pixels sur l’écran. Il s’agit d’assez de place pour la plupart des caractères. La police est incorporée à l’AVR pour un accès rapide (il faudrait des âges à envoyer via USB), dans un tableau nommé « police » situé à Atmega8_LCD.h dans les sources.
La meilleure chose à faire est de remplacer les polices déjà, j’ai fait dans le tableau de la police, comme à l’époque, il ne faut pas salir avec un autre code. Retirez simplement tout à l’intérieur des parenthèses de ce tableau :
public static const unsigned char polices [] = {}
Supprimer tout l’intérieur ici
}
Puis, ce n’est juste pour faire vos propres polices, à partir de * espace * (caractère ASCII 33e) !
Si vous voulez une table ASCII, pour voir quels caractères, vous devez faire, c’est une bonne référence. N’oubliez pas que vous devez ajouter 5 octets pour chaque caractère que vous faites, et vous ne pouvez pas ignorer tous les caractères !
Voici un plan détaillé, que vous pouvez copier :
0b00000000, / caractère / * rien *
0b00000000,
0b00000000,
0b00000000,
0b00000000,
Si pour une raison quelconque ne plus yo utiliser tous les 5 octets, vous pouvez utiliser le code spécial pour "sauter" :
0b10000000
Cela s’appuiera tout simplement pas quoi que ce soit et ne bougera pas l’emplacement de X. En faisant cela, vous pouvez afficher les caractères ayant un espacement de pixel unique entre eux n’importe comment grand ou petit le personnage est (au lieu de beaucoup d’espace vide entre les caractères). Le seul inconvénient à cela est que vous ne pouvez avoir un personnage qui utilise ce dernier pixel. Je ne m’inquiète pour qui, parce que ma police a 1 pixel espacement là, donc la police est plus jolie.
Si cela devient un problème pour votre police, vous pouvez toujours le changer pour quelque chose dans la fonction LCD_writeChar.
Voici un caractère d’exemple pour vous, c’est le chef-lieu, A partir de ma police :
public static const unsigned char polices [] = {}
....
0b01111000, / / Character A
0b00100100,
0b00100100,
0b01111000,
0b10000000, / / dernier pixel Skip
....
}
(Les règles d’écriture des pixels à l’écran LCD toujours comptent ici, 1er bit = upper, 8e bit = basse, lecture de droite à gauche)
Notez que 1 pixel de l’espacement entre les caractères sont ajoutés automatiquement!