Bienvenue aux nouveaux arrivants sur FantasPic !

- Pensez à lire les règles durant votre visite, il n'y en a pas beaucoup, mais encore faut-il les respecter .
- N’hésitez pas à faire des remarques et/ou suggestions sur le Forum, dans le but de l'améliorer et de rendre vos prochaines visites plus agréables.
- Vous pouvez regarder votre "panneau de l'utilisateur" afin de configurer vos préférences.
- Un passage par "l'utilisation du forum" est recommandé pour connaître les fonctionnalités du forum.

--- L’équipe FantasPic ---
Forum général en BASIC et PASCAL !

Modérateur : Gérard

Mikrobasic
Tango
Débutant
Débutant
Messages : 39
Âge : 73
Enregistré en : février 2017
Localisation : Vosges

#21 Message par Tango » dim. 23 juil. 2017 14:15

Bonjour à tous,

Les procédures sont-elles exécutées dans l'ordre qu'elles sont écrites dans le programme général "main:" ?
Ci-dessous un exemple :

sub procedure Init()
TRISA.1 = 0
PORTA.1 = 0
end sub

sub procedure Init1()
TRISA.1 = 0
PORTA.1 = 1
end sub

main:
init
init1
end.

En principe, à l'exécution du programme, PORTA.1 = 1 vrai ou faux ?
Encore merci ...! :-)
Gilles.

Mikrobasic
Temps-x
Avatar de l’utilisateur
Expert
Expert
Messages : 2595
Enregistré en : juillet 2016
Localisation : Terre

#22 Message par Temps-x » dim. 23 juil. 2017 15:50

Bonjour Tango, et bonjour à tous,

TRISA.1 = 0 : Sa veux dire que tu mets RA1 en sortie
PORTA.1 = 1 : Sa veux dire que tu mets en fonction RA1, donc ta sortie et au +

En principe, à l'exécution du programme, PORTA.1 = 1 vrai ou faux ?


Donc c'est vrai, ton PORTA.1 est bien à 1

A+
:roll: Les requins, c'est comme le langage ASM, c'est le sommet de la chaîne alimentaire. :wink:

Mikrobasic
Tango
Débutant
Débutant
Messages : 39
Âge : 73
Enregistré en : février 2017
Localisation : Vosges

#23 Message par Tango » dim. 23 juil. 2017 16:30

OK Temps-x et merci,
Par contre si j'inverse dans le programme principal, soit :

main:
init1
init
end.

là, normalement PORTA.1 = 0
A+ Cordialement
Gilles

Mikrobasic
Jérémy
Administrateur du site
Administrateur du site
Messages : 2722
Âge : 44
Enregistré en : juillet 2015
Localisation : Dans le sud
Contact :

#24 Message par Jérémy » dim. 23 juil. 2017 17:03

là, normalement PORTA.1 = 0

c'est exact !

 ! Message de modération :
Pense à mettre ton bout de code entre les balises codes : procédure
Ce sera plus lisible pour tout le monde :wink:
C'est en faisant des erreurs, que l'on apprend le mieux !!!

Mikrobasic
Tango
Débutant
Débutant
Messages : 39
Âge : 73
Enregistré en : février 2017
Localisation : Vosges

#25 Message par Tango » dim. 23 juil. 2017 17:42

Merci Jérémy,
OK pour encadrer le code avec les balises, je ne savais pas. Excuses !
A+ Cordialement
Gilles

Mikrobasic
Temps-x
Avatar de l’utilisateur
Expert
Expert
Messages : 2595
Enregistré en : juillet 2016
Localisation : Terre

#26 Message par Temps-x » dim. 23 juil. 2017 17:44

Par contre si j'inverse dans le programme principal, soit :



Code : Tout sélectionner


    main
:
    init1
    init
    end
.



Comme le dit Jérémy , Oui

Bon, il te reste à faire clignoter une LED, c'est le départ pour tous le monde, et là ça commence à devenir passionnant. :wink:

A+
:roll: Les requins, c'est comme le langage ASM, c'est le sommet de la chaîne alimentaire. :wink:

Mikrobasic
Tango
Débutant
Débutant
Messages : 39
Âge : 73
Enregistré en : février 2017
Localisation : Vosges

#27 Message par Tango » dim. 23 juil. 2017 18:34

OK Temps-x et merci,
Mais j'en suis déjà plus loin que faire clignoter une LED ! C'est pourquoi je m'attaque à la série 18F. Autre chose, est-ce-que quelqu'un de vous utilise le petit utilitaire "TIMER CALCULATOR" de Mikroelektronika pour le calcul des interruptions. Je trouve ce truc bien sympa. Et vous ? Merci. A+ ... Bye ...
Gilles

Mikrobasic
Jérémy
Administrateur du site
Administrateur du site
Messages : 2722
Âge : 44
Enregistré en : juillet 2015
Localisation : Dans le sud
Contact :

#28 Message par Jérémy » dim. 23 juil. 2017 19:50

Tango a écrit :Source du message vous utilise le petit utilitaire "TIMER CALCULATOR"

Bien sûr ! Il y a n post ouvert la dessus : viewtopic.php?f=27&t=71

c'est vraiment très pratique . Au début je faisais les calculs à la main et je m'en servais comme correction. Depuis je fais quasiment tout avec lui par soucis de rapidité.... je dois le confesser.

Des fois j’aime quand ça va vite..... des fois non ... :-D
C'est en faisant des erreurs, que l'on apprend le mieux !!!

Mikrobasic
Gérard
Avatar de l’utilisateur
Expert
Expert
Messages : 1640
Âge : 65
Enregistré en : septembre 2015
Localisation : Alsace - Haut-Rhin

#29 Message par Gérard » dim. 23 juil. 2017 21:52

Bonjour,

Code : Tout sélectionner

sub procedure Init()
TRISA.1 = 0
PORTA.1 
= 0 
end sub

sub procedure Init1
()
TRISA.1 = 0
PORTA.1 
= 1 
end sub

main
:
init
init1
end


Avec ce code, tu exécutes une seule fois init puis init1 le programme ne boucle pas.
Tu dois ajouter goto main après init1 pour reboucler.

Code : Tout sélectionner


sub procedure Init
()
TRISA.1 = 0
PORTA.1 
= 0 
end sub

sub procedure Init1
()
TRISA.1 = 0
PORTA.1 
= 1 
end sub

main
:
init
init1
goto main
end
.
Le 18/04/19 je suis devenu papy de jumeaux, le 01/09/23 une petite cousine des jumeaux est née.

Mikrobasic
Tango
Débutant
Débutant
Messages : 39
Âge : 73
Enregistré en : février 2017
Localisation : Vosges

#30 Message par Tango » lun. 24 juil. 2017 11:27

Bonjour,
OK Jérémy, étant nouveau sur ce forum, je n'avais pas encore consulté la rubrique "téléchargement". Dans le TYMER CALCUlATOR, il n'y a pas de famille 12F dans la liste des PICs, mais j'ai utilisé 16F pour un 12F675 et ça fonctionne bien.
OK Gérard pour ta réponse, il suffit dans le "main:" d'appeler les procédures au moment ou on veut les exécuter.
Encore merci à vous et bonne journée. A + ...
Gilles.


Retourner vers « Langage BASIC & PASCAL »

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 45 invités