Matematické Fórum


1. 8. 2026 (L) Fórum bude brzy uzavřeno 😿

Nejste přihlášen(a). Přihlásit

#1 04. 04. 2012 20:35

Tomas.P
Příspěvky: 648
Reputace:   22 
 

C program

Zdravím,

Code:

// analog - digital prevod 
// vstup .0 - pripojen trimr 
// zapojena propojka Jad
// Modul IO pripojen do portu A
//  Pull-Ups Off
//  GNDs Off
//  LEDs .0 - .7 on
//  BNC Off

// Postup:
// -------
// 1. nastavit registry (staly prevod, 8 bit, unsigned)
// 2. pozorovat v debuggeru
// 3. ovladat LED podle namerene hodnoty 
// 4. prevest na rizene zahajovani prevodu a pozorovani CCF

#include <hidef.h> /* for EnableInterrupts macro */
#include "derivative.h" /* include peripheral declarations */

//--------------------------------------------------------------------------------------
//----- main ---------------------------------------------------------------------------
//--------------------------------------------------------------------------------------
void main(void) {
  EnableInterrupts; // enable interrupts 
  // nastaveni ATD
  ATD1PE=0b00000001;    //trimr je pripojen k pinu .0
  //ATD1PE_ATDPE0=1;    //trimr je pripojen k pinu .0
  ATD1C=0b10100000;   //on, 8 bit unsigned
  //ATD1C_RES8=1;
  //ATD1C_PRS=0;
  //ATD1C_ATDPU=1;
  ATD1SC=0b00100000;  //staly prevod, ch0 pro prvni cast zadani
  //ATD1SC_ATDCO=1;
  //ATD1SC_ATDCH=0;

  //......            nastav port na vystup (pripojeny LED )

  //------------------------------------------------------------------------------------
  //----- hlavni smycka ----------------------------------------------------------------
  //------------------------------------------------------------------------------------
  for(;;) {
    
    // !!! Prvni krok - staly prevod !!!
    PTAD=ATD1RH; //vycti vysledek a zobraz na portu A
/*
    // !!! Druhy krok - jednorazovy prevod !!!
    ATD1SC=...... spust jednorazovy prevod na ch0 
    // cekej na dokonceni prevodu
    while (ATD1SC_CCF==0) {
    }
    .....=ATD1RH(ATD1R) vycti vysledek a pripadne uprav
    .......... zobraz na portu A (leds)
*/
    __RESET_WATCHDOG(); // feeds the dog
  } /* loop forever */
  /* please make sure that you never leave main */
}

Offline

 

#2 04. 04. 2012 20:44

Tomas.P
Příspěvky: 648
Reputace:   22 
 

Re: C program

Můj postup:

Code:

// !!! Druhy krok - jednorazovy prevod !!!
    ATD1SC=0b00100000; spust jednorazovy prevod na ch0 
    // cekej na dokonceni prevodu
    while (ATD1SC_CCF==0) {
    }
    PTAD=ATD1RH(ATD1R) vycti vysledek a pripadne uprav
    .......... zobraz na portu A (leds)

Jedná se o http://www.freescale.com/files/microcon … 08GB60.pdf

Offline

 

Zápatí

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson