L’adresse est très important. Si votre adresse est désactivée par quelques octets alors vous perdrez ces octets de l’avant ou l’arrière de votre chaîne. Pas d’erreurs se produisent. Ce 16 * tmp5 – 1 semble correct. Il n’est pas OK. Timbres de base restent strictement à droite math. Timbres de base 2 s permettent entre parenthèses comme 16 * (tmp5 – 1). Avec ce 16 * tmp5 – 1 est en fait (16 * tmp5) – 1 et vous seriez hors de 1 adresse. Dans ce cas, j’ai perdu la première lettre de la chaîne, que je viens de modifier.
Mathématiques peut être amusant. Basic Stamp 2 s soutenir les nombres négatifs, mais vous devez être prudent avec eux. Si vous avez deux variables, compte à rebours et vous les comparez tmp3 > = tmp4. Si vous soustrayez 1 il sera négatif et plus tmp4 tmp3 atteint 0. Mettre une instruction de débogage sur tmp3 et voir où il va. Dans ce cas, mon objectif est tmp5. Je l’ai changé à tmp4 > = tmp5 et lacher tmp3 à 0. Puis j’ai ajusté tmp5 par – 1 pour le tableau de base 0 de chaînes. Zéros ne sont pas bonnes pour les maths ou comparant.
La principale chose dont vous avez besoin pour une chose interactive est mémoire. La mémoire moins chère et plus facile à utiliser est une série E-prom. Ce qui est un E-prom ? C’est un souvenir éclectique programmable et effaçable éclectique avec une interface série. E-Proms garder leur mémoire lorsque l’alimentation est coupée. E-Proms vous permettent de reprogrammer la mémoire. Cycles habituellement 10 millions ou plus. Lire votre manuel. Vous pouvez stocker n’importe quel type de données dans un E-Prom. Je voudrais qu'avoir des amis pour partager cela avec. Je travaillerai sur les écrans LCD et de type d’un terminal muet pour montrer combien il est facile de connecter vos idées à votre peuple.
Le fichier de Code est EPromEW6.txt. Vous devez le changer à EPromEW6. bs2 pour elle d’exécuter. Le fichier Zip est le fichier de code et les images.
La plupart des E-Proms sont que byte taille tableaux mémoire. Le plus gros utilisateur de mémoire est piqûres comme l’opération quinquennale « Hello World ». Les chaînes sont un tableau d’octets dans la mémoire du processeur. Les chaînes sont bien adaptés à l’E-Proms. Dans cet exemple, ma série E-Prom est 2048/8 ou 16 K avec 16 128 pages octets. Oui, les chaînes de 128. Comme la plupart des périphériques séries E-Proms ont un processeur qui est mis en place pour écrire et lire le tableau de la mémoire. Vous contrôlez les commandes et les fils d’entrée et de sortie. Synchronisation est tout.
Vous avez besoin d’un grand nombre de broches à utiliser une série de E-Prom lorsque vous écrivez à la mémoire. Les broches: SO octets sortie, SI octets entrées, horloge CK et CS Chip Select. J’utilise des broches distinctes pour SO & SI pour protéger mon E-Prom. Commandes vous permet de dire à l’E-Prom ce que vous voulez qu’il fasse. Pour lire un octet, vous abaissez CS et envoyez une commande "Read". « ShiftOut epRead\8, erAddr\16. » Le \8 dit ShifOut d’envoyer 8 bits total. Donc 32 est 100000 est seulement de 6 bits. Le \8 rend 00100000 et c’est de 8 bits. C’est ce dont a besoin l’E-Prom. Lecture est un flux continu d’octets que vous fournissez des impulsions d’horloge. « ShiftIn myStr(tmp1). » Vous pouvez utiliser une adresse avec la commande de lecture. Chaque page est de 16 octets. Donc 32 page 1. N’oubliez pas que la mémoire E-Prom est de base zéro et chaînes sont zéro terminée.
L’écriture est un peu plus compliqué. Vous tenez à écrire protéger et Hold broches hautes puis vous définissez CS bas et envoyer une commande écrire Enable. « SHIFTOUT epSi, epCk, MSBFIRST, [epWrtEN\8] ». Ensuite, vous soulevez CS pause 5ms et inférieur puis pause CS 5ms. Qui saisit la commande dans le E-Prom. Ensuite, vous envoyez dans une commande "Write". « SHIFTOUT epWrite\8, erAddr\16. » Par écrit, vous devez généralement d’écrire tous les 16 octets en une seule commande et y mettre fin correctement. Dans une boucle « SHIFTOUT myStr(tmp1). » Ensuite, je pause 5ms et soulever mon CS pour indiquer à l’E-Prom pour écrire mes données. Vous devez attendre ou le E-Prom peut se bloquer. Pour réinitialiser le E-Prom vous baissez attente CS 5ms puis soulever attente CS 5ms puis abaisser CS et continuez avec vos commandes. J’ai garder mon CS bas avec une résistance de 10K à la masse.
Le E-Prom dispose également d’une épingle écrire protéger. Avec cette broche faible, vous ne pouvez pas écrire dans le E-Prom. Il dispose également d’une goupille de maintien que lorsqu’il est faible le E-Prom est éteint. Vous pouvez écrire à protéger un quart, la moitié ou la totalité de la mémoire avec indicateurs d’État. Je continue à écrire protéger et maintenir connecté à VDD.
L’adressage est obligatoire et facile. Mon adresse est sur 16 limites d’octets, il est donc facile. Vous pouvez écrire n’importe quelle page de 16 octets de mémoire qu’il faut et rien d’autre n’est affecté. Mémoire vive vraiment sur 128 chaînes de 16 octets. N’oubliez pas que la mémoire est de base zéro et chaînes sont zéro terminée. Chaîne 1 est en fait 0. Toute ma chaîne de numérotation est 1 fondée. Mon programme prend soin des détails. Dans mon programme epAddr est le point de montage de chaîne et myStrS chaînes combien j’ai. Afficher les chaînes commence à 0 et va si myStrS chaque chaîne de numérotation. Chaînes concaténées uniquement la première chaîne obtient un nombre. Les cordes seulement premier obtient un nombre.
Une chose au sujet de la manipulation, c’est que la plupart des systèmes utilisent des chaînes nulles terminés. Cela signifie que le dernier octet dans « Bonjour World0 » est un octet de zéro. Un tableau d’octets 16 détient 15 caractères et une terminaison zéro. La plupart les tableaux d’octets sont aussi basé zéro. C’est la première position est zéro et le dernier est 15. Pour les piqûres d’être reconnue que vous devez vous assurer que le zéro est au bon endroit. Vous pouvez utiliser un tableau de 16 octets pour tout. Pour des chaînes courtes il suffit de les déplacer vers l’avant et y mettre fin. Le reste de la chaîne sera ignoré. Garder une trace de votre position. Lorsque vous concaténez une chaîne à la chaîne suivante vous ne pouvez pas utiliser toutes les 16 octets. Pourquoi ? La routine de sortie reste la première chaîne terminée.
Autres données doivent être formatés pour s’intégrer dans un tableau d’octets. Un mot a 16 bits ou deux octets. Un octet haut et un octet de poids faible. Longs ou doubles ont 32 Bits ou quatre octets. Octet 3 et octet 2, octet 1 octet 0. Vous générez les formateurs pour prendre soin de ce type de données. Stockez-les octet par octet dans une ordonnance que vous aimez. Comme l’octet haut puis l’octet de poids faible. Charge de la même manière les cacher. La mémoire de la plupart des processeurs est bit 16 pages. Mot de taille mémoire qui peut être décomposé en octets et sur certains vers le bas pour les plumes ou les Bits variables. Lorsque vous stockez une variable mot vous avez généralement accès à ses octets comme variables à.
Certains transformateurs ont la bonne chaîne, fonctions de gestion. J’utilise un Parallax.com Basic Stamp 2 pour cet exemple. Les commandes utilisées sont Debug, DebugIn, SerIn et SerOut. Débogage et serOut sont la même fonction à bien des égards, qu'ils vont juste à différents endroits. Pour entrer une chaîne, vous utilisez un module de formatage de STR qui cherche des chaînes de caractères. « STR DebugIn time\15\13 » cherche et entrées qu'une chaîne jusqu'à 15 caractères qu’il charge dans un temps de tableau d’octets lorsque l’utilisateur appuie sur Enter(13). Si la chaîne est inférieure à 15 caractères les caractères restants sont remplis avec des zéros. La chaîne « Hello » serait « Hello00000000000 » dans la mémoire. « Debug temps STR » imprime « Hello ». Le premier zéro termine la chaîne et le reste sont ignorés.
Numéros peuvent être amusant. Les formateurs d’entrée sont des chaînes de caractères. « DebugIn temps DEC » se penche sur la chaîne « hello123bye » et il convertit le nombre 123 et le met dans la variable temps. Il ignore le reste. Utile pour beaucoup de choses interactives. Pour les tableaux d’octets, vous utilisez des caractères de contrôle comme zéro comme un bouchon de terminaison à la fin des chaînes. Vous créez d’autres caractères de contrôle pour s’adapter à vos besoins. J’utilise le « + » pour séparé chante court et joignez-vous à longue chaîne dans mes routines de sortie. Chaînes courtes peuvent être assemblés habituellement sur le devant de la E-Prom. Quinze personnages ne sont jamais assez. Vous pouvez créer toutes sortes de contrôles dans les routines de sortie.
Mon programme : le bouton passe en mode de commande. Entrez une commande et appuyez sur entrée sur le clavier. Vous ne pouvez pas garder ces petits processeurs en attente d’une entrée. Ils ont tendance à s’écraser. Vous exécutez une boucle active en attente pour un bouton à presser. Mon programme mémorise la dernière adresse et le nombre de chaîne dans l’EEPROM du processeur et il charge au démarrage ou re-démarre. MyStrs la valeur zéro pour les nouvelles chaînes et 1 pour vos cordes à charger. Mon programme est un chargeur rapide de chaîne pour une E-Prom.
Mon programme utilise la borne de débogage et un bouton standard. Vous appuyez sur le bouton pour passer en mode commande. Tapez votre entrée et appuyez sur entrée. La led devrait clignoter lors de l’attente d’une commande. N’oubliez pas de mettre les processeurs EEprom lorsque vous terminez une session.
Pour modifier vos chaînes après un re-démarrage utilisent commande 60 tout d’abord charger votre compteur de chaîne et d’adresse dans mon programme. Commande 10 entrera une nouvelle chaîne après la dernière chaîne. Commande 40 édite une chaîne. Lorsque vous avez terminé avec votre commande use de cordes 50 pour écrire le nombre d’adresse et de la chaîne dans l’EEprom. Utilisez l’éditeur pour changer myStrs à zéro pour les nouvelles chaînes ou 1 ou supérieur pour charger vos chaînes et re-charger le programme.
L’Arduino est juste trop amusant. Manipulation de chaînes excellent.
Systèmes de PicAxe : Ils n’ont pas de baies. Seulement les x2 pièces ont une commandes ShiftOut et ShifIn. Le bloc-notes est une zone de mémoire temporaire pour le stockage des données telles que des tableaux. Uniquement les jetons suivants de Picaxe PICAXE - 28 X 1, 40 X 1, 20 X 2 pièces ont 128 octets de bloc-notes (0-127) et PICAXE - 28 X 2, 40 X 2 pièces ont 1024 octets de bloc-notes (0-1023). Pour accéder à l’utilisation du bloc-notes : le pointeur est ptr = var, adressage Indirect est ' (post incrémentation) et ' (postdecrement). Chaque fois que le « nom de la variable est utilisé dans une commande, la valeur du pointeur bloc-notes est automatiquement incrémentée d’un. Cela le rend idéal pour le stockage d’un tableau à dimension unique des données. Consultez l’exemple dans le manuel.
ShiftIN et ShiftOut : la commande spiin (shiftin aussi accepté par le compilateur) est une méthode de « bit-bang » de communication SPI sur les parties X1 et X2 seulement. Toutes les autres parties doivent utiliser l’exemple de programme inclus au verso pour reproduire ce comportement. Pour une solution matérielle pour pièces X1/X2 Voir la commande 'hshin'. Ou vous pouvez utiliser mon doLights et checkLights de EasyLights.