Advertisement
Guest User

Untitled

a guest
Nov 24th, 2014
166
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.08 KB | None | 0 0
  1. #include "MKL46Z4.h" //dodajemy biblioteke
  2.  
  3. #define GreenLED 0 //definicja diody zielonej
  4. #define RedLED 1 //definicja diody czerwonej
  5.  
  6. const uint32_t MaskLED[] = {(1UL << 5),(1UL << 29)}; //dodanie tablicy maskled stalych(const) liczb32bitowych(uint_32) - pin numer 5(zielona dioda), pin numer 29(czerwoan dioda)
  7.  
  8. void InitLED(void) //robimy funkcje swiecenia
  9. {
  10. SIM->SCGC5 |= SIM_SCGC5_PORTD_MASK; //dodajemy tatkowanie na porcie D (jak?????)
  11. PORTD->PCR[5] = PORT_PCR_MUX(1u); //pinowi 5 na porcie D przepisujemy wartosc 1(??????)
  12. PTD->PDDR |= MaskLED[GreenLED]; //suma bitowa gpio i pierwszego elementu tablicy maskled(bo greenled define 0), ustawienie inputa na piaty pin
  13.  
  14. SIM->SCGC5 |= SIM_SCGC5_PORTE_MASK; //dodjamy taktowanie na porcie E (jajkakakak????)
  15. PORTE->PCR[29] = PORT_PCR_MUX(1u); //pinowi 29 na porcie E przepisujemy wartosc 1(ococochocodozoii????/)
  16. PTE->PDDR |= MaskLED[RedLED]; //ustawiamy output na 29 pin portu E poprzez sume biotoweoowow
  17. }
  18.  
  19. void BlinkLED(void) //robimy funkcje mrygania
  20. {
  21. uint8_t j = 0;
  22. uint32_t i = 0;
  23. PTD->PTOR = MaskLED[GreenLED]; //zmieniamy wartosc na przeciwna (ptor) na porcie D pinie 5
  24.  
  25. for(j = 0; j < 4; ++j) //waruneczek, 4 bo czery razy sie zmienia czerwona dioda
  26. {
  27. PTE->PTOR = MaskLED[RedLED]; //zmiana wartosci na porcie E pinie 29
  28. for(i = 0; i < 1000; i++){}; // 1 000 000 bo milion taktów zegara (maciek mówi ze 1 500 000 jak?????/1)
  29. };
  30. }
  31.  
  32. int main(void) //glowna funkcja
  33. {
  34. InitLED(); //wywolujemy funkcje swiecenia
  35. while(1) //nieskonczony while
  36. {
  37. BlinkLED(); //wywolujemy funkcje mrugania
  38. }
  39. } //program nie ma konca
  40.  
  41.  
  42.  
  43. /* funkcja migania innymi rejestrami:
  44. void BlinkLED(void) //funkcja
  45. {
  46. PTE->PSOR = MaskLED[GreenLED]; //ustawiamy wartosc pinu na stan wysoki
  47. for(uint32_t h = 0; h < 1000000; h++){}; //utrzymujemy go przez 1 000 000 tykniec
  48. PTE->PCOR = MaskLED[GreenLED]; //ustawiamy wartosc na stan niski
  49. for(uint32_t k = 0; k < 1000000; k++){}; //utzrymujemy
  50. }
  51. */
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement