Aktykuły które nie zmieściły się w żadnej kategorii

0102 /03
04Układ kontrolujący klawiaturę dotykową TTP22906
070809

  1. #define SCL PC0
  2. #define SDO PC1
  3. #define scl0 PORTC &= ~(1 << SCL)
  4. #define scl1 PORTC |= (1 << SCL)
  5. DDRC = 0b11111101; // SDO wejście , reszta wyjście
  6. PORTC |=(1<<SDO); // rezystor podciągający 
  7. PORTC |=(1<<SCL); // ustawienie na wysoki poziom
  8.   while(1)
  9.     { 
  10.        scl1;
  11.        if ((PINC & (1 << SDO)) == 0) // linia SDO opadła
  12.           { 
  13.               while (!(PINC & (1 << SDO))); 
  14.                      // czekamy aż linia SDO podniesie do 1
  15.               klawisz = 0;
  16.                 for (i = 0; i < 16; i++) 
  17.                    { 
  18.                        scl0; 
  19.                        _delay_us(2); 
  20.                        if (!(PINC & (1 << SDO)) == 1) klawisz |= (1 << i); 
  21.                        scl1; 
  22.                        _delay_us(2); 
  23.                     }
  24.                _delay_ms(2); // Tout
  25.               rsInt(klawisz);rsPrint(" > ");
  26.               rsInt(PINC);rsPrint(" > ");
  27.               rsInt(++ile);rsNext;
  28.             }
  29. }

rsInt, rsPrint to są moje funkcje wyprowadzające dane przez UART. Wynik mamy z zmiennej klawisz, odpowiednie bity zostaną ustawione na 1. Bit0 odpowiada cyfrze 1, Bit15 odpowiada klawiszowi 16


Przebieg SPI

Obudowa i symbol zamiennika 8229BSF.
Układ występuje również w innych obudowach, tu jednak przedstawiam najbardziej popularną w handlu obudowę.


Przebieg SPI

Przebieg SPI


Dasej (C) 2019 : 4238