π
<-
Chat plein-écran
[^]

[C] metre en delay ?

C, C++, ASM...

[C] metre en delay ?

Message non lude lincoln » 18 Sep 2010, 11:07

Bonjour bonjour !

je suis un petit nouveau ^^
aussi bien dans le monde TI que en C ...

comme dit dans le titre , existe t'il une fonction delay sur nspire en c ?
visiblement non ... (ou alors , je suis pas doué...)
je me forme grâce au site du zero ; d’après eux ,il faut installer la bibliothèque sdl ...
seulement voila , j'ai pas tout très bien compris comment je fais pour l'utiliser avec ma calculatrice...

vous allez me demander mais pourquoi veux tu utiliser cette fonction ?
bain (pas trop tiède) je veux pouvoir déplacer une pixel.
Par exemple , j'appuis a gauche , ma pixel va a gauche.
seulement ,si je met pas de delay , je me retrouve avec la moitier de l’écran noir , la boucle s'effectue trop vite...

j'avais un peux tricher avec un for , mais je peux deplacer ma pixel que d'un cran du coup :D: (bon en faite , j'en fait apparaître une a coter de l'autre ...)

 
Show/Hide spoilerAfficher/Masquer le spoiler
Code: Tout sélectionner
#include os.h
#include common.h
#include "utils.h"

asm(".string "PRG"n");

int main(void)
{
  int x, i;


clearScreen();
setPixel(x, 160, 0x0);
while(!isKeyPressed(KEY_NSPIRE_ESC))
{
x=120;
for(i=0;i1;i++)
{
if isKeyPressed(KEY_NSPIRE_LEFT)
x=x-1;
setPixel(x, 160, 0x0);
}
}



  return 0;
}


bon je rappelle que j'ai apris a programmer hier soir ... :D:

merci d'avance de vos reponse !

EDIT :
bon j'ai quand même essailler avec la sdl...


 
Show/Hide spoilerAfficher/Masquer le spoiler
Code: Tout sélectionner
#include os.h
#include common.h
#include "utils.h"
#include SDL/SDL.h

asm(".string "PRG"n");

int main(void)
{
  int x, i;


clearScreen();
setPixel(x, 160, 0x0);
x=120;
while(!isKeyPressed(KEY_NSPIRE_ESC))
{
if isKeyPressed(KEY_NSPIRE_LEFT)
x=x-1;
setPixel(x, 160, 0x0);
SDL_Delay(200);
}
}



  return 0;
}


msys me dit :

Image

Uploaded with ImageShack.us
Avatar de l’utilisateur
lincoln
Niveau 2: MI2 (Membre Initié)
Niveau 2: MI2 (Membre Initié)
Prochain niv.: 40%
 
Messages: 6
Inscription: 18 Sep 2010, 00:00
Genre: Homme
Calculatrice(s):
MyCalcs profile
Classe: TS SI €

Re: [C] metre en delay ?

Message non lude schtroumpf » 18 Sep 2010, 11:40

Il me semble qu'il n'existe pas ces bibliotéques pour Nspire ! Enfin AdriWeb en posséde une remanier je crois donc non pas de delay sans la bibliothéque
Un schtroumpf peut en cacher un autre !
Avatar de l’utilisateur
schtroumpf
Niveau 9: IC (Compteur Infatigable)
Niveau 9: IC (Compteur Infatigable)
Prochain niv.: 5.9%
 
Messages: 250
Inscription: 05 Avr 2010, 00:00
Genre: Homme
Calculatrice(s):
MyCalcs profile
Classe: 1ereS

Re: [C] metre en delay ?

Message non lude lincoln » 18 Sep 2010, 11:51

raaah...
qu'entant tu par "adriweb en possède une remanier" ?
autrement , n'y a t'il pas un moyen de contourner le problème ? si non , l’émulateur gb n'aurait jamais peu exister !
Avatar de l’utilisateur
lincoln
Niveau 2: MI2 (Membre Initié)
Niveau 2: MI2 (Membre Initié)
Prochain niv.: 40%
 
Messages: 6
Inscription: 18 Sep 2010, 00:00
Genre: Homme
Calculatrice(s):
MyCalcs profile
Classe: TS SI €

Re: [C] metre en delay ?

Message non lude Levak » 18 Sep 2010, 11:54

Il y a un timer avec la RTC de la Nspire, mais.... il compte en secondes !!! (et pas en micro-secondes !). Donc de ce coté, quand il s'agit de faire un délay court, le plus simple est, je pense, de faire une boucle for mais avec une valeur finale immense.

par exemple, une boucle qui me permet de ralentir l'éxécution système, donc de surcharger le processeur serait comme cela :


volatile i;
for(i=0;i50000;i++){}; // Delay entre chaque mouvement.


Pour la RTC : http://hackspire.unsads.com/wiki/index. ... _.28RTC.29
Responsable design/graphique de TI-Planet
I do not get mad at people, I just want them to learn the way I learnt.
ImageTNOC [topic][DL]
nClock [topic][DL]
HideManager [topic][DL]
ZLock [topic][DL]
Theme Editor [topic][DL]
Mes programmes
Avatar de l’utilisateur
LevakAdmin
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Prochain niv.: 98.9%
 
Messages: 6414
Images: 22
Inscription: 27 Nov 2008, 00:00
Localisation: 0x1AACC355
Genre: Homme
Calculatrice(s):
MyCalcs profile
Classe: BAC+5: Epita (ING3)

Re: [C] metre en delay ?

Message non lude lincoln » 18 Sep 2010, 11:56

hum.. je vais essayer ^^
enfin, en ce qui me concerne , une seconde , sa pourrait ne pas être trop gênant ... c pour un paint ^^ (faut bien commencer par quelque chose...)
Avatar de l’utilisateur
lincoln
Niveau 2: MI2 (Membre Initié)
Niveau 2: MI2 (Membre Initié)
Prochain niv.: 40%
 
Messages: 6
Inscription: 18 Sep 2010, 00:00
Genre: Homme
Calculatrice(s):
MyCalcs profile
Classe: TS SI €

Re: [C] metre en delay ?

Message non lude Lionel Debroux » 18 Sep 2010, 12:17

Il n'y a pas encore vraiment de librairie graphique, SDL ou autres, pour la Nspire.
Membre de la TI-Chess Team.
Co-mainteneur de GCC4TI (documentation en ligne de GCC4TI), TIEmu et TILP.
Avatar de l’utilisateur
Lionel DebrouxSuper Modo
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Prochain niv.: 11.2%
 
Messages: 6859
Inscription: 23 Déc 2009, 00:00
Localisation: France
Genre: Homme
Calculatrice(s):
MyCalcs profile
Classe: -
GitHub: debrouxl

Re: [C] metre en delay ?

Message non lude lincoln » 18 Sep 2010, 12:25

dommage ... m'enfin ,tout en set pixel ^^
par contre , moi yen a etre pas tres fu fut ... moi yen a rien blairer au RCT ...
comment l'utiliser en c ? (simplement...)
Avatar de l’utilisateur
lincoln
Niveau 2: MI2 (Membre Initié)
Niveau 2: MI2 (Membre Initié)
Prochain niv.: 40%
 
Messages: 6
Inscription: 18 Sep 2010, 00:00
Genre: Homme
Calculatrice(s):
MyCalcs profile
Classe: TS SI €

Re: [C] metre en delay ?

Message non lude Levak » 18 Sep 2010, 12:30

Un autre sujet plus général avait déjà été posté, une (petite) recherche dans les divers salons de la catégorie Nspire t'aurais aidé à trouver ça :

http://tibank.forumactif.com/aide-debut ... -t5983.htm
Responsable design/graphique de TI-Planet
I do not get mad at people, I just want them to learn the way I learnt.
ImageTNOC [topic][DL]
nClock [topic][DL]
HideManager [topic][DL]
ZLock [topic][DL]
Theme Editor [topic][DL]
Mes programmes
Avatar de l’utilisateur
LevakAdmin
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Prochain niv.: 98.9%
 
Messages: 6414
Images: 22
Inscription: 27 Nov 2008, 00:00
Localisation: 0x1AACC355
Genre: Homme
Calculatrice(s):
MyCalcs profile
Classe: BAC+5: Epita (ING3)

Re: [C] metre en delay ?

Message non lude lincoln » 19 Sep 2010, 10:52

finalement , sa marche bien (et je peux régler la vitesse) juste avec une boucle ^^ (bon c'est un truc de barbare , mais sa marche !)

Code: Tout sélectionner
if isKeyPressed(KEY_NSPIRE_LEFT)
x=x-1;
setPixel(x, 160, 0x0);
volatile i;
for(i=0;i50000;i++){};   // Delay entre chaque mouvement.
for(i=0;i50000;i++){};   // Delay entre chaque mouvement.
for(i=0;i50000;i++){};   // Delay entre chaque mouvement.
for(i=0;i50000;i++){};   // Delay entre chaque mouvement.
for(i=0;i50000;i++){};   // Delay entre chaque mouvement.
for(i=0;i50000;i++){};   // Delay entre chaque mouvement.
for(i=0;i50000;i++){};   // Delay entre chaque mouvement.
for(i=0;i50000;i++){};   // Delay entre chaque mouvement.
for(i=0;i50000;i++){};   // Delay entre chaque mouvement.
for(i=0;i50000;i++){};   // Delay entre chaque mouvement.
for(i=0;i50000;i++){};   // Delay entre chaque mouvement.
for(i=0;i50000;i++){};   // Delay entre chaque mouvement.
x=x+1;
setPixel(x, 160, 0xF);
x=x-1;
Avatar de l’utilisateur
lincoln
Niveau 2: MI2 (Membre Initié)
Niveau 2: MI2 (Membre Initié)
Prochain niv.: 40%
 
Messages: 6
Inscription: 18 Sep 2010, 00:00
Genre: Homme
Calculatrice(s):
MyCalcs profile
Classe: TS SI €

Re: [C] metre en delay ?

Message non lude Levak » 19 Sep 2010, 11:10

Tu peux me dire pourquoi tu copies 10 fois la boucle au lieu de changer la valeur finale ??? (genre rajouter un 0 quoi)



Sinon, je n'ai pas encore testé, mais en analysant le programme de Lego ici, j'ai trouvé une fonction qui "serait" sensé créer un timer en milli-secondes.


static inline void idle(void) {
unsigned int sbz = 0;
asm volatile ("mcr p15, 0, %0, c7, c0, 4" : "=r"(sbz) );
}


int sleep(int ms) {
*(volatile unsigned*) 0x900C0004 = 22;
*(volatile unsigned*) 0x900C0000 = ms;
while (*(volatile unsigned*) 0x900C0000 0) {
idle();
}
}


et son utilisation :

sleep(120);
Responsable design/graphique de TI-Planet
I do not get mad at people, I just want them to learn the way I learnt.
ImageTNOC [topic][DL]
nClock [topic][DL]
HideManager [topic][DL]
ZLock [topic][DL]
Theme Editor [topic][DL]
Mes programmes
Avatar de l’utilisateur
LevakAdmin
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Prochain niv.: 98.9%
 
Messages: 6414
Images: 22
Inscription: 27 Nov 2008, 00:00
Localisation: 0x1AACC355
Genre: Homme
Calculatrice(s):
MyCalcs profile
Classe: BAC+5: Epita (ING3)

Suivante

Retourner vers Native: Ndless, Linux, ...

Qui est en ligne

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

-
Rechercher
-
Social TI-Planet
-
Sujets à la une
Comparaisons des meilleurs prix pour acheter sa calculatrice !
Aidez la communauté à documenter les révisions matérielles en listant vos calculatrices graphiques !
Phi NumWorks jailbreak
123
-
Faire un don / Premium
Pour plus de concours, de lots, de tests, nous aider à payer le serveur et les domaines...
Faire un don
Découvrez les avantages d'un compte donateur !
JoinRejoignez the donors and/or premium!les donateurs et/ou premium !


Partenaires et pub
Notre partenaire Jarrety Calculatrices à acheter chez Calcuso
-
Stats.
1574 utilisateurs:
>1545 invités
>24 membres
>5 robots
Record simultané (sur 6 mois):
6892 utilisateurs (le 07/06/2017)
-
Autres sites intéressants
Texas Instruments Education
Global | France
 (English / Français)
Banque de programmes TI
ticalc.org
 (English)
La communauté TI-82
tout82.free.fr
 (Français)