placer un tableau dans un pic 16F628 - Page 3
Répondre à la discussion
Page 3 sur 4 PremièrePremière 3 DernièreDernière
Affichage des résultats 61 à 90 sur 105

placer un tableau dans un pic 16F628



  1. #61
    invitef26bdcba

    Re : placer un tableau dans un pic 16F628


    ------

    Moi ce qui me gene dans tout cela si tu parles de PIC et de banque à un personne X ou Y elle va vite voir de quoi tu causes ,c'est cela la visibilite du code et si je me trompe pas pour toi c'etait important voir nos post précedents maintenant tu appels cela comme tu veux lili lolo page livre comme tu veux rien a ....
    Moi ce qui me gêne, c'est cette affirmation qui est fausse (c'est à cela que je reponds depuis quatre posts et que tu continues à ignorer) :
    <<Comme évite utiliser le mot page c'est pas une page c'est une banque le mot page s'applique au registre IRP

    Car "page" s'applique aussi bien pour parler des BANK du µC que des adresses en Flash pour PCLATH et IRP...
    Tandis que banque est une analogie facile de l'anglais vers le français qui ne s'applique que pour parler des pages/tableau de la RAM du µC...
    D'ailleurs, si tu ouvres le datasheet d'une EEPROM, on ne parle pas de banques mais bien de pages pour les emplacements EEPROM. Et pourtant, dans les deux cas(pour la RAM PIC et l'EEPROM) on parle bien de la même "chose".

    Pour le reste, j'ai donné la réponse au dernier problème de Azerw...

    David.

    -----

  2. #62
    invite_P89
    Invité

    Re : placer un tableau dans un pic 16F628

    Citation Envoyé par DavidDB Voir le message

    Pour le reste, j'ai donné la réponse au dernier problème de Azerw...

    David.
    Moi aussi j'avais donné la reponse avant toi tu ne fais que repeter ce que je dis a quoi tu joues je n'ais pas fait de remarque la toi oui pas sympa tout cela
    la reponse que tu veux page 13 du datasheet du 16F877

  3. #63
    invite5396f733

    Re : placer un tableau dans un pic 16F628

    salut,

    Je suis bien d'accord avec toi .
    De ce fait comment est-ce possible ?

    Question :
    Hypothèse ----> adresse equ 0x028

    pour lire cette variable en bank 1, si je te comprend bien il faut que j'accède à la page 0 pour lire "adresse" ??
    Le fait d'écrire
    a) movf adresse,0 ou b) movf 0x028,0
    accède directement à cette page non ?

    Arzew

  4. #64
    invite5396f733

    Re : placer un tableau dans un pic 16F628

    bonjour,

    David dit :
    il faut soit utiliser les emplacements RAM de la page 1 ou utiliser la zone commune de 0X70 à 0X7F (ou alors accéder à la page0 pour "adresse" dans ton programme)

    David.


    Pourquoi préciser la bank dans laquelle se trouve la variable ?
    Hypothèse : adresse equ 0x028

    Le fait d'écrire movf adresse,0 ou movf 0x028,0 fait lire la variable !
    Qu'elle soit à 0x028 ou 0x0A0 (pas besoin de préciser où la lire par le programme !)

    Arzew

  5. #65
    invitef26bdcba

    Re : placer un tableau dans un pic 16F628

    Salut,

    Tu ne comprends pas comment fonctionnent des BANK du pic...

    Un exemple :

    Si Ma_variable EQU 0X028 :
    Si BANK 0 tu pointes sur l'adresse 0X020 + 0X08 = 0X028 donc bien sur Ma_variable
    Si BANK 1 tu pointes sur l'adresse 0X0A0 + 0X08 = 0XA8 donc ailleurs que sur Ma_variable vu que GENERAL RAM
    Si BANK 2 tu pointes sur ladresse 0X120 + 0X08 = 0X128 donc ailleurs que sur Ma_variable vu que GENERAL RAM

    Si maintenant Ma_variable EQU 0X70 :
    Si BANK 0 tu pointes sur l'adresse 0X020 + 0X50 = 0X070 donc bien sur Ma_variable
    Si BANK 1 tu pointes sur l'adresse 0X0A0 + 0X50 = 0X0F0 donc bien sur Ma_variable vu que ACCES RAM
    Si BANK 2 tu pointes sur l'adresse 0X120 + 0X50 = 0X170 donc bien sur Ma_variable vu que ACCES RAM

    Ouvre le datasheet du 16F628 figure 4-2 "Data memory map" page 16 pour comprendre...

    Ce post, ne fait qu'une fois de plus répéter ce que je dis depuis pas mal de temps, et donc, j'arrête là...

    Au final :
    il faut soit utiliser les emplacements RAM de la page 1 ou utiliser la zone commune de 0X70 à 0X7F (ou alors accéder à la page0 pour "adresse" dans ton programme)

    David.

  6. #66
    invite5396f733

    Re : placer un tableau dans un pic 16F628

    bonsoir,

    Je suis désolé de te faire répéter ces explications mais si tu les a déjà dites pourrais-tu les référencer afin d'y accéder !

    Cordialement

    Arzew

  7. #67
    invitef26bdcba

    Re : placer un tableau dans un pic 16F628

    Salut,

    Regarde : post 47, post 51, post 54 ainsi que 65 de ce fil...

    David.

  8. #68
    invite_P89
    Invité

    Re : placer un tableau dans un pic 16F628

    lu

    arzew
    Lors d'une post je te demande si tu déclares tes variables pourquoi?

    Parce que si tu as bien regardé le datasheet dans ta RAM
    il y a des trous

    exemples:
    de 7FH à A0H,dans ces trous tu trouves certains registres de ton pic et pour te positionner de nouveau sur la RAM c'est les deux bits RP0 et RP1 (BANK)qui font cela.

    donc tu peux déclarer

    toto EQU 0X28 ;adresse Ram bank0
    toto1 EQU 0XA0 ;adresse Ram bank1
    toto2 EQU 0x70 ;adresse Ram bank0,bank1,bank2,bank3

    Dans ton prog si tu fais

    bank0 ;tu es en banque0 rp0 et rp1=0 pointe RAM 20h

    movwf toto ;toto contiendras le contenu de W car banque0
    movwf toto1 ;toto1 ne contiendras pas le contenu de W car banque1
    movwf toto2 ;toto2 contiendras le contenu de W car toute les banques

    bank1 ;tu es en banque1 rp0=0 rp1=1 pointe RAM A0h


    movwf toto ;toto ne contiendras le contenu de W car banque0
    movwf toto1 ;toto1 contiendras pas le contenu de W car banque1
    movwf toto2 ;toto contiendras le contenu de W car toute les banques

    d'ou l'interet de déclarer ses variables en début de prog

    a bientôt

  9. #69
    invite_P89
    Invité

    Re : placer un tableau dans un pic 16F628

    Attention pour effacer en debut de programme ta RAM bien tenir compte aussi de la RAM banque1,banque2,banque3
    a mon avis pour la RAM utiliser de 0X70 a 0X7F
    si plus de RAM utile banque0 car apres rest banque0

  10. #70
    invite_P89
    Invité

    Re : placer un tableau dans un pic 16F628

    mille excuses fait un copie coller
    la dernier ligne de toto1 est bien sur contiendra la valeur de W

  11. #71
    invite_P89
    Invité

    Re : placer un tableau dans un pic 16F628

    Peut etre une autre approche
    les instructions sont codées sur 7 bits exemple MOVWF donc on ne peut se positionner que 128 positions de RAM pour pouvoir adresser toute la ram il nous faut 9 bits ces 2 bits sont RP0 ET RP1

    la RAM est donc organisée en 4 BANKs de 128 octets donc si tu veux lire une position A0H il faut d'abord positionner RP0=0 et RP1=1 banque1
    puis utiliser l'instruction sur 7 bits MOVWF
    je ne sais pas si cela peut d'aider

  12. #72
    invite_P89
    Invité

    Re : placer un tableau dans un pic 16F628

    les instruction pour les PIC se font sur 14 BITS sur ses 14 BITS 7 BITS sont pour l'adresse

  13. #73
    invite5396f733

    Re : placer un tableau dans un pic 16F628

    bonjour,

    tout d'abord merci pour tes références David

    Pour Pom26, merci de ton contact, j'ai pas tout lu tes posts mais je m'y mets tout à l'heure, en ce moment grosse indisponibilité.
    J'ai l'impression de ne pas avancer ...

    à toute à l'heure et bon appétit

    Arzew

  14. #74
    invite5396f733

    Re : placer un tableau dans un pic 16F628

    re Pom26,

    encore merci pour ton aide ...
    Je suis étonné du temps que tu passes à m'expliquer cette chose là.
    L'autodidacte que je suis à parfois bien du mal à faire comprendre que l'on n'est pas aussi calé que certains.
    C'est vrai, à force de dire et redire les choses cela peut paraître énervant.
    C'est parfois dur d'apprendre sur le net ; paradoxe de cette ouverture au monde!

    Bien, revenons à tes explications :

    je déclare bien mes variables en début de programme selon la procédure de Bigonoff.
    Pour ma part, avec tes explications et quelques essais sur MPLAB je commence à comprendre le fonctionnement de cette RAM.

    Dis-moi si je me trompe !

    exemple 1 :
    toto0 equ 0x070
    toto1 equ 0x0F0
    toto2 equ 0x170
    toto3 equ 0x1F0


    Comme le dit la notice (implantées en ram commune) et sans préciser la Bank de travail, si on change de valeur une des 4 variables, le changement se porte
    sur les 4 à la fois (sans utilité mais pour contrôle!) .


    exemple 2 :
    toto0 equ 0x070
    toto1 equ 0x0F1
    toto2 equ 0x172
    toto3 equ 0x1F3


    commande indépendantes des variables sans préciser la Bank de travail.


    exemple 3 :
    toto0 equ 0x020
    toto1 equ 0x0A0
    toto2 equ 0x120
    toto3 equ 0x1F0


    quelque soit la bank on a accès (sans devoir en changer) à la RAM commune
    lignes 0x070/0x07F - 0x0F0/0x0FF - 0x170/0x17F - 0x1F0/0x1FF


    Jusqu'à présent je ne me souciais pas de ce genre de fait car, automatiquement et sans m'en apperçevoir
    le programme était sur Bank0 (après l'initialisation du PIC) et que mes programmes ne contenaient pas plus de 96 variables.

    En conclusion merci pour ta peine et ta patience.

    Cordialement

    Arzew

  15. #75
    invite_P89
    Invité

    Re : placer un tableau dans un pic 16F628

    LU
    avec MPLAB tu vois trés bien les differentes ram entre coupé des registres.
    Ce que tu pratiques pour les registres tu le fais pour la memoire RAM
    car les registres sont de la mémoire RAM.

    La mémoire RAM en position 0X70 c'est comme le registre PCL tu le retrouves sur les quatres banques
    la mémoire 0X20 c'est comme le registre EEdata tu le trouves que sur
    une banque.
    C'est comme si tu regardes de prés la commande MOVWF dans la piece jointe page 6 je crois elle se code 00 00001 XXXXXXX
    00 00001 c'est le code XXXXXXX c'est adresse en position RAM

    pour taper adresse 20H movWF 0X20 ce qui donne 00 00001 0100000
    pour taper adresse A0h movWF 0XA0 ce qui donne 00 00001 0100000
    donc la meme chose
    mais il faut être en banque 1 si non tu tapes pas l'adresse 0AH mais 20H
    si tu restes en banque0

    dit moi si TU as OK

  16. #76
    invite5396f733

    Re : placer un tableau dans un pic 16F628

    c'est sûr qu'expliquer comme ça c'est une autre solution de comprèhension .
    Je n'aurai pas trouvé cela seul !

    nota : 0000001 0100000 représente donc une instruction muni d'une adresse.

    0000001 représente l'instruction "MOVWL" ?
    0100000 représente l'adresse ?

    Arzew

  17. #77
    invite_P89
    Invité

    Re : placer un tableau dans un pic 16F628

    Lu
    Tu sais maintenant rèpondre à ton probleme de:
    movf adresse,0

    Pour les zones commune c'est bien sur à la charge du PIC de recopier 2,3,4 fois les données dans les diffèrentes banques à lui aussi de reconstituer l'adresse toi tu ne geres que les banques.

    c'est le fonctionnement de adressage mode DIRECT de la RAM pour PIC 8 bits.

    Si tu veux bien on peut aller voir le mode INDIRECT avec le registre FSR son pointeur INDF et son bit IRP

    La aussi va se poser un probléme pour gérer des espaces mémoires plus grande que la capacite de FSR qui est limité a ses 256 positions donc ici on fait pareil le PIC à recours à un bit IRP qui suivant comme TOI tu le positionne te permet un accès au page 0 et page 1

    En page0 IRP=0 TU peux faire de l'adressage indirecte de la Position
    RAM 00h à 0FFh

    En page1 IRP=1 Tu peux faire de l'adressage indirecte de la position
    RAM 100h à 1FFH

    Ce probléme tu le rencontres si tu utilises beaucoup de RAM mais il faut le savoir car si non ton programme plante

    il y a encore une petit explication si un jour tu as de trés gros programme
    mais avant dit moi si OK pour l'adressage indirect

  18. #78
    invite5396f733

    Re : placer un tableau dans un pic 16F628

    impossible de répondre à ton message jusqu'à présent !

    Je pense avoir compris le mode d'adressage de la RAM des variables .
    Le plus difficile en mode d'adressage indirect c'est que 4 pages; les 2° de 0 à 255 les 2 suivantes de 256 à 511.
    Si je veux manipuler une variable à l'adresse 120h, en adressage indirect, il faut aller en bank2 ---> IRP de STATUS égale à 1 et adresser 4Fh ... contrôlé par MPLAB.

    Et si je veux faire la même chose pour la mémoire programme ?
    J'ai lu qu'il faut manipuler PCLATH (5 bits) et PCL (8 bits) .
    Je suppose qu'il y a aussi des pages de 127 octets de 0 à 0x7FF.
    Les pages sont-elles admissibles par PCLATH ?

    QUESTION: je veux pointer en mémoire programme à l'adresse 0x600

    Cordialement

    Arzew

  19. #79
    invite_P89
    Invité

    Re : placer un tableau dans un pic 16F628

    LU
    En mode indirect OUI c'est cela il y 512 de RAM donc que 2 pages que tu manip avec IRP de status .

    Pour EEPROM prog c'est un peu different
    sur le 16F877 il y a 8K de EEPROM je ne sais plus sur le 16F628
    Pour le 16F84 rien a voir ici.

    Tu le geres avec PCL ET PCLATH
    PCL 8 BITS
    PCLATH 5 BITS

    le pic gere sur 11 bits donc le 3 premier bits de pclath cela te fait 2048 Lignes de code donc deja gros programme mais tu peux en avoir plus dans ce cas c'est a toi de gerer les deux autres bits 3 ET 4 de pclath
    pour le 877 4 pages tu dois gerer ses pages lors de call return et goto
    La page0 ton code va de 05H avant il ya INT à 07FFH (2048).
    c'est a savoir si tu geres de gros programme.


    c'est un peu comme le segment code near et far pour le 286 et la suite pour la gestion de la ram du PC

    as tu OK?
    à bientôt

  20. #80
    invite_P89
    Invité

    Re : placer un tableau dans un pic 16F628

    pour faire un saut tu peux faire ex:

    movlW 0X2
    movwf pclath
    movlw 0X1
    movwf pcl

    et ton pointeur Programme est a l'adresse 0X201 c'est comme un goto

    tu peux aussi faire de L'adressage relatif ex:
    addwf pcl,f

    a bientôt

  21. #81
    invite5396f733

    Re : placer un tableau dans un pic 16F628

    bonjour Pom26,

    Ok pour tes explications de pointage à une adresse autre que la page 0
    Par contre je n'ai pas trouvé comment faire pour revenir à l'adresse d'appel d'origine.
    Je m'explique :

    Je suis à l'adresse 0x0E6 (page 0 à la ligne 230).
    De cette ligne là j'appelle la ligne 600 (page 6 ligne 0)
    Je vais chercher le premier caractère d'un mot de 3 chiffres (ex: MOI)

    0x0E1 ecrire_MOT1 movf 6,0
    movwf PCLATH ; page 6
    movlw 0
    0x0E6 movwf PCL ; ligne 0
    0x0E7 movwf INSCAR ; afficher INSCAR sur LCD



    0x600 MOT1 ADDWF PCL, 1
    DT "MOI",0

    le caractère "M" se retrouve bien le registre de travail w mais je n'arrive pas à trouver le moyen de revenir à l'adresse 0x0E7.

    Cordialement

  22. #82
    invite5396f733

    Re : placer un tableau dans un pic 16F628

    bonjour Pom26,

    je recommence la mise en page ... plus compréhensible comme ça

    Ok pour tes explications de pointage à une adresse autre que la page 0
    Par contre je n'ai pas trouvé comment faire pour revenir à l'adresse d'appel d'origine.
    Je m'explique :

    Je suis à l'adresse 0x0E6 (page 0 à la ligne 230).
    De cette ligne là j'appelle la ligne 600 (page 6 ligne 0)
    Je vais chercher le premier caractère d'un mot de 3 chiffres (ex: MOI)

    0x0E1 ecrire_MOT1
    movf 6,0
    movwf PCLATH ; page 6
    movlw 0
    0x0E6 movwf PCL ; ligne 0
    0x0E7 movwf INSCAR ; afficher INSCAR sur LCD



    0x600 MOT ADDWF PCL, 1
    DT "MOI",0
    le caractère "M" se retrouve bien le registre de travail w mais je n'arrive pas à trouver le moyen de revenir à l'adresse 0x0E7.

    Cordialement

  23. #83
    invite_P89
    Invité

    Re : placer un tableau dans un pic 16F628

    LU

    ATTENTION La ligne code 600H ne sera pas en page six puisque la page2 commence à la ligne code 800H

    Pour LE RETOUR

    RETLW DT 'M',0
    RETLW DT 'O',0
    RETLW DT 'I',0

    Tu peux ainsi gerer un tableau avec un saut relatif (addwf,pcl)
    a bientot

  24. #84
    invite5396f733

    Re : placer un tableau dans un pic 16F628

    oui, pourquoi page 6 ?
    c'est bien la page 2 (512 à 1024)

    Par contre au retour de la lecture du "M" je ne me branche pas à

    0x0E7 movwf INSCAR ; afficher INSCAR sur LCD


    à +

  25. #85
    invite_P89
    Invité

    Re : placer un tableau dans un pic 16F628

    non je crois qu'il y a confusion

    Pour faire de l' adressage indirect (addwf,pcl) il faut faire appel a un call puis retlw.TU peux utiliser cette adressage pour allez recuperer dans une table une donnée

    Si pour lire une donnnée (lecture menu) tu utilises les Idées des posts précedent sauf pour le 16F84

    Si tu utilises PCL PCLATH c'est pour le pointeur de programme si ton code dépasse 2048 lignes code pour aller sur l'autre page de TON EEPROM PROGRAMME

    as tu OK

  26. #86
    invite_P89
    Invité

    Re : placer un tableau dans un pic 16F628

    pour le 3 eme propos
    je vais prendre le cas d'un goto
    goto se code 10 1yyy XXXXXXXX
    Y =pclath
    X =pcl
    Yet X son adresse du goto

    si tu fais goto 2050 ;ligne code 2050
    il se code 10 1000 00000010
    tu vas aller à la ligne code 2 pas 2050
    pour eviter ce probléme tu dois prendre en charge les bits 3 et 4 de pclath
    dans notre cas tu dois mettre bit3=1 bit4=0 tu seras donc en page 2 de Ton EEprom
    et la tu iras bien à la ligne code 2050
    mais comme tu vois c'est un bon programme déja
    as tu ok

  27. #87
    invite5396f733

    Re : placer un tableau dans un pic 16F628

    Bonsoir Pom26, eh oui encore moi

    tu dis:
    "ATTENTION La ligne code 600H ne sera pas en page six puisque la page2 commence à la ligne code 800H"

    si je comprend ce que tu dis, alors il y a page1 de 0 à 03FFh
    et page2 de 0400h à 0700h ou bien qu'une seule et unique page de
    0 à 07FFh (puisque adressée sur 11 bits !)

    Déjà là ... pas clair !

    Si on tranche la 2EPROM PROGRAMME en parties égales à 256 lignes
    on aura 0x100, 0x200, 0x300, 0x400, 0x500, 0x600, 0x700, 0x800.
    PCLATH permet de se brancher à toutes ces tranches ?
    Dans chaque tranche de 256 lignes on se déplacera avec PCL (comme adressée sur 8bits)?

    Dans mon programme,si je veux aller à l'adresse 0x600 je suis obligé
    de faire PCLATH = 6 .
    De ce fait si PCL = 0 je branche sur 0x600 ?
    si PCL = 255 je branche sur 0x6FF ?
    Mais c'est pour revenir à l'adresse de mon appel 0x0E6 que butte .

    Mon programme:

    0x0E1
    ecrire_MOT1 movf 6,0
    movwf PCLATH
    movlw 0
    0x0E6 movwf PCL ; ligne 0
    0x0E7 movwf INSCAR ; afficher INSCAR sur LCD

    ORG 0x600
    0x600 MOT ADDWF PCL, 1
    DT "MOI",0

    au fait dans RETLW DT 'M',0 le ,0 n'est pas valable

  28. #88
    invite_P89
    Invité

    Re : placer un tableau dans un pic 16F628

    Voit mon dernier post

    faire un CALL et
    exact pour :
    RETLW DT "M" désolé

    ADDWF PCL,1 retourne une donnée en fonction de W pour cela trés bien pour allez checher dans table UNE donnée.

    C'est si je me souviens bien,la méthode utilisé par le 16F84,pour aller lire en EEPROM.

    Pour les pages code,
    oui 11 bits
    regarde lorsque tu fais un GOTO.

    voici les pages

    page0 de 05H A 07FFH donc 600H est en PAGE0
    page1 de 800H A 0FFFH
    page2 de 1000H A 17FFH
    page3 de 1800H A 1FFFH

    cela te fait le 8 Koctets de l'eeprom si tu as 8k bien sur.

    Pourquoi veux tu utiliser la procédure PCL,PCLATH,pour récupérer des données,ce n'est pas une bonne méthode,trop long (positionner sur adresse, récupération donnée, se repositionner sur adresse anterieur +1) c'est vraiment trop long.

    Pcl et pclath c'est pour la gestion des pages EEPROM.

    Tu travail sur un 16F84 ???

  29. #89
    invite2562e666

    Re : placer un tableau dans un pic 16F628

    effacé, erreur

  30. #90
    invite2562e666

    Re : placer un tableau dans un pic 16F628

    Bonjour,

    azerw fait preuve d'une très grande patience.

    Ces problèmes de mémoire ram en "banques" et de "pages" de programme ainsi cet adressage tordu n'existe que dans les PICS16.

    En plus de certains autres désavantages que je ne ferai que citer ici:
    - une mémoire physiquement limitée à 512 octets ram et 8k programme
    - un jeu d'instruction très "pauvre" qui conduit à devoir faire des très longs programmes pour pas grand chose, avec de nombreux pièges de programmation surtout pour les débutants
    - une ou deux vecteurs interruptions seulement : sur des µC modernes, chaque source interruption possède son propre vecteur
    - (quasi) pas de pile (ce qui fait en plus qu'ils sont très inadaptés au C)
    - Et finalement, ce sont des µC très lents (fréquence cycle ne dépassant pas 4mhz pour les pics 16 et 10 mhz pour les pic 18)
    - outils de développement (debugger - ICE ) peu performants et très chers (même si mplab est gratuit)


    Pour citer d'autres µC que je connais bien, les mc9(s)08 (voir www.68hc08.net), la mémoire est organisée d'une manière linéaire. Elle commence à 0x0000 et se termine à 0xFFFF. C'est tout, les ports d'entrée sortie sont également mappées dans cette mémoire. Pas de jeux de banques et de pages, c'est très nettement plus simple et plus efficace.

    thierry

Page 3 sur 4 PremièrePremière 3 DernièreDernière

Discussions similaires

  1. PIC 16f84-16f628
    Par invite62237dc8 dans le forum Électronique
    Réponses: 1
    Dernier message: 09/02/2007, 11h40
  2. Pic 16f628
    Par invite4164fd5c dans le forum Électronique
    Réponses: 9
    Dernier message: 16/12/2006, 16h15
  3. pic 16F628
    Par LTHOMAS dans le forum Électronique
    Réponses: 7
    Dernier message: 29/03/2006, 21h13
  4. pic 16F628
    Par invitea78e17c9 dans le forum Électronique
    Réponses: 1
    Dernier message: 15/03/2004, 21h04
  5. pic 16f628
    Par invite7a98af17 dans le forum Électronique
    Réponses: 3
    Dernier message: 16/02/2004, 15h21
Dans la rubrique Tech de Futura, découvrez nos comparatifs produits sur l'informatique et les technologies : imprimantes laser couleur, casques audio, chaises gamer...