Explorer les Livres électroniques
Catégories
Explorer les Livres audio
Catégories
Explorer les Magazines
Catégories
Explorer les Documents
Catégories
Creation tutorial
Subject: DS3231 RTCC
General Information
Gathering Information
Configuring Component Properties
Creating Property Events
Creating a Downloadable Macro
Export Your Component
Thanks For Reading
3
4
5
6
8
9
11
Informations Gnrales
Depuis flowcode v6 est sorti, la possibilit de crer facilement des composants est vrai. Cependant, il
ya encore quelques obscurits sur les procs de la cration de composants. Ce est pourquoi je cre
ce tutoriel parce que je pense que la cration de composants est facile. Bien sr, vous devez savoir
comment vous grez les choses, mais ce est ce que ce tutoriel est tout au sujet.
Dans ce tutoriel, je tiens expliquer et discus comment crer un composant partir de zro. Ou vous
voulez juste crer un composant juste parce que vous voulez contribuer la communaut fl owcode.
Quoi qu'il en soit, dans ce tutoriel, nous allons discus l'appareil suivant: DS3231 ce dispositif est un
RTCC extrmement prcis (Real Time Clock Calendrier). Le DS3231 utilise le bus I2C pour la
communication. Ce composant doit fournir toutes les fonctionnalits de l'appareil afin que
l'utilisateur final peut obtenir le maximum de l'appareil.
Collecte de l'information
Nous allons crer la composante de la feuille de donnes de l'appareil. Il a recommand pour sa soit
avoir deux moniteurs, cran partag ou tout simplement pour imprimer la feuille de donnes. Je
prfre utiliser deux moniteurs, mais ce choix ce est vous de faire.
Dans la feuille de donnes, les fonctionnalits de l'appareil sont lists (la plupart du temps), pour le
DS3231 ces caractristiques sont:
Horloge en temps rel compte les secondes, minutes, heures, jour, date, mois, anne + Leap Year
Deux alarmes Temps de journe
Sortie programmable rectangulaires
sortie du capteur de temprature numrique
Vieillissement Garniture registre de rglage
Donc, notre composant doit tre capable de grer toutes ces caractristiques, ce nous permet de
dterminer les macros que nous allons avoir besoin pour notre composant:
ReadTime
WriteTime
ReadDate
WriteDate
SetAlarm1
SetAlarm2
GetTemperature
CheckStatus -> parce qu'il ya un registre d'tat disponibles
SetAging -> Cette option ne soit pas besoin d'tre mis en uvre simplement parce qu'un (amateur)
utilisateur normal ne se soucie pas.
Alors, quand nous sommes fi ni avec ce tutoriel, nous avons un composant avec au moins 8
"tlchargeables" macros.
La prochaine tape dans la cration de cette composante est de configurer notre environnement de
travail, nous devons aussi configurer les proprits des composants.
Mais ce ne est totalement vous comment vous voulez aborder ce. Ensuite, nous devons ll fi chaque
catgorie avec des options utilisateur accessible en criture pour les Options diverses:
sortie d'onde carre
- Dsactiver
- 1 Hz
- 1.024 kHz
- 4,096 kHz
- 8.192 kHz
Activer 32 kHz Sortie
- Oui
- Pas
Jour de la semaine Valeur de retour
- Premire Lettre (S = dimanche, lundi ... M = S = samedi)
- Les trois premiers caractres (Sun = dimanche, lundi = lundi ... sam = samedi - Mot entier
(dimanche, Momday ... samedi)
Alarme Interruption Activer
- Oui (sortie dsactive onde carre et par dfaut sur Dsactiv)
- Non (Active sortie d'onde carre)
Ensuite, nous devons fi ll la catgorie pour des options d'alarme:
Alarme 1 Taux (voir fiche de donnes page.12)
Alarme 2 Taux (voir fiche de donnes page.12)
Ensuite, nous devons fi ll chaque catgorie avec des options utilisateur accessible en criture pour les
paramtres de bus, Connexions et Simulation nous pouvons simplement les copier partir de la
composante de base I2C. Cette action peut tre prform en faisant les mmes actions que la
cration de nouvelles catgories, mais puis slectionnez Copier dans .... Lorsque vous avez insr le
composant I2C dans votre tableau de bord, cette option est disponible pour copier.
Par consquent, vous devez connecter Double-cliquez sur la proprit Tag Situ dans la section
Composants de l'arbre de l'vnement.
Ceux que vous-avez fait cela, fl owcode crera automatiquement une nouvelle macro appele
Ev_Property. Dans cette macro nous allons crer un code Certains qui va tre excut chaque that
the o change des proprits du composant d'utilisateur.
Toutes les macros dans la macro Ev_Property sont des macros de simulation.
Comme vous pouvez le voir, il ya trois paramtres pour la fonction de simulation
Property.CopyValue.
La fi premire copie macro est une valeur provenant d'une source (ce) une des destinations
(I2C_Master1) et la valeur est CHANNEL. Si nous choix d'utiliser le canal matriel pour notre bus I2C
alors ce doit galement Par exemple, pour tre applique (dit) la composante I2C_Master1.
Disons donc que nous voulons utiliser le canal de matriel pour notre composant I2C_Master1,
normalement la proprit connexions de la composante I2C_Master1 sera gris et configur pour ne
pas crire.
Cependant, notre composante ne le sait pas. Par consquent, nous devons prendre une dcision si le
canal est mis zro (Hardware Channel), alors nous devons faire de la proprit de connexion sans
criture en gris, tout comme dans le composant I2C_Master.
Aussi, nous devons afficher les connexions correctes. Alors d'abord les deux macros de simulation
dfinissent la proprit SDA et SCL inscriptible = False (0).
Les deux dernires macros de simulation copier est la valeur de la proprit SDA et SCL dans notre
composant de sorte que les connexions de nos matchs de composant ne de la composante
I2C_Master1.
Si le canal est rgl sur autre chose que zro, alors l'inverse est vrai. La proprit SDA et SCL
deviennent criture et de copie est la port.pin choisi de la composante I2C_Master1.
Cette methode peut tre appliqu tous les autres paramtres de bus lis.
L'autre chose que nous devons prendre soin de est le fl it con qui est possible si la proprit sortie
Square-ondes Activer est rgl sur autre chose que les handicaps et alarme validation d'interruption
est rgl vrai.
Cela doit tre vite car est CAN / conduira des donnes errones crites au DS3231.
Nous devons crer quelque chose quand interruption d'alarme Activer est dfinie sur true, la
proprit Square-ondes Activer besoins d'tre non-criture et la valeur par dfaut doit tre rgl sur,
handicaps.
Alors, quand AlarmInt (variable lie l'alarme d'interruption Enable) est dfinie sur true (1), alors
nous devons dfinir la valeur de la poigne de cette (qui est notre composant) avec la proprit SQW
false (0).
Si nous ne aurions d'abord utiliser la simulation macro alors la valeur de SQW est rgl sur Dsactiv
chaque fois que nous activer l'alarme d'interruption Activer pour vrai. Le seul problme est que
l'utilisateur peut toujours modifier la proprit SQW une valeur qu'il dsire. Pour viter cela, nous
devons dfinir cette proprit sur criture = False.
Qui peut tre vu dans la seconde macro.
Avant que nous puissions commencer crire du code pour cette macro nous avons besoin de
certains paramtres afin que l'utilisateur peut slectionner le type de valeur de retour qu'il dsire
pour son application. Paramters:
AddSign
- True (1) = va ajouter un + / - signe la valeur de sortie
- Faux (0)
ValueType
- Raw (0) = valeur de capteur Raw sera retourn l'utilisateur
- Calcul (1) = La valeur du capteur calcul sera renvoy l'utilisateur
Unit
- Celsius (0) = La valeur calcule sera retourn au format Celsius
- Fahrenheit (1) = La valeur calcule sera retourn au format Fahrenheit
Retour:
String = Ensemble avec tous les paramtres la valeur sera retourne comme une variable de chane
La fonction de la temprature macro de lecture sera de rcuprer les informations de temprature
mmorise dans la DS3231. L'information se compose d'une valeur de 10 bits, cette valeur peut tre
lu partir des registres 0x11 et 0x12. Depuis le DS3231 incrmente son pointeur de registre
automatiquement nous avons juste spcifier quel registre nous voulons commencer lire partir
de ce cas est 0x11.
Puisque ce ne est pas un des tutoriels de programmation Je ne entrerai pas dans la spci fi cs de la
faon de communiquer avec le DS3231.
Avec les diffrents paramtres que vous avez crs, vous pouvez crer la valeur de sortie en
consquence.
Pour affecter la valeur de sortie (qui est de type chane de caractres), vous ne avez qu' vous
affecter variable vers la variable .Retour.
La plupart des options parlent pour eux les deux paramtres auto plus importent sont situs sous
l'onglet Avanc (sous le nom du composant) et Interface. ce que vous voyez dans l'onglet Avanc au
fond est la proprit GUID. Au moment o vous voulez crer la version fi premire de la composante,
vous obtiendrez un GUID alatoire attribu, mais quand vous voulez exporter davantage version du
mme composant ce GUID doit pas tre modifi. Lorsque cela se produit la composante se trouve
dj dans la bibliothque de composants de fl owcode ne met pas jour la dernire version la
place vous Het du mme composant dans la bibliothque mais la version est diffrente.
Puis juste avant que vous voulez exporter vous composant que vous souhaitez spcifier laquelle des
macros sont faites pour tre tlcharg et que l'on doit tre cach de l'utilisateur.
Par exemple, le Ev_Property doit tre cach l'utilisateur car il l'habitude de travailler sur vous
microcontrleur de toute faon, et il faudra probablement signaler une erreur de compilation.
Par exemple, les macros telles que ReadTemperature doit tre tlchargeable parce que vous voulez
que ce code fonctionne sur vous matriel.
Comme vous pouvez voir CheckStatus est une macro cach parce que je ne ai pas termin cette
macro afin que l'utilisateur de ce composant n'a pas besoin de voir cette macro. Tous les autres
macros avec une macro symbole jaune sont tlchargeables. Ces macro peut tre utilise dans un
autre programme de owcode fl dans la faon dont vous tes habitu.