1

Je possède une interruption qui tourne à 8192 hz mais je voudrais la transformer avec un algorithme à 5000 hz. Comment je doit faire?

Pour être plus général comment diminuer la vitesse d'une interruption en étant continue?
avatar
la Nature nous montre seulement la queue du lion. Mais je suis certain que le lion a qui elle appartient pense qu'il ne peut pas se révéler en une fois en raison de son immense taille.

- Fondateur de Ti-Gen -: http://www.tigen.org

- Membre du Groupe Orage Studio -: http://oragestudio.free.fr/

- Mon site perso -: http://tisofts.free.fr

Projets TI68K en cours:
GFA-Basic = http://www.tigen.org/gfabasic
Arkanoid.
PolySnd 3.0.

2

J'ai prossédé de cette façon:

counter++
if (counter==5000)
{
counter=0;
....
bloc de fonctions.
}

Mais on dirait que la fréquence de 8192 est divisé par 5000 dans ce cas alors j'i essayé aussi:

counter++;
if (counter<5000)
{
...
bloc de fonctions
}
else if (counter>8192) counter=0;

Mais dans ce cas l'interruption n'ai pas parfait, elle est saccadée.

Je ne voit pas comment faire. sad
avatar
la Nature nous montre seulement la queue du lion. Mais je suis certain que le lion a qui elle appartient pense qu'il ne peut pas se révéler en une fois en raison de son immense taille.

- Fondateur de Ti-Gen -: http://www.tigen.org

- Membre du Groupe Orage Studio -: http://oragestudio.free.fr/

- Mon site perso -: http://tisofts.free.fr

Projets TI68K en cours:
GFA-Basic = http://www.tigen.org/gfabasic
Arkanoid.
PolySnd 3.0.

3

mai nan mon jojo c normal ke sa marche pa tu fai vraimen nimporte koi
ala prochaine demande moi dabor
tuma pa lair trè balaise mai il fo bien de tou por faire un monde
heureusemen ke jsui la

4

en mm temps t vraiment pas utile toi

5

lol? Je te le demande ici.
avatar
la Nature nous montre seulement la queue du lion. Mais je suis certain que le lion a qui elle appartient pense qu'il ne peut pas se révéler en une fois en raison de son immense taille.

- Fondateur de Ti-Gen -: http://www.tigen.org

- Membre du Groupe Orage Studio -: http://oragestudio.free.fr/

- Mon site perso -: http://tisofts.free.fr

Projets TI68K en cours:
GFA-Basic = http://www.tigen.org/gfabasic
Arkanoid.
PolySnd 3.0.

6

geogeo a écrit :
Je possède une interruption qui tourne à 8192 hz mais je voudrais la transformer avec un algorithme à 5000 hz. Comment je doit faire?
Pour être plus général comment diminuer la vitesse d'une interruption en étant continue?

Tu utilises la même technique que pour les fréquences des notes.
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

7

olalalalalalalala, j'avais vraiment pas pensé à cette algo. sad
dehors
avatar
la Nature nous montre seulement la queue du lion. Mais je suis certain que le lion a qui elle appartient pense qu'il ne peut pas se révéler en une fois en raison de son immense taille.

- Fondateur de Ti-Gen -: http://www.tigen.org

- Membre du Groupe Orage Studio -: http://oragestudio.free.fr/

- Mon site perso -: http://tisofts.free.fr

Projets TI68K en cours:
GFA-Basic = http://www.tigen.org/gfabasic
Arkanoid.
PolySnd 3.0.

8

aten c a moi ketu parle obza ché pa koi

9

obza te parle oui, toi par contre je sais pas si ce que tu tape tiens du domaine des langages ...
*** Ne sous-estimez pas la puissance de la Marmotte ***
© Marmotte Team : LaMarmotte, sBibi, Vark & sabrina

10

grin
si au moins il y avait de la ponctuation
pasque ds ma langue une question finit en general par un pt d'interrogation

11

Mais qu'est-ce que tu fais encore ici?
Tu écris comme un porc, tu es prétentieux et vaniteux, de plus tu ne sais pas lire les réponses quand tu poses des questions, tu n'as décidément rien à faire ici, et tu reviens au moment où l'on pensait t'avoir enfin oublié!
C'est vraiment pour embêter le monde, ou tu es vraiment idiot?

PS: EBSmash.gif
avatar
Maintenant j'ai la flemme de garder une signature à jour sur ce site. Je n'ai même plus ma chaîne Exec sous la main.

12

Mon si j'écrit ça, est-ce que ça risque de fonctionner?
move.l d0,-(a7)
move.w #5000,d0
add.w d0,counter
neg.w d0
add.w #$8192,d0
cmp.w counter,d0
bcc Execute_fonction
move.l (a7)+,d0
sub.w #$8192,counter
bra done

Execute_fonction:
move.l (a7)+,d0
rts
done:
...
rts

Le complément à 2 de 5000 c'est bien 3192? Ca peut simplifier le code?
avatar
la Nature nous montre seulement la queue du lion. Mais je suis certain que le lion a qui elle appartient pense qu'il ne peut pas se révéler en une fois en raison de son immense taille.

- Fondateur de Ti-Gen -: http://www.tigen.org

- Membre du Groupe Orage Studio -: http://oragestudio.free.fr/

- Mon site perso -: http://tisofts.free.fr

Projets TI68K en cours:
GFA-Basic = http://www.tigen.org/gfabasic
Arkanoid.
PolySnd 3.0.

13

J'arrive pas à comprendre cette algo et je veux le comprendre:
Sauvegarde de d0
5000 dans d0
ajoute 5000 à counter
fait un not à d0
ajoute 33170 àd0 dans d0
comparaison avec counter et d0
si depasse 16 bits alors Execute_fonction
restaure d0
soustrait 33170 de counter
aller à done

Execute_fcontion
restaure d0
return to sub routine

done:
...
return to sub routine

Je voudrais savoir si cette routine comporte des erreurs que je pense quelle en a mais je ne vois pas.

Je ne voit pas pourquoi il faut faire un not de d0.
Je ne voit pas pourquoi ma fréquence de 8192 et traduite en hexa et donne donc 33170
avatar
la Nature nous montre seulement la queue du lion. Mais je suis certain que le lion a qui elle appartient pense qu'il ne peut pas se révéler en une fois en raison de son immense taille.

- Fondateur de Ti-Gen -: http://www.tigen.org

- Membre du Groupe Orage Studio -: http://oragestudio.free.fr/

- Mon site perso -: http://tisofts.free.fr

Projets TI68K en cours:
GFA-Basic = http://www.tigen.org/gfabasic
Arkanoid.
PolySnd 3.0.

14

Je n'y arrive pas, aidez moi please.
avatar
la Nature nous montre seulement la queue du lion. Mais je suis certain que le lion a qui elle appartient pense qu'il ne peut pas se révéler en une fois en raison de son immense taille.

- Fondateur de Ti-Gen -: http://www.tigen.org

- Membre du Groupe Orage Studio -: http://oragestudio.free.fr/

- Mon site perso -: http://tisofts.free.fr

Projets TI68K en cours:
GFA-Basic = http://www.tigen.org/gfabasic
Arkanoid.
PolySnd 3.0.

15

geogeo
a écrit : Mon si j'écrit ça, est-ce que ça risque de fonctionner?

Non. (Je ne comprends pas vraiment ton algorithme, mais il ne m'a pas du tout l'air correct.) Il faut faire le même calcul que pour les notes: 5000/8192*32768=20000. C'est ça l'incrément à utiliser, et pour le reste l'algorithme est le même que pour les notes:
1. On ajoute 20000 au compteur.
2. On regarde s'il a dépassé 32768-20000/2=22768.
3. Si oui, on déclenche la routine qui doit tourner tous les 50000 Hz et on retire 32768.
Ça donnera quelque chose du style:
 pea.l (a0)
 lea.l counter(PC),a0
 addi.w #20000,(a0)
 cmpi.w #22768,(a0)
 bls.s skip
 subi.w #32768,(a0)
 movem.l d0-d2/a1,-(a7)
 movea.l timer_5000Hz(PC),a0
 jsr (a0)
 movem.l (a7)+,d0-d2/a1
skip:
 movea.l (a7)+,a0
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

16

je n'avais pas penser faire ça, ce genre d'algo à l'air très banal mais il est vraiment utile.
Merci kevin. smile
avatar
la Nature nous montre seulement la queue du lion. Mais je suis certain que le lion a qui elle appartient pense qu'il ne peut pas se révéler en une fois en raison de son immense taille.

- Fondateur de Ti-Gen -: http://www.tigen.org

- Membre du Groupe Orage Studio -: http://oragestudio.free.fr/

- Mon site perso -: http://tisofts.free.fr

Projets TI68K en cours:
GFA-Basic = http://www.tigen.org/gfabasic
Arkanoid.
PolySnd 3.0.