Interfejs USB-DCD w mikrokontrolerach Kinetis
4. Konfiguracja rejestru zegara.
USBDCD_CLOCK=(DCD_TIME_BASE<<2)|1;
5. W tym momencie aplikacja sprawdza stan linii PTB0, aby dokonać detekcji VBUS, ale przerwanie od portu może także zostać wykorzystane zamiast odpytywania.
// Waiting for VBUS
if(FLAG_CHK(0,GPIOB_PDIR) && !FLAG_CHK(VBUS_Flag,gu8InterruptFlags))
{
USBDCD_CONTROL=USBDCD_CONTROL_IE_MASK | USBDCD_CONTROL_IACK_MASK;
FLAG_SET(USBDCD_CONTROL_START_SHIFT,USBDCD_CONTROL);
FLAG_SET(VBUS_Flag,gu8InterruptFlags);
}
6. Gdy sekwencja detekcji jest ukończona, aplikacja musi odczytać rezultat z rejestrów DCD, a następnie wysłać je do terminala.
// Rezultaty DCD.
if(FLAG_CHK(DCD_Flag,gu8InterruptFlags))
{
u8Error=DCD_GetChargerType();
if((u8Error&0xF0))
printf("Oooooops DCD Error");
else
{
if((u8Error&0x0F)==STANDARD_HOST)
printf("Connected to a Standard Host");
if((u8Error&0x0F)==CHARGING_HOST)
printf("Connected to a Charging Host");
if((u8Error&0x0F)==DEDICATED_CHARGER)
printf("Connected to a Dedicated Charger");
}
Funkcja zwracająca rodzaj ładowarki:
UINT8 DCD_GetChargerType(void)
{
UINT8 u8ChargerType;
u8ChargerType = (UINT8)((USBDCD_STATUS & USBDCD_STATUS_SEQ_RES_MASK)>>16);
u8ChargerType|= (UINT8)((USBDCD_STATUS & USBDCD_STATUS_FLAGS_MASK)>>16);
return(u8ChargerType);
}
Program obsługi przerwania DCD:
void DCD_ISR(void)
{
USBDCD_CONTROL|= USBDCD_CONTROL_IACK_MASK; // Potwierdzenie.
if((USBDCD_STATUS&0x000C0000) == 0x00080000)
FLAG_SET(USBOTG_CONTROL_DPPULLUPNONOTG_SHIFT,USBOTG_CONTROL); // Uruchomienie pull-upu.
if((!(USBDCD_STATUS & 0x00400000)) || (USBDCD_STATUS & 0x00300000))
FLAG_SET(DCD_Flag,gu8InterruptFlags); // Detekcja ładowarki ukończona.



Konsola czy laptop gamingowy? Co wybrać dla nastolatka?
AIE510-ONX – komputer przemysłowy Box PC do zastosowań Edge AI
Hybrydowe architektury kosmiczne – projektowane z myślą o wydajności i pewności działania 


![https://www.youtube.com/watch?v=xeqdqGuy-Aw Michał Mitas, kierownik laboratorium Badań Urządzeń Radiowych w katowickim instytucie Łukasiewicz - AI, opowiada o badaniach urządzeń z interfejsem komunikacji bezprzewodowej, jak Wi-Fi, Bluetooth, LTE czy 5G, przeprowadzanych w komorze bezodbiciowej. Zapraszamy do obejrzenia filmu! [materiał redakcyjny]](https://mikrokontroler.pl/wp-content/uploads/2026/10/00.png)

![https://www.youtube.com/watch?v=QSnLO-KmBMY O wybranych projektach realizowanych w Laboratorium Zakładu Układów Mikrofalowych – ISE PW opowiadają: mgr inż. Michał Kalisiak, dr hab. inż. Arkadiusz Lewandowski, mgr inż. Andžej Šerlat oraz dr hab. inż. Krzysztof Czuba. Zapraszamy na firm [materiał redakcyjny]](https://mikrokontroler.pl/wp-content/uploads/2026/09/WEiTI-PW-czolowka.png)

