2009-01-06 10 views

Répondre

2

J'ai répondu à une question d'un autre utilisateur (here) qui faisait référence au document suivant: www.cloverlcd.com/pdf/S6A0069.pdf. Vous pouvez avoir une idée de comment cela peut fonctionner à partir de ce lien (au moins pour cet exemple).

La plupart de ces périphériques embarqués ont généralement une approche en deux temps pour fournir des données aux puces. J'ai vu un exemple où vous produisez deux f-nybbles dans une rangée pour synchroniser (puisque ff est invalide 7-bit) alors vous commencez le processus de sortie des nybbles. Tant qu'il n'y a pas moyen de générer deux f-nybbles consécutifs à l'exception de la synchronisation, c'est facile à réaliser.

Il existe généralement d'autres lignes connectées au périphérique à partir du bus qui permettent au périphérique de détecter une nouvelle écriture de données. Cela signifie qu'il détectera deux écritures identiques en tant que valeurs différentes. En d'autres termes, il utilise d'autres signaux pour contrôler la réception des données. La plupart des périphériques les plus simples ont également des exigences de synchronisation strictes (par exemple, vous devez retarder N microsecondes après chaque écriture).

En outre, ce que vous avez tendance à envoyer sont des commandes, pas seulement les codes ASCII. La sortie nybble pour l'affichage Bonjour à décalage 3 sur un écran LCD peut être:

f f   ; sync 
0    ; clear display (cmd = 0). 
1 0 3   ; set cursor (cmd = 1) to offset 3. 
2 H e l l o 0 ; output text (cmd = 2) teminated by NULL. 

Étant donné que seules les lignes de données D3 par d0 sont fixés sur le dispositif, ther nybble supérieure est hors de propos.

1

Généralement, le périphérique est mis sous tension en mode 8 bits, mais les commandes requises pour le mettre en mode 4 bits ignorent les 4 bits de poids faible.

En mode 4 bits, deux caractères sont requis par caractère.

Voir this description

Questions connexes