FMUSER Wirless transmet la vidéo et l'audio plus facilement!

[email protected] WhatsApp + 8618078869184
Langue

    Mode codeur STM32 TIM pour collecter les signaux codeur

     

    Qu'est-ce que le décodage orthogonal? Pour les codeurs incrémentaux et les codeurs optiques courants, un disque à fente est utilisé, un côté est l'extrémité émettrice de la lumière et le phototransistor est du côté opposé. Lorsque le disque tourne, le chemin optique est bloqué et l'impulsion résultante indique la rotation et la direction de l'arbre. Le dicton habituel est qu'un codeur de 1000 lignes générera 1000 impulsions carrées après un tour. 1000 grilles sont gravées sur le plateau du cheval et 1000 espaces sont évidés au milieu. Par exemple, cela semble un peu verbeux. Allez directement au sujet, quant à ce qu'est un encodeur ou un moteur de recherche, c'est clair. Les codeurs incrémentaux ont généralement des signaux biphasés A et B avec une différence de phase de 90 °, c'est donc aussi appelé quadrature. Il existe également un signal de réinitialisation qui est une réinitialisation mécanique, c'est-à-dire qu'après un tour, le signal de réinitialisation a un front de transition. Les détails sont indiqués dans la figure ci-dessous: Encodeur Par conséquent, le décodage en quadrature consiste à décoder les signaux d'onde carrée biphasés A et B, à détecter la phase, le nombre d'impulsions et la direction. Bien entendu, la vitesse, l'accélération et la rotation vers la position correspondante peuvent également être calculées. Mode d'interface codeur Reportez-vous au "Manuel de référence STM32 Version chinoise", vous pouvez voir que pour les fonctions communes dans le temporisateur TIM, le mode d'interface codeur est généralement pris en charge, et la configuration suivante est effectuée avec le manuel et la bibliothèque standard. Interface de bibliothèque standard Commencez par voir l'interface dans le code de bibliothèque standard stm32f10x_tim.h, commencez par analyser simplement le code source suivant et trouvez les quatre types de données suivants: TIM_TimeBaseInitTypeDef: unité de base de temps, configurer les paramètres du préréglage de la minuterie, mode compteur (débordement / sous-dépassement), fréquence de cycle et coefficient de division; TIM_OCInitTypeDef: unité de sortie d'oscillation, qui peut être utilisée pour générer une forme d'onde PWM; TIM_ICInitTypeDef: unité de capture d'entrée, qui peut être utilisée pour détecter l'entrée du signal du codeur; TIM_BDTRInitTypeDef: applicable à TIM1 et TIM8 en tant que structure pour insérer une configuration de temps mort; Par conséquent, pour combiner ce qui précède, il vous suffit de faire attention à l'unité de base de temps et à l'unité de capture d'entrée. Voici une brève explication de ses membres et de leurs commentaires; TIM_TimeBaseInitTypeDef typedef struct {uint16_t TIM_Prescaler; / *! <Spécifie la valeur de pré-échelle utilisée pour diviser l'horloge TIM. Ce paramètre peut être un nombre compris entre 0x0000 et 0xFFFF * / uint16_t TIM_CounterMode; / *! <Spécifie le mode du compteur. Ce paramètre peut être une valeur de @ref TIM_Counter_Mode * / uint16_t TIM_Period; / *! <Spécifie la valeur de la période à charger dans le registre de rechargement automatique actif lors du prochain événement de mise à jour. Ce paramètre doit être un nombre compris entre 0x0000 et 0xFFFF. * / uint16_t TIM_ClockDivision; / *! <Spécifie la division de l'horloge. Ce paramètre peut être une valeur de @ref TIM_Clock_Division_CKD * / uint8_t TIM_RepetitionCounter; / *! <Spécifie la valeur du compteur de répétition. Chaque fois que le compteur RCR atteint zéro, un événement de mise à jour est généré et le comptage redémarre à partir de la valeur RCR (N). Cela signifie qu'en mode PWM que (N + 1) correspond à: -le nombre de périodes PWM en mode aligné sur les bords -le nombre de demi-période PWM en mode aligné au centre Ce paramètre doit être un nombre compris entre 0x00 et 0xFF. @note Ce paramètre n'est valide que pour TIM1 et TIM8. * /} TIM_TimeBaseInitTypeDef; TIM_ICInitTypeDef typedef struct {uint16_t TIM_Channel; / *! <Spécifie le canal TIM. Ce paramètre peut être une valeur de @ref TIM_Channel * / uint16_t TIM_ICPolarity; / *! <Spécifie le front actif du signal d'entrée. Ce paramètre peut être une valeur de @ref TIM_Input_Capture_Polarity * / uint16_t TIM_ICSelection; / *! <Spécifie l'entrée. Ce paramètre peut être une valeur de @ref TIM_Input_Capture_Selection * / uint16_t TIM_ICPrescaler; / *! <Spécifie le Prescaler de capture d'entrée. Ce paramètre peut être une valeur de @ref TIM_Input_Capture_Prescaler * / uint16_t TIM_ICFilter; / *! <Spécifie le filtre de capture d'entrée. Ce paramètre peut être un nombre compris entre 0x0 et 0xF * /} TIM_ICInitTypeDef; Interface de registre Pour les registres de configuration, vous pouvez vous référer directement au mode d'interface du codeur au chapitre 13 du "Manuel de référence STM32 Chinese Edition". Pour plus de détails, veuillez consulter le manuel. Ici, en combinant la structure de la bibliothèque standard précédente, le contenu de la clé sera affiné, l'interface du codeur Il est probablement nécessaire de configurer les éléments suivants: Configuration du mode d'interface du codeur: Déclenchement sur front montant Déclenchement sur front descendant Déclenchement sur front Configuration de la polarité Configuration du filtre Ce qui suit est le schéma de configuration officiel: ● CC1S = '01 '(registre TIMx_CCMR1, IC1FP1 est mappé à TI1) ● CC2S = '01' (registre TIMx_CCMR2, IC2FP2 est mappé sur TI2) ● CC1P = '0' (registre TIMx_CCER, IC1FP1 n'est pas inversé , IC1FP1 = TI1) ● CC2P = '0' (registre TIMx_CCER, IC2FP2 n'est pas inversé, IC2FP2 = TI2) ● SMS = '011' (registre TIMx_SMCR, toutes les entrées sont valides sur front montant et descendant). ● CEN = '1' (registre TIMx_CR1, compteur activé) Cela signifie que le registre TIMx_CNT du compteur ne compte en continu qu'entre 0 et la valeur de chargement automatique du registre TIMx_ARR (selon le sens, soit 0 à ARR compte, soit ARR à 0 compte ) numéro). Les détails sont indiqués dans la figure ci-dessous; Décodage en quadrature officiel Méthode de détection En résumé, si vous voulez obtenir la vitesse et la direction: à un intervalle de temps fixe Ts, lisez la valeur du registre TIMx_CNT, en supposant qu'il s'agit d'un codeur de 1000 lignes, la vitesse: n = 1 / Ts * TIMx_CNT * 1000; Le sens de rotation est jugé en fonction du sens de comptage de TIMx_CNT. Avec des polarités différentes, la direction de croissance de TIMx_CNT est également différente. Ici, nous devons distinguer; Configuration de la bibliothèque standard Ce qui suit est le code basé sur la bibliothèque standard V3.5, basée sur la série STM32F103 de micro-ordinateurs monopuce, l'interface matérielle: TIM3 canal 1, Pin6 et Pin7; Signal de réinitialisation mécanique; Le nombre d'impulsions actuellement codées peut être lu via l'interface encoder_get_signal_cnt, et la méthode M est utilisée pour mesurer la vitesse; Concernant la situation de dépassement de capacité du compteur L'interruption TIM3_IRQHandler détecte la direction dans laquelle le temporisateur peut déborder en jugeant les indicateurs de dépassement de capacité et de dépassement inférieur dans le registre SR, et utilise N pour effectuer une compensation. /* QPEA--->PA6/TIM3C1 QPEB--->PA7/TIM3C1 ---------------------- TIM3_UPDATE_IRQ EXTI_PA5 ---------------------- */ typedef enum{ FORWARD = 0, BACK }MOTO_DIR; /** * @brief init broche d'encodeur pour pha phb et zéro * et interrpts */ void encoder_init(void); /** * @brief obtient le nombre de signaux de capture de l'encodeur */ int32_t encoder_get_signal_cnt(void); /** * @brief obtient le sens de marche de l'encodeur */ MOTO_DIR encoder_get_motor_dir(void); #endif #include "encoder.h" #include "stm32f10x.h" #include "stm32f10x_gpio.h" #include "stm32f10x_rcc.h" #include "stm32f10x_tim.h" #include "stm32f10x_exti.h" #include "misc.h" #define SAMPLE_FRQ 10000 L #define SYS_FRQ 72000000L /* Typedef privé ---------------------------------------------- -------------*/ /* Définition privée ---------------------------------------------- --------------*/ /* Macro privée -------------------------------------------------------------*/ /* Variables privées ---------------------------------------------------------*/ volatile int32_t N = 0; volatile uint32_t EncCnt = 0 ; /* Prototypes de fonctions privées -----------------------------------------------*/ /* Fonctions privées --------------------------------------------------------------*/ static void encoder_pin_init(void){ GPIO_InitTypeDef GPIO_InitStructure; GPIO_InitStructure.GPIO_Pin = GPIO_Pin_6 | GPIO_Pin_7 ; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING ; GPIO_InitStructure.GPIO_Speed ​​= GPIO_Speed_50MHz ; GPIO_Init(GPIOA, &GPIO_InitStructure); GPIO_InitStructure.GPIO_Pin = GPIO_Pin_4 | GPIO_Pin_5 ; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU ; GPIO_InitStructure.GPIO_Speed ​​= GPIO_Speed_50MHz ; GPIO_Init(GPIOA, &GPIO_InitStructure); } static void encoder_rcc_init(void){ RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO,ENABLE); RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM3,ENABLE); RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE); } vide statique encoder_tim_init(void){ TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure ; TIM_ICInitTypeDef TIM_ICInitStructure ; TIM_TimeBaseStructure.TIM_Period = ENCODER_MAX_CNT ; TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up ; TIM_TimeBaseStructure.TIM_Prescaler = 0 ; TIM_TimeBaseStructure.TIM_ClockDivision = 0 ; TIM_TimeBaseInit(TIM3, &TIM_TimeBaseStructure); TIM_EncoderInterfaceConfig(TIM3,TIM_EncoderMode_TI12, TIM_ICPolarity_Rising, TIM_ICPolarity_Rising); //doit effacer l'indicateur avant d'activer l'interruption TIM_ClearFlag(TIM3,TIM_FLAG_Update); TIM_ITConfig(TIM3,TIM_IT_Update, ENABLE); //TIM_ITConfig(TIM3, TIM_IT_CC2, ACTIVER); TIM_SetCounter(TIM3,ENCODER_ZERO_VAL); TIM_ICInit(TIM3, &TIM_ICInitStructure); TIM_Cmd(TIM3, ACTIVER); // TIM3->CCMR1 |= 0x0001; // TIM3->CCMR2 |= 0x0001; // TIM3->CCER &= ~(0x0001<<1); // TIM3->CCER &= ~(0x0001<<5); // TIM3->SMCR |= 0x0003; // TIM3->CR1 |= 0x0001; } /** * @brief Configure le contrôleur d'interruption vectoriel imbriqué. * @param Aucun * @retval Aucun * / static void encoder_irq_init (void) {NVIC_InitTypeDef NVIC_InitStructure; EXTI_InitTypeDef EXTI_InitStructure; / * Activer l'interruption globale TIM3 * / NVIC_InitStructure.NVIC_IRQChannel = TIM3_IRQn; NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 2; NVIC_InitStructure.NVIC_IRQChannelSubPriority = 1; NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; NVIC_Init (& NVIC_InitStructure); GPIO_EXTILineConfig (GPIO_PortSourceGPIOA, GPIO_PinSource5); EXTI_InitStructure.EXTI_Line = EXTI_Line5; EXTI_InitStructure.EXTI_Mode = EXTI_Mode_Interrupt; EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Rising; EXTI_Init (& EXTI_InitStructure); NVIC_InitStructure.NVIC_IRQChannel = EXTI9_5_IRQn; NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 1; NVIC_InitStructure.NVIC_IRQChannelSubPriority = 1; NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; NVIC_Init (& NVIC_InitStructure); } void encoder_init (void) {encoder_rcc_init (); encoder_pin_init (); encoder_irq_init (); encoder_tim_init (); } // 机械 复位 信号 void EXTI9_5_IRQHandler (void) {if (EXTI_GetITStatus (EXTI_Line5) == SET) {} EXTI_ClearITPendingBit (EXTI_Line5); } MOTO_DIR encoder_get_motor_dir (void) {if ((TIM3-> CR1 & 0x0010) == 0x0010) {return FORWARD; } else {return BACK; }} int32_t encoder_get_signal_cnt (void) {int32_t cnt = 0; if (TIM3-> CNT> ENCODER_ZERO_VAL) {EncCnt = cnt = TIM3-> CNT - ENCODER_ZERO_VAL; } else {EncCnt = cnt = ENCODER_ZERO_VAL - TIM3-> CNT; } TIM_SetCounter (TIM3, ENCODER_ZERO_VAL); return cnt; } / ************************************************ ****************************** / / * STM32F10x Peripherals Interrupt Handlers * / / ********** ************************************************** ****************** / / ** * @brief Cette fonction gère la demande d'interruption globale TIM3. * @param Aucun * @retval Aucun * / void TIM3_IRQHandler (void) {uint16_t flag = 0x0001 << 4; if (TIM3-> SR & (TIM_FLAG_Update)) {// mode descendant if ((TIM3-> CR1 & flag) == flag) {N--; } else {// mode ascendant N ++; }} TIM3-> SR & = ~ (TIM_FLAG_Update); } Demande d'interruption globale TIM3.

     

     

     

     

     

     

    Dans quelle mesure (long) le couvercle du transmetteur?

    La portée de transmission dépend de nombreux facteurs. La distance réelle est basée sur l'antenne d'installer la hauteur, le gain de l'antenne, en utilisant l'environnement comme la construction et d'autres obstacles, la sensibilité du récepteur, l'antenne du récepteur. Installation de l'antenne plus élevée et l'utilisation dans la campagne, la distance sera beaucoup plus loin.

    Transmetteur FM 5W Exemple d'utilisation dans la ville et ville natale:

    J'ai une utilisation par le client 5W émetteur fm USA avec antenne GP dans sa ville natale, et il le tester avec une voiture, il couvre 10km (6.21mile).

    Je teste l'émetteur fm 5W avec antenne GP dans ma ville natale, il couvre environ 2km (1.24mile).

    Je teste l'émetteur fm 5W avec antenne GP dans la ville de Guangzhou, il couvre environ seulement 300meter (984ft).

    Voici la gamme approximative de différents émetteurs de puissance FM. (La plage est de diamètre)

    Transmetteur FM 0.1W ~ 5W: 100M ~ 1KM

    5W ~ 15W FM Ttransmitter: 1KM ~ 3KM

    Transmetteur FM 15W ~ 80W: 3KM ~ 10KM

    Transmetteur FM 80W ~ 500W: 10KM ~ 30KM

    Transmetteur FM 500W ~ 1000W: 30KM ~ 50KM

    Transmetteur FM 1KW ~ 2KW: 50KM ~ 100KM

    Transmetteur FM 2KW ~ 5KW: 100KM ~ 150KM

    Transmetteur FM 5KW ~ 10KW: 150KM ~ 200KM

    Comment nous contacter pour l'émetteur?

    Appelez-moi + 8618078869184 OU
    Envoyez-moi un courriel [email protected]
    1.How loin que vous voulez couvrir de diamètre?
    2.How haut de la tour vous?
    3.Where êtes-vous?
    Et nous allons vous donner plus de conseils professionnels.

    À propos de nous

    FMUSER.ORG est une société d’intégration de systèmes spécialisée dans la transmission sans fil RF / équipement audio vidéo / de studio / streaming et le traitement de données. Nous fournissons tout ce que vous souhaitez, du conseil au conseil en passant par l’intégration en rack, l’installation, la mise en service et la formation.
     
    Nous proposons des émetteurs FM, des émetteurs de télévision analogique, des émetteurs de télévision numérique, des émetteurs VHF UHF, des antennes, des connecteurs de câble coaxial, STL, Traitement en direct, Produits de diffusion pour le studio, Surveillance du signal RF, Encodeurs RDS, Processeurs audio et Unités de contrôle de site distant, Les produits IPTV, encodeur / décodeur vidéo / audio, sont conçus pour répondre aux besoins des grands réseaux de diffusion internationaux et des petites stations privées.
     
    Notre solution comprend une station de radio FM / une station de télévision analogique / une station de télévision numérique / un équipement de studio audio vidéo / une liaison d'émetteur de studio / un système de télémétrie d'émetteur / un système de télévision d'hôtel / une diffusion en direct IPTV / une diffusion en direct en continu / une conférence vidéo / un système de diffusion CATV.
     
    Nous utilisons des produits de technologie de pointe pour tous les systèmes, car nous savons que la fiabilité et les performances élevées sont essentielles pour le système et la solution. Dans le même temps, nous devons également nous assurer que notre système de produits a un prix très raisonnable.
     
    Nous avons des clients de diffuseurs publics et commerciaux, d'opérateurs de télécommunication et d'autorités de régulation, et nous proposons également des solutions et des produits à des centaines de diffuseurs plus petits, locaux et communautaires.
     
    FMUSER.ORG exporte depuis plus de 15 ans et a des clients partout dans le monde. Avec 13 ans d'expérience dans ce domaine, nous avons une équipe professionnelle pour résoudre toutes sortes de problèmes du client. Nous nous sommes engagés à fournir des prix extrêmement raisonnables de produits et services professionnels.
    Email du contact : [email protected]

    Notre Usine

    Nous avons modernisation de l'usine. Vous êtes invités à visiter notre usine lorsque vous venez en Chine.

    À l'heure actuelle, il existe déjà clients 1095 partout dans le monde visité notre bureau de Guangzhou Tianhe. Si vous venez en Chine, vous êtes invités à nous rendre visite.

    Au Salon

    Ceci est notre participation à 2012 Global Sources Hong Kong Electronics Fair . Les clients de partout dans le monde enfin avoir une chance de se réunir.

    Où est Fmuser?

    Vous pouvez rechercher ces numéros " 23.127460034623816,113.33224654197693 "dans google map, vous pouvez trouver notre bureau fmuser.

    bureau FMUSER Guangzhou se trouve dans le district de Tianhe, qui est le centre du Canton . Très près à la Foire de Canton , gare de guangzhou, route Xiaobei et Dashatou , seul besion 10 minutes si prendre TAXIS . Bienvenue amis partout dans le monde à visiter et à négocier.

    Contact: Blue Sky
    Mobile: + 8618078869184
    WhatsApp: + 8618078869184
    WeChat: + 8618078869184
    Courriel : [email protected]
    QQ: 727926717
    Skype: sky198710021
    Adresse: No.305 Chambre Huilan bâtiment No.273 Huangpu route Guangzhou Chine Code postal: 510620

    Français: Nous acceptons tous les paiements, tels que PayPal, carte de crédit, Western Union, Alipay, Money Bookers, T / T, LC, DP, DA, OA, Payoneer, si vous avez des questions, veuillez me contacter [email protected] ou WhatsApp + 8618078869184

    • PayPal.  www.paypal.com

      Nous vous recommandons d'utiliser Paypal pour acheter nos articles, Le Paypal est un moyen sûr d'acheter sur Internet.

      Chaque de notre liste d'articles en bas de page sur le dessus ont un logo paypal pour payer.

      Carte de crédit.Si vous ne disposez pas paypal, mais vous avez la carte de crédit, vous pouvez également cliquer sur le bouton jaune PayPal pour payer avec votre carte de crédit.

      -------------------------------------------------- -------------------

      Mais si vous avez pas une carte de crédit et ne pas avoir un compte paypal ou difficile à obtenu un accout paypal, vous pouvez utiliser ce qui suit:

      Western union.  www.westernunion.com

       

      Paiement par Western Union à moi:

      Prénom / Prénom: Yingfeng
      Nom / Prénom / Nom de famille: Zhang
      Nom complet: Yingfeng Zhang
      Pays: Chine
      Ville: Guangzhou 

      -------------------------------------------------- -------------------

      T / T.  Payer par T / T (virement / transfert télégraphique / Virement bancaire)
       
      PREMIÈRES INFORMATIONS BANCAIRES (COMPTE COMPTE) :
      SWIFT BIC: BKCHHKHHXXX
      Nom de la banque: BANK OF CHINA (HONG KONG) LIMITÉE, HONG KONG
      Adresse de la banque: BANK OF CHINA TOWER, 1 GARDEN ROAD, CENTRAL, HONG KONG
      CODE DE LA BANQUE: 012
      Nom du compte: FMUSER INTERNATIONAL GROUP LIMITED
      N ° de compte. : 012-676-2-007855-0
      -------------------------------------------------- -------------------
      Deuxième RENSEIGNEMENTS BANCAIRES (COMPTE) :
      Bénéficiaire : Fmuser International Group Inc
      Numéro de compte: 44050158090900000337
      Banque du bénéficiaire : succursale de la China Construction Bank Guangdong
      Code SWIFT : PCBCCNBJGDX
      Adresse : NO.553 Tianhe Road, Guangzhou, Guangdong, district de Tianhe, Chine
      ** Remarque : lorsque vous transférez de l'argent sur notre compte bancaire, veuillez ne rien écrire dans la zone de remarque, sinon nous ne pourrons pas recevoir le paiement en raison de la politique du gouvernement sur le commerce international.

    * Il sera envoyé en 1-2 jours ouvrables lorsque le paiement clair.

    * Nous vous enverrons à votre adresse paypal. Si vous voulez changer l'adresse, s'il vous plaît envoyez votre adresse et le numéro de téléphone à mon email [email protected]

    * Si les paquets est inférieur à 2kg, nous sera expédiée par la poste aérienne, il faudra environ 15-25days à votre main.

    Si le paquet est plus que 2kg, nous expédions par EMS, DHL, UPS, Fedex livraison rapide express, il faudra environ 7 ~ 15days à votre main.

    Si le paquet plus 100kg, nous vous ferons parvenir par DHL ou fret aérien. Il faudra environ 3 ~ 7days à votre main.

    Tous les paquets sont la forme la Chine guangzhou.

    * Le colis sera envoyé comme un "cadeau" et déclear le moins possible, l'acheteur n'a pas besoin de payer pour la "TAXE".

    * Après bateau, nous vous enverrons un e-mail et vous donner le numéro de suivi.

    Pour la garantie.
    Contactez-nous --- >> Renvoyez-nous l'article --- >> Recevez et envoyez un autre remplacement.

    Nom: Liu xiaoxia
    Adresse: 305Fang HuiLanGe HuangPuDaDaoXi 273Hao TianHeQu Guangzhou en Chine.
    Code postal: 510620
    Téléphone: 8618078869184 XNUMX XNUMX XNUMX XNUMX

    S'il vous plaît revenir à cette adresse et écrivez votre paypal adresse, nom, problème sur la note:

    Liste de tous Question

    Surnom

    Email

    fréquemment posées

      Entrez l'email pour avoir une surprise

      fmuser.org

      es.fmuser.org
      it.fmuser.org
      fr.fmuser.org
      de.fmuser.org
      af.fmuser.org -> Afrikaans
      sq.fmuser.org -> albanais
      ar.fmuser.org -> arabe
      hy.fmuser.org -> Armenian
      az.fmuser.org -> azerbaïdjanais
      eu.fmuser.org -> basque
      be.fmuser.org -> biélorusse
      bg.fmuser.org -> Bulgare
      ca.fmuser.org -> catalan
      zh-CN.fmuser.org -> chinois (simplifié)
      zh-TW.fmuser.org -> Chinois (traditionnel)
      hr.fmuser.org -> croate
      cs.fmuser.org -> tchèque
      da.fmuser.org -> danois
      nl.fmuser.org -> Néerlandais
      et.fmuser.org -> estonien
      tl.fmuser.org -> Philippin
      fi.fmuser.org -> finnois
      fr.fmuser.org -> Français
      gl.fmuser.org -> Galicien
      ka.fmuser.org -> géorgien
      de.fmuser.org -> allemand
      el.fmuser.org -> Grec
      ht.fmuser.org -> Créole haïtien
      iw.fmuser.org -> hébreu
      hi.fmuser.org -> Hindi
      hu.fmuser.org -> Hongrois
      is.fmuser.org -> islandais
      id.fmuser.org -> indonésien
      ga.fmuser.org -> irlandais
      it.fmuser.org -> Italien
      ja.fmuser.org -> japonais
      ko.fmuser.org -> coréen
      lv.fmuser.org -> letton
      lt.fmuser.org -> Lituanien
      mk.fmuser.org -> macédonien
      ms.fmuser.org -> malais
      mt.fmuser.org -> maltais
      no.fmuser.org -> Norwegian
      fa.fmuser.org -> persan
      pl.fmuser.org -> polonais
      pt.fmuser.org -> portugais
      ro.fmuser.org -> Roumain
      ru.fmuser.org -> russe
      sr.fmuser.org -> serbe
      sk.fmuser.org -> slovaque
      sl.fmuser.org -> Slovène
      es.fmuser.org -> espagnol
      sw.fmuser.org -> Swahili
      sv.fmuser.org -> suédois
      th.fmuser.org -> Thai
      tr.fmuser.org -> turc
      uk.fmuser.org -> ukrainien
      ur.fmuser.org -> ourdou
      vi.fmuser.org -> Vietnamienne
      cy.fmuser.org -> Gallois
      yi.fmuser.org -> Yiddish

       
  •  

    FMUSER Wirless transmet la vidéo et l'audio plus facilement!

  • Contactez-Nous

    Adresse :
    No.305 Chambre HuiLan Building No.273 Huanpu Road Guangzhou Chine 510620

    Courriel :
    [email protected]

    Tél/WhatApps :
    +8618078869184

  • Catégories

  • Newsletter

    Prénom ou nom complet

    Email

  • solution paypal  Western UnionBanque de Chine
    Courriel :[email protected]   WhatsApp: +8618078869184 Skype: sky198710021 Discuter avec moi
    Droit d'auteur 2006-2020 Powered By www.fmuser.org

    Contactez-Nous