Advertisement
pongfactory

Lab 4-2 State only PIC

Jan 27th, 2014
108
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 2.67 KB | None | 0 0
  1.     /*
  2.         switch( state ){
  3.             case 'A':
  4.                 SerialTransmit("A\r\n");
  5.                 if(PORTDbits.RD2 == 0){ state = 'B'; }
  6.                 break;
  7.             case 'B':
  8.                 SerialTransmit("B\r\n");
  9.                 if(PORTDbits.RD2 == 1){
  10.                     changeState++;
  11.                     if(changeState >= 1000){
  12.                         state       = 'C';
  13.                         changeState = 0;
  14.                     }
  15.                 }
  16.                 break;
  17.             case 'C':
  18.                 //SerialTransmit("C\r\n");
  19.                 // LED on
  20.                 LATDbits.LATD1 = 1;  //  writing 1 to pin RD1
  21.                 // ADC  channelA, Read form AN0 -- PIN 25
  22.                 AD1CON1SET = 0x0002;         // start sampling ...
  23.                 _delay(100*US_TO_CT_TICKS);   // for 50 uS
  24.                 AD1CON1CLR = 0x0002;         // start Converting
  25.                 while (!(AD1CON1 & 0x0001)); // conversion done?
  26.                 channel0   = ADC1BUF0;       // yes then get ADC value
  27.                 // save into EEPROM...
  28.                 // ...
  29.                 // ...
  30.  
  31.                 if( countR >= 300){
  32.                     state  = 'E';
  33.                     countR = 0;
  34.                 }
  35.                 else{
  36.                     StartTime = ReadCoreTimer();  // Get CoreTimer value for StartTime
  37.                     state = 'D';
  38.                     sprintf(buf, "save into EEPROM...%d\r\n", countR);
  39.                 }
  40.                 break;
  41.             case 'D':
  42.                 SerialTransmit(buf);
  43.                 // LED off
  44.                 LATDbits.LATD1 = 0;  //  writing 0 to pin RD1
  45.                 // ...wait 1 second
  46.                 if( ReadCoreTimer() - StartTime >=  Time1S ){
  47.                     state = 'C';
  48.                     countR++;
  49.                 }
  50.                 break;
  51.             case 'E':
  52.                 SerialTransmit("E\r\n");
  53.                 if(PORTDbits.RD2 == 0){ state = 'F'; }
  54.                 break;
  55.             case 'F':
  56.                 SerialTransmit("F\r\n");
  57.                 if(PORTDbits.RD2 == 1){
  58.                     changeState++;
  59.                     if(changeState >= 1000){
  60.                         state = 'G';
  61.                         changeState = 0;
  62.                     }
  63.                 }
  64.                 break;
  65.             case 'G':
  66.                 // Read data form EEPROM
  67.  
  68.                 // sent data use UART
  69.                 sprintf(buf, "%d\r\n", channel0);
  70.                 SerialTransmit(buf);
  71.                 // LED off
  72.                 LATDbits.LATD1 = 0;  //  writing 0 to pin RD1
  73.                 state = 'A';
  74.                 break;
  75.         }
  76.  
  77.          */
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement