Programmation en C, la fonction delay. - Page 2
Répondre à la discussion
Page 2 sur 2 PremièrePremière 2
Affichage des résultats 31 à 50 sur 50

Programmation en C, la fonction delay.



  1. #31
    invite03481543

    Re : Programmation en C,la fonction delay.


    ------

    Le but d'écrire le code n'est pas de te le donner comme ça sans commentaire.Si tu me connaissais mieux tu saurais que ce n'est pas mon habitude de faire.Ca permet d'illustrer la méthode choisie et de gagner du temps, une illustration en quelque sorte.

    -----

  2. #32
    invite03481543

    Re : Programmation en C,la fonction delay.

    Pas besoin de MPLABX avec mikroC pour les bits de config et debugger Une chance !

  3. #33
    terrdala

    Re : Programmation en C,la fonction delay.

    Citation Envoyé par bisou10
    ben bascule++, si bascule vaut 1, ca va donner 2... Ce qui est impossible dans un typage de type booleen.
    Pas comprit.

    Citation Envoyé par Hulk28
    Le but d'écrire le code n'est pas de te le donner comme ça sans commentaire.Si tu me connaissais mieux tu saurais que ce n'est pas mon habitude de faire.Ca permet d'illustrer la méthode choisie et de gagner du temps, une illustration en quelque sorte.
    Ben ok alors.Si ça peut me faire comprendre je veux bien.

    Donc je répète un peut le tous.

    µC = 16F628A (utilisé avec ça fréquence interne mit a 4MGHz,registre PCON)

    Le but :

    -Un bouton poussoir en pull-down branché au PIC envoie un signal 5V a celui ci quand j'appuie dessus. (on va oublier l'interruption sur RB0)

    -Quand le pic reçois une impulsion 5V venant du bouton poussoir,il faut qu'un buzer sonne (avec un intervalle de 120 ms entre chaque sonnerie) et celas pendant 15s.

    -Une fois les 15s passé celas remplis la condition qu'une LED peux s'allumé.

    -Attention qu'il faut pouvoir tous stoppé a tous moment avec une nouvelle impulsion sur le bouton poussoir.Donc la 2ième impulsion coupe la LED même si elle est allumée bien sur et coupe le compte a rebours.



    Voila,ça parait simple mais pas pour moi mdr.
    Dernière modification par terrdala ; 16/08/2015 à 19h15.
    <<La détermination mène a la satisfaction>>

  4. #34
    invite03481543

    Re : Programmation en C,la fonction delay.

    Ok, je te ferai ça dans la semaine.
    @+

  5. #35
    freepicbasic

    Re : Programmation en C, la fonction delay.

    Avec Flowcode en 15 minutes voir le zip ci-joint

    Au départ on attend un 1 sur le bouton en A0
    Puis on entre dans la boucle principale
    La Led PORTB,0 se met à clignoter
    Comme le bouton sert aussi à l'arrêt on attend 4 boucles de On/Off led avant de prendre en compte le bouton.

    120ms on + 120 ms On = 240 ms
    soit 62 boucles pour faire 15 secondes
    Comme on doit pouvoir arrêter pendant le clignotement si on lit toutes les 240 ms , ça risque de ne pas réagir très bien
    Alors je fais 120 boucles de 1ms et lit A0 à chaque fois

    Après 15 secondes
    On éteint PORTB 0
    Et allume PORTB 1
    Si on appuie sur A0 on éteint les 2 LEDs et attend le relâchement du bouton avec 1ms d'attente entre chaque test du bouton.
    puis on reboucle
    Images attachées Images attachées
    Fichiers attachés Fichiers attachés
    Dernière modification par freepicbasic ; 19/08/2015 à 13h50.
    A+, pat

  6. #36
    invite03481543

    Re : Programmation en C, la fonction delay.

    Oui seulement avec flowcode tu n'apprends strictement rien.
    Personne ne travaille dans l'industrie avec cette daube.

  7. #37
    invite03481543

    Re : Programmation en C, la fonction delay.

    Bien mauvais conseil que tu donnes là ça me surprend un peu de ta part.

  8. #38
    freepicbasic

    Re : Programmation en C, la fonction delay.

    Tu as peut être raison, mais ce n'est pas sur.
    (Je sais, Flowcode donne des boutons à certains LOL)

    Comme d'hab on ne sait rien de l'intervenant ...
    Est ce que son but est de faire quelques années d'étude pour faire clignoter une LED ou d'avoir un résultat rapide ?

    De plus en plus de personnes utilise Arduino , justement pour avoir un résultat rapide.
    Et j'ai vu bien plus de débutants sur Arduino à la cité des sciences (peut être juste un coup dans l'eau, mais au moins , il y avait du monde)
    que de personnes réellement intéressés par la programmation et qui veulent vraiment apprendre,
    En fait j'en connais qu'un seul, a qui j'ai donné des cours...

    Et, l'algorithme est tout de même valable pour écrire un prog dans n'importe quel langage.
    Peut être faudrait il , plutôt qu'ils apprennent a faire des algorithmes

    Et Flowcode n'est pas gratuit , avec des protection ce qui n'est pas pour me plaire.
    (mon but n'est pas de leur faire de la pub, je peux , tout aussi bien parler de ses défauts, mais ça semble être un tabou sur ce forum...)
    Au fait,Il génère du C (pas compatible MikroC)
    Dernière modification par freepicbasic ; 19/08/2015 à 16h56.
    A+, pat

  9. #39
    terrdala

    Re : Programmation en C, la fonction delay.

    Salut,

    Effectivement mon but est d'avoir des résultat rapide.Je ne compte pas excellé dans le domaine de la programmation.JE suis bon en électricité mais apparemment je suis moins bon dans la compréhension en programmation (voir complètement naze) c’est comme ça.Vous vous comprenez peut être facilement les cours de biggonof ben moi pas par exemple et pourtant je fait de mon mieux et je fait des effort.

    Certaine choses il faut me les expliqué de façon différente et je fini par comprendre mais pour ça il faut déjà trouvé quelqu'un qui le fasse.Je n'oblige personne a le faire bien sur car personne n'est a pas disposition c'est un faite.

    Alors vous allez surement me dire,ben si c'est pas ton fort ben laisse tombé si tu comprend rien.Laissé tombé est une forme de faiblesse et je suis pas comme ça x).
    <<La détermination mène a la satisfaction>>

  10. #40
    invite03481543

    Re : Programmation en C, la fonction delay.

    Ce sujet illustre parfaitement la discussion que nous avons évoqué pour tenter de résoudre les problèmes de ce forum...
    D'un coté des bricoleurs et de l'autre des gens qui souhaitent sans doute progresser et apprendre des choses qui leur seraient utiles, comme quoi il faut absolument créer de la visibilité.
    Pour ton info terrdala je n'ai jamais appris avec les cours de bigonoff, très bon travail qu'il faut par ailleurs saluer, mais qui s'adresse à des novices purs.
    Ne pas comprendre ces cours c'est juste ne faire aucun effort et moi les gens qui ne font aucun effort notable je ne les aide plus sur ce forum.
    Prends la méthode de freepicbasic, il faut être réaliste, je pense que c'est ce qu'il te faut, du prémâché comme au mac do sans goût et sans saveur, à chacun ses goûts après tout.
    @+

  11. #41
    freepicbasic

    Re : Programmation en C, la fonction delay.

    Ne pas comprendre ces cours c'est juste ne faire aucun effort et moi les gens qui ne font aucun effort notable je ne les aide plus sur ce forum.
    Prends la méthode de freepicbasic, il faut être réaliste, je pense que c'est ce qu'il te faut, du prémâché comme au mac do sans goût et sans saveur, à chacun ses goûts après tout.
    Je pense que les conseils de HULK28 sont toujours d'excellents conseils !

    Et même si terrdala semble approuver la méthode rapide, je ne suis pas du tout persuadé que c'est la meilleure méthode.
    La plus adaptée à la demande ponctuelle sans plus.
    Et celle que j'ai proposé n'est assurément pas la meilleure...

    C'est inutile de demander au gens de comprendre ce qu'il ne veulent pas comprendre, c 'est malheureusement la majorité de la population.
    Tout le monde ne peut pas être une élite (dans vrai sens du terme, pas le ses politique).
    Et c'est parfois difficile à quelqu'un qui a des facilités de compréhension, de voir que d'autres n'y arrive pas ou n'essaye pas d'y arriver.
    Je reconnais que ça peut être agaçant.

    Mais si le gens qui conduisent une voiture ou regarde la télé devaient savoir comment ça fonctionne, il y aurait vraiment peu de monde qui serait autorisé à les utiliser.
    A+, pat

  12. #42
    terrdala

    Re : Programmation en C, la fonction delay.

    Citation Envoyé par HULK28
    Ne pas comprendre ces cours c'est juste ne faire aucun effort et moi les gens qui ne font aucun effort notable je ne les aide plus sur ce forum.
    Citation Envoyé par freepicbasic
    C'est inutile de demander au gens de comprendre ce qu'il ne veulent pas comprendre, c 'est malheureusement la majorité de la population.
    J'espère que vous ne dite pas ça pour moi.
    <<La détermination mène a la satisfaction>>

  13. #43
    freepicbasic

    Re : Programmation en C, la fonction delay.

    Je vise personne en particulier !
    Mes enfants et petits enfants , ne s'y intéressent pas, à part faire joujou avec des PC ou téléphones comme ça se fait maintenant.
    et les personnes intéressés sont souvent sur ce forum et bien loin.

    Peut en faites vous partis ?
    A+, pat

  14. #44
    terrdala

    Re : Programmation en C, la fonction delay.

    Forcément que je fait partie des personnes intéressée,sinon pourquoi je me casserais la tête a chercher pendant des heures pour comprendre ce que je ne comprend pas.

    Je suis pas venu ici sans au préalable avoir chercher des solution a mes problème,je vient ici car même après recherche je ne trouve rien.Comme je l'ai dit je suis pas du genre a ce qu'on m'offre la solution sur un plateau d'or, ce serais trop simple et j'apprendrais rien.

    Mais aussi j'ai dit que je ne comptais pas excellé dans ce domaine.

    Enfin de toute façons le sujet est résolu,l'utilisation de la fonction delay est une perte de temps je ne chercherais donc pas a la comprendre plus que ça.

    Encore merci pour votre aide.
    <<La détermination mène a la satisfaction>>

  15. #45
    invite03481543

    Re : Programmation en C, la fonction delay.

    terrdala, ce que tu dois comprendre est que "chercher" ne doit pas se résumer à glaner des infos sur le net.
    Il ne s'agit pas d'exceller mais d'apprendre à apprendre, c'est tout le contraire du net justement.
    Apprendre nécessite l'acquisition des bases et il n'est pas plus compliqué de prendre ce chemin que de suivre les sirènes qui te diront que tout est simple, en réalité ces solutions type arduino, flowcode et autres "solutions" pré-machés ne sont que des pièges d'apprentissage car ils te formatent et t'éloignent du concret d'un vrai apprentissage d'un langage structuré.

    Quand je te parles du fait que 'bit' n'est pas une variable native de C, ou que l'usage des interruptions est primordiale tu ne peux pas le découvrir tout seul et encore moins avec un système qui masque ce genre de mécanisme.
    Comprendre les rudiments d'un langage te permettra un jour d'évoluer vers d'autres langages qui ont beaucoup de points commun.
    Et programmer sans avoir la connaissance minimale du matériel embarqué dans un µC n'est pas une solution pertinente, comme toutes les 'solutions' qui inondent le milieu amateur.
    Les boites qui pondent ce genre de matériels font croire que leur solutions sont plus simples, en réalité c'est totalement faux, ce n'est qu'une pure illusion.
    Je te souhaite un jour de t'en rendre compte par toi même en tentant de bricoler une petite application avec un µC quelconque, en commençant par le début, tu verras que la satisfaction que tu en tireras sera bien supérieure, pour la simple raison que ce sera toi, ta tête, qui aura fait le nécessaire, pas un code enfoui dont tu ignoreras son contenu et qui lorsque ce genre de produit aura disparu te ramènera à la case départ puisque rien de ce que tu auras produit auparavant ne sera plus exploitable sur un autre µC...
    Etre hobbyste ne veut pas dire que tu n'es pas capable d'utiliser des méthodes normales, être hobbyste c'est être curieux donc de comprendre comment ça fonctionne et de l'exploiter pour faire ce que l'on veut, pas d'être esclave d'une boite noire.
    Un forum est fait pour ça, mettre en relation des gens expérimentés qui vous aideront à progresser et à apprendre, pas vous aider à vous enfoncer dans des concepts débiles.
    Décider d'apprendre c'est faire un choix entre un travail intellectuel ou la facilité, ce choix appartient à chacun, aujourd'hui tout est possible avec les moyens actuels, je trouve bien dommage d'aller dans la mauvaise direction pour de mauvaises raisons.
    Croire qu'on peut progresser sans efforts est un non sens.
    Vous apprendrez bien plus par l'échange et le transfert d'expériences que par la copie stérile d'inepties, encore faut-il le vouloir et ne pas se sous estimer.
    C'est à toi de voir au fond de toi ce que tu recherches vraiment, comprendre ou continuer à voir les choses de très loin?

  16. #46
    terrdala

    Re : Programmation en C, la fonction delay.

    Ben effectivement je cherche a comprendre.c'est bien pour ça que je ne me dirige pas du tous vers arduino et tu en a spécifier la raison.

    C'est juste que je voulais faire rapidement un système d'alarme car j'en ai besoin,c'est peut être a cause que j'en ai besoin rapidement que je cherche a allé trop vite et je le nie pas.

    Si je prend l'exemple des interruptions,j'ai prit le temps de comprendre plus en détails car je n'avais pas besoin d'un programme urgent qui les utilise.

    Quand je dit que je veut pas exceller dans ce domaine,c'est dans le sens ou je ne souhaite pas tous apprendre.Faire des programme de bases,contrôler des afficheur 7 segments ou des LCD et faire du PWM voila ce que je cherche a apprendre au maximum.Peut être aussi savoir lire des composant en analogique comme des potentiomètre ou des capteur.Tous celas pour éviter de faire de gros circuit avec des porte logique ect.

    C'est vraie que on fond je cherche faire tous tous de suite ce qui est pas la bonne solution.

    Donc voila un peut mes motivations.
    <<La détermination mène a la satisfaction>>

  17. #47
    katmai

    Re : Programmation en C, la fonction delay.

    Salut,

    Elle marche comment cette fonction delay? Une simple boucle "calibrée"?
    Comment est incrémentée ta variable seconde?

    Si c'est une boucle calibrée ça risque de pas être précis si tu te fait "flooder" par
    des interruptions (une interruption timer qui revient trop souvent ou un handler
    d'interruption trop long à exécuter par exemple).

    A+

    EDIT:

    Quand je dit que je veut pas exceller dans ce domaine,c'est dans le sens ou je ne souhaite pas tous apprendre.Faire des programme de bases,contrôler des afficheur 7 segments ou des LCD et faire du PWM voila ce que je cherche a apprendre au maximum.Peut être aussi savoir lire des composant en analogique comme des potentiomètre ou des capteur.
    Ça marche pour les petits programme ça.. Dès que tu as plusieurs capteurs ça peut très vite partir en vrille..
    Dernière modification par katmai ; 24/08/2015 à 07h19.

  18. #48
    terrdala

    Re : Programmation en C, la fonction delay.

    Salut,

    Citation Envoyé par katmai
    Elle marche comment cette fonction delay? Une simple boucle "calibrée"?
    Comment est incrémentée ta variable seconde?

    Si c'est une boucle calibrée ça risque de pas être précis si tu te fait "flooder" par
    des interruptions (une interruption timer qui revient trop souvent ou un handler
    d'interruption trop long à exécuter par exemple).
    La fonction delay est propre a microC je ne sais pas réellement comment elle est générer.Maintenant vu que j'utilise le Timer0 sa rentre surement en conflit du pourquoi quand je met delay_ms(50) ben j'ai pas 50ms mais 1 seconde.De toute manière je n'utiliserais plus cette fonction.

    Au sujet de la variable "seconde",le TMR0 incrémente une variable nommé "s" qui 3406 fois plus tard incrémente la variable "seconde".Quand "s" vaut 3406 alors "seconde++" et "s = 0".
    Dernière modification par terrdala ; 24/08/2015 à 08h09.
    <<La détermination mène a la satisfaction>>

  19. #49
    katmai

    Re : Programmation en C, la fonction delay.

    3406? Donc ton interruption intervient environ toute les 1/3406 seconde me semble t-il...
    Soit toute les 0.3ms. Donc tu as plus de 416 interruptions pendant ta fonction de délais.
    C'est pas énorme ça va dépendre de ta fonction de gestion de l'interruption du timer0...

    Si tu augmentes la période de ton timer tu devrais voir ton delay diminuer ou bien je me plante.

    Le plus simple c'est de faire une période ronde avec ton timer.. et de faire ta tempo 50ms et ta seconde sur les "ticks" de ton timer..

    A+

  20. #50
    terrdala

    Re : Programmation en C, la fonction delay.

    Maintenant je fait mieux,j'utilise le prescaler pour arrivé a temps donné que j'ai besoin plus facilement.Prescaler de 64 et je compte a partir de 99 sur le TMR0.

    Donc TMR0 = 99; (soit 157 de comptage).

    Ce qui donne (4Mhz/4)x(64x157) = 10048µs soit 10ms c'est assez précis pour moi x).
    <<La détermination mène a la satisfaction>>

Page 2 sur 2 PremièrePremière 2

Discussions similaires

  1. Réponses: 8
    Dernier message: 14/08/2015, 14h11
  2. Programmation fonction recursive scilab
    Par invitefeb30a8e dans le forum Programmation et langages, Algorithmique
    Réponses: 0
    Dernier message: 24/04/2011, 17h15
  3. programmation de la fonction d'autocorrélation
    Par spray_kim dans le forum Électronique
    Réponses: 4
    Dernier message: 30/04/2009, 18h37
  4. Scilab : fonction "delay" pour un retard pur ?
    Par invite1e8ad136 dans le forum Logiciel - Software - Open Source
    Réponses: 0
    Dernier message: 01/02/2009, 20h20
  5. fonction delay sous quartus II
    Par mokermann dans le forum Électronique
    Réponses: 4
    Dernier message: 11/06/2008, 17h21
Découvrez nos comparatifs produits sur l'informatique et les technologies.