Don't like ads? PRO users don't see any ads ;-)
Guest

Untitled

By: a guest on May 15th, 2012  |  syntax: C  |  size: 1.09 KB  |  hits: 16  |  expires: Never
download  |  raw  |  embed  |  report abuse  |  print
Text below is selected. Please press Ctrl+C to copy to your clipboard. (⌘+C on Mac)
  1. uint16_t read(void)
  2.     {
  3.             uint16_t data = 0;
  4.             STARTSIG_PORT |= (1<<STARTSIG_PIN);
  5.             for(uint16_t r = 0; r <= 2048 ; r++)
  6.             {
  7.                                         if(DCLK_PORT & ( 1 << DCLK_PIN))
  8.                                         DCLK_PORT &= ~(1<<DCLK_PIN);
  9.                                         else
  10.                                         DCLK_PORT |= (1<<DCLK_PIN);  
  11.                      
  12.                                         if(r == 1)
  13.                                         {
  14.                                                 STARTSIG_PORT &= ~(1<<STARTSIG_PIN);
  15.                                         }
  16.                                         if(r > 0)
  17.                                         {
  18.                                                 PORTC |= (1 << PC5);
  19.                                         }                              
  20.                                         if(SYNCSIG_PORT & ( 1 << SYNCSIG_PIN ))break;
  21.             }
  22.  
  23.                         if(DCLK_PORT & ( 1 << DCLK_PIN))
  24.                         {
  25.                                 DCLK_PORT &= ~(1<<DCLK_PIN);
  26.                                 DCLK_PORT |= (1<<DCLK_PIN);
  27.                                 DCLK_PORT &= ~(1<<DCLK_PIN);
  28.                         }
  29.                         else
  30.                         {
  31.                                 DCLK_PORT |= (1<<DCLK_PIN);
  32.                                 DCLK_PORT &= ~(1<<DCLK_PIN);
  33.                         }
  34.                                
  35.             for(int i = 15; i >= 0; i--)
  36.             {
  37.                     DCLK_PORT |= (1<<DCLK_PIN);
  38.                     data |= ((DATASIG_PORT&(1<<DATASIG_PIN))<<i);
  39.                     DCLK_PORT &= ~(1<<DCLK_PIN);
  40.             }
  41.             return data;          
  42.     }