Données Paramètres:


Description

Ligne compilateur

$(compileravr)batchfiles\avra.bat

Commutateurs compilateur

$(chip:l) "$(outdir)$(target).elf" "$(outdir)$(target).c" "$(outdir)$(target).lst"

Paramètres Puce


Vitesse Horloge
16000000 (Hz)

Il n'a pas été défini de données de configuration


Données Globales:


Composants


Nom
UART1
dash_switch1
led_5mm_clip1

Macros


Renvoie Nom Description
AUCUNE HX711_Off Mise en Veille du HX711
AUCUNE HX711_On
AUCUNE Lect_HX711
AUCUNE Main
AUCUNE Mesure_Masse
AUCUNE Tarage Tarage de la balance
AUCUNE Tempo_sck
AUCUNE Version

Ports

taper Nom Description
OCTET $PORTD
OCTET $PORTC
OCTET $PORTB

Constantes

taper Nom Description
BOOL false
CHAINE Version
BOOL true

Variables

taper Nom Description
BOOL HX711_etat
BOOL in
ULONG Tare
BOOL Mode
ULONG Masse
BOOL DT23 Bit de poids fort
OCTET commande
ULONG Mesure


Nom Macro: HX711_Off


Mise en Veille du HX711

Code C


/*=----------------------------------------------------------------------=*\
   Use :Mise en Veille du HX711
\*=----------------------------------------------------------------------=*/
void FCM_HX711_Off()
{

    //Commentaire:
    //Mise en veille
    //SCK au niveau Haut
    //SCK ---> PB0

    // Nom: Mise à 1 de SCK, Type: Sortie: 1 -> B0
    SET_PORT_PIN(B,0,(1));

    // Nom: Variable HX711_etat  --->  0, Type: Calcul:
    // HX711_etat = 0
    FCV_HX711_ETAT = 0;

}



Nom Macro: HX711_On



Code C


/*=----------------------------------------------------------------------=*\
   Use :
\*=----------------------------------------------------------------------=*/
void FCM_HX711_On()
{

    // Nom: Sortie, Type: Sortie: 0 -> B0
    SET_PORT_PIN(B,0,(0));

    // Nom: Calcul, Type: Calcul:
    // HX711_etat = 1
    FCV_HX711_ETAT = 1;

    // Nom: Pause, Type: Pause: 70 us
    FCI_DELAYBYTE_US(70);

}



Nom Macro: Lect_HX711



Code C


/*=----------------------------------------------------------------------=*\
   Use :
\*=----------------------------------------------------------------------=*/
void FCM_Lect_HX711()
{

    // Nom: Initialisation de la variable Mesure, Type: Calcul:
    // Mesure = 0
    FCV_MESURE = 0;

    // Nom: Activation du Module HX711, Type: Appel d'une Macro: HX711_On()
    FCM_HX711_On();

    // Nom: Attend que DT passe à 0, Type: Boucle: While in = 1
    while (1)
    {

        // Nom: Lecture de DT, Type: Entrée: B1 -> in
        FCV_IN = GET_PORT_PIN(B,1);


        if ((FCV_IN == 1) == 0) break;
    }

    // Nom: Sortie SCK  à 1, Type: Sortie: 1 -> B0
    SET_PORT_PIN(B,0,(1));

    // Nom: Tempo de 5µs, Type: Appel d'une Macro: Tempo_sck()
    FCM_Tempo_sck();

    //Commentaire:
    //Lecture de la Donnée DT
    //DT <-- PB1

    //Commentaire:
    //Lecture de DT23
    //si DT23 = 0 alors résultat positif
    //sinon négatif faire le C à 2

    // Nom: Lecture de DT, Type: Entrée: B1 -> DT23
    FCV_DT23 = GET_PORT_PIN(B,1);

    // Nom: Sortie SCK  à 0, Type: Sortie: 0 -> B0
    SET_PORT_PIN(B,0,(0));

    // Nom: Tempo de 5µs, Type: Appel d'une Macro: Tempo_sck()
    FCM_Tempo_sck();

    // Nom: Boucle, Type: Boucle: Boucle  23 times
    for (FCLV_LOOP1=0; (FCLV_LOOP1)<(23); (FCLV_LOOP1)++)
    {

        //Commentaire:
        //Lecture des 23 bits de la  mesure
        //de DT22 à DT0

        // Nom: Sortie SCK  à 1, Type: Sortie: 1 -> B0
        SET_PORT_PIN(B,0,(1));

        // Nom: Tempo de 5µs, Type: Appel d'une Macro: Tempo_sck()
        FCM_Tempo_sck();

        //Commentaire:
        //Lecture de la Donnée DT
        //DT <-- PB1

        // Nom: Lecture de DT, Type: Entrée: B1 -> in
        FCV_IN = GET_PORT_PIN(B,1);

        // Nom: Décalage à gauche de 1 bit de Mesure, Type: Calcul:
        // Mesure = Mesure << 1
        FCV_MESURE = FCV_MESURE << 1;

        // Nom: DT ---> bit0 de mesure, Type: Calcul:
        // Mesure = Mesure + in
        FCV_MESURE = FCV_MESURE + FCV_IN;

        // Nom: Sortie SCK  à 0, Type: Sortie: 0 -> B0
        SET_PORT_PIN(B,0,(0));

        // Nom: Tempo de 5µs, Type: Appel d'une Macro: Tempo_sck()
        FCM_Tempo_sck();


    }

    //Commentaire:
    //La 25 ième impulsion d'horloge
    //Mode amplification gain=128

    // Nom: Sortie SCK  à 1, Type: Sortie: 1 -> B0
    SET_PORT_PIN(B,0,(1));

    // Nom: Tempo de 5µs, Type: Appel d'une Macro: Tempo_sck()
    FCM_Tempo_sck();

    // Nom: Sortie SCK  à 0, Type: Sortie: 0 -> B0
    SET_PORT_PIN(B,0,(0));

    // Nom: Tempo de 5µs, Type: Appel d'une Macro: Tempo_sck()
    FCM_Tempo_sck();

    // Nom: Décision, Type: Décision: DT23 = 1?
    if (FCV_DT23 == 1)
    {

        // Nom: Décision, Type: Décision: mesure = 0?
        if (FCV_MESURE == 0)
        {

        } else {

            // Nom: Nombre négatif, Type: Calcul:
            // Mesure = Mesure - 8388608
            FCV_MESURE = FCV_MESURE - 8388608;

        }

    // } else {

    }

}



Nom Macro: Main



Code C


/*=----------------------------------------------------------------------=*\
   Use :
\*=----------------------------------------------------------------------=*/
void FCM_Main()
{

    // Nom: Initialisation de la liason série, Type: Appel de la Routine Composant: UART1::Initialise()
    FCD_047b1_UART1__Initialise();

    // Nom: Envoie d'un message, Type: Appel de la Routine Composant: UART1::SendString("Arduino_Uno_OK")
    FCD_047b1_UART1__SendString("Arduino_Uno_OK", 15);

    // Nom: Appel de la Routine Composant, Type: Appel de la Routine Composant: UART1::SendChar(0x0A)
    FCD_047b1_UART1__SendChar(0x0A);

    // Nom: Appel de la Routine Composant, Type: Appel de la Routine Composant: UART1::SendChar(0x0D)
    FCD_047b1_UART1__SendChar(0x0D);

    // Nom: Calcul, Type: Calcul:
    // Tare = 0
    FCV_TARE = 0;

    // Nom: Appel d'une Macro, Type: Appel d'une Macro: Version()
    FCM_Version();

    // Nom: Boucle, Type: Boucle: While 1
    while (1)
    {

        // Nom: Appel de la Routine Composant, Type: Appel de la Routine Composant: commande=UART1::ReceiveChar(10)
        FCV_COMMANDE = FCD_047b1_UART1__ReceiveChar(10);

        // Nom: Multi-Décision, Type: Multi-Décision: commande?
        switch (FCV_COMMANDE)
        {
            case 'T':
            {
                // Nom: Appel de la Macro Tarage, Type: Appel d'une Macro: Tarage()
                FCM_Tarage();

                break;
            }
            case 'M':
            {
                // Nom: Appel d'une Macro, Type: Appel d'une Macro: Mesure_Masse()
                FCM_Mesure_Masse();

                break;
            }
            case 'V':
            {
                // Nom: Version du Programme, Type: Appel d'une Macro: Version()
                FCM_Version();

                break;
            }
            case 'R':
            {
                // Nom: Calcul, Type: Calcul:
                // Mode = 1
                FCV_MODE = 1;

                // Nom: Appel d'une Macro, Type: Appel d'une Macro: HX711_On()
                FCM_HX711_On();

                break;
            }
            case 'L':
            {
                // Nom: Calcul, Type: Calcul:
                // Mode = 0
                FCV_MODE = 0;

                // Nom: Appel d'une Macro, Type: Appel d'une Macro: HX711_Off()
                FCM_HX711_Off();

                break;
            }
            // default:

        }


    }

}



Nom Macro: Mesure_Masse



Code C


/*=----------------------------------------------------------------------=*\
   Use :
\*=----------------------------------------------------------------------=*/
void FCM_Mesure_Masse()
{

    // Nom: Appel d'une Macro, Type: Appel d'une Macro: Lect_HX711()
    FCM_Lect_HX711();

    // Nom: Calcul, Type: Calcul:
    // Masse = Mesure - Tare
    FCV_MASSE = FCV_MESURE - FCV_TARE;

    // Nom: Appel de la Routine Composant, Type: Appel de la Routine Composant: UART1::SendNumber(Masse)
    FCD_047b1_UART1__SendNumber(FCV_MASSE);

    // Nom: Appel de la Routine Composant, Type: Appel de la Routine Composant: UART1::SendChar(0x0A)
    FCD_047b1_UART1__SendChar(0x0A);

    // Nom: Appel de la Routine Composant, Type: Appel de la Routine Composant: UART1::SendChar(0x0D)
    FCD_047b1_UART1__SendChar(0x0D);

}



Nom Macro: Tarage


Tarage de la balance

Code C


/*=----------------------------------------------------------------------=*\
   Use :Tarage de la balance
\*=----------------------------------------------------------------------=*/
void FCM_Tarage()
{
    //Définitions des variables locales
    MX_UINT32 FCL_TARE;


    // Nom: Appel d'une Macro, Type: Appel d'une Macro: Lect_HX711()
    FCM_Lect_HX711();

    // Nom: Calcul, Type: Calcul:
    // Tare = Mesure
    FCV_TARE = FCV_MESURE;

}



Nom Macro: Tempo_sck



Code C


/*=----------------------------------------------------------------------=*\
   Use :
\*=----------------------------------------------------------------------=*/
void FCM_Tempo_sck()
{

    // Nom: Pause, Type: Pause: 5 us
    FCI_DELAYBYTE_US(5);

}



Nom Macro: Version



Code C


/*=----------------------------------------------------------------------=*\
   Use :
\*=----------------------------------------------------------------------=*/
void FCM_Version()
{

    // Nom: Appel de la Routine Composant, Type: Appel de la Routine Composant: UART1::SendString(Version)
    FCD_047b1_UART1__SendString(FCV_VERSION, FCVsz_VERSION);

    // Nom: Appel de la Routine Composant, Type: Appel de la Routine Composant: UART1::SendChar(0x0A)
    FCD_047b1_UART1__SendChar(0x0A);

    // Nom: Appel de la Routine Composant, Type: Appel de la Routine Composant: UART1::SendChar(0x0D)
    FCD_047b1_UART1__SendChar(0x0D);

    // Nom: Appel de la Routine Composant, Type: Appel de la Routine Composant: UART1::SendString("Commande V ---> Version")
    FCD_047b1_UART1__SendString("Commande V ---> Version", 24);

    // Nom: Appel de la Routine Composant, Type: Appel de la Routine Composant: UART1::SendChar(0x0A)
    FCD_047b1_UART1__SendChar(0x0A);

    // Nom: Appel de la Routine Composant, Type: Appel de la Routine Composant: UART1::SendChar(0x0D)
    FCD_047b1_UART1__SendChar(0x0D);

    // Nom: Appel de la Routine Composant, Type: Appel de la Routine Composant: UART1::SendString("Commande T ---> Tarage")
    FCD_047b1_UART1__SendString("Commande T ---> Tarage", 23);

    // Nom: Appel de la Routine Composant, Type: Appel de la Routine Composant: UART1::SendChar(0x0A)
    FCD_047b1_UART1__SendChar(0x0A);

    // Nom: Appel de la Routine Composant, Type: Appel de la Routine Composant: UART1::SendChar(0x0D)
    FCD_047b1_UART1__SendChar(0x0D);

    // Nom: Appel de la Routine Composant, Type: Appel de la Routine Composant: UART1::SendString("Commande M ---> Mesure")
    FCD_047b1_UART1__SendString("Commande M ---> Mesure", 23);

    // Nom: Appel de la Routine Composant, Type: Appel de la Routine Composant: UART1::SendChar(0x0A)
    FCD_047b1_UART1__SendChar(0x0A);

    // Nom: Appel de la Routine Composant, Type: Appel de la Routine Composant: UART1::SendChar(0x0D)
    FCD_047b1_UART1__SendChar(0x0D);

}