Professional Documents
Culture Documents
Lab 2
Lab 2
Влезна конфигурација
Излезна конфигурација
Алтернативна функција
Аналогна конфигурација
Задачи
int main(void)
{
int i;
RCC->AHBENR |= RCC_AHBENR_GPIOEEN; //Vklucuvanje na taktot za GPIOE
GPIOE -> MODER |= 0x00010000; //Konfiguriranje na pin
//PE8 (LD4) kako
//izlezen pin za generalna namena
GPIOE -> OTYPER &= 0xFFFFFEFF; //Konfiguriranje na pin PE8 (LD4)
//kako izlezen push pull pin
GPIOE -> OSPEEDR |= 0x00030000; //Postavuvanje na brzinata na pin
//PE8 (LD4) na high speed
GPIOE -> PUPDR &= 0xFFFCFFFF; //Konfiguriranje na pin PE8 (LD4) no
//pull-up no pull-down
while(1)
{
GPIOE -> ODR |= 0x00000100; //Postavi visoko nivo na pinot PE8
for(i = 0; i < 1000000; i++ ); //Ednostavna jamka za docnenje
GPIOE -> ODR &= 0xFFFFFEFF; //Postavi nisko nivo na pinot PE8
for(i = 0; i < 1000000; i++ ); //Ednostavna jamka za docnenje
}
}
int main(void)
{
int i;
RCC->AHBENR |= RCC_AHBENR_GPIOEEN; //vkluci takt za porta E
GPIOE -> MODER |= (1 << 16) | (1 << 18); //Konfiguriranje na pinovite
//PE8(LD3) i PE9(LD3)
GPIOE -> MODER &= ~((1 << 17) | (1 << 19)); //kako izlezni pinovi za
//generalna namena
GPIOE -> OTYPER &= ~((1 << 8) | (1 << 9)); //Konfiguriranje na pinovite
//PE8 i PE9 kako push-pull
//pinovi
GPIOE -> OSPEEDR |= (0xF << 16); //Postavuvanje na brzinata na
//pinovite PE8 i PE9 na high
//speed
GPIOE -> PUPDR &= ~(0xF << 16); //Konfiguriranje na pinovite
//PE8 i PE9 kako no pull-up
//no pull-down
while(1)
{
GPIOE -> BSRR |= (1 << 8); //Postavi go pinot PE8 na visoko nivo LD4
//sveti
GPIOE -> BSRR |= (1 << 25); //Postavi go pinot PE9 na nisko nivo LD3
//ne sveti
for(i = 0; i < 1000000; i++); //Ednostavna jamka za docnenje
GPIOE -> BSRR |= (1 << 24); //Postavi go pinot PE8 na nisko nivo LD4
//ne sveti
GPIOE -> BSRR |= (1 << 9); //Postavi go pinot PE9 na visoko nivo LD3
//sveti
for(i = 0; i < 1000000; i++); //Ednostavna jamka za docnenje
}
}
int main(void)
{
RCC->AHBENR |= RCC_AHBENR_GPIOEEN; //Pustanje na takt na porta E
}
}
int main(void)
{
RCC->AHBENR |= RCC_AHBENR_GPIOEEN;
GPIOE -> MODER |= 0x00100000; //Konfiguriranje na pin PE10
//(LD5) kako izlezen pin za
//generalna namena
GPIOE -> OTYPER &= 0xFFFFFBFF; //Konfiguriranje na pin PE10
//(LD5) kako izlezen push pull
//pin
GPIOE -> OSPEEDR |= 0x0030000; //Postavuvanje na brzinata na
//pin PE10 (LD4) na high speed
GPIOE -> PUPDR &= 0xFFCFFFFF; //Konfiguriranje na pin PE10
//(LD5) no pull-up no pull-
//down
RCC->AHBENR |= RCC_AHBENR_GPIOAEN;
GPIOA -> MODER &= 0xFFFFFFFC; //Konfiguriranje na pin PA0
//(Button B1) kako vlezen pin
GPIOA -> OSPEEDR |= 0x3; //Postavuvanje na brzinata na
//pin PA0 (Button B1) na high
//speed
GPIOA -> PUPDR |= 0x2; //Konfiguriranje na pin PA0
//(Button B1) pull-down
#define ODBROJUVANJE 5
int main(void)
{
int i,brojac;
RCC->AHBENR |= RCC_AHBENR_GPIOEEN;
GPIOE -> MODER |= 0x00100000; //Konfiguriranje na pin PE10
//(LD5) kako izlezen pin za
//generalna namena
GPIOE -> OTYPER &= 0xFFFFFBFF; //Konfiguriranje na pin PE10
//(LD5) kako izlezen push pull
//pin
GPIOE -> OSPEEDR |= 0x0030000; //Postavuvanje na brzinata na
//pin PE10 (LD4) na high speed
RCC->AHBENR |= RCC_AHBENR_GPIOAEN;
GPIOA -> MODER &= 0xFFFFFFFC; //Konfiguriranje na pin PA0
//(Button B1) kako vlezen pin
GPIOA -> OSPEEDR |= 0x3; //Postavuvanje na brzinata na
//pin PA0 (Button B1) na high
//speed
GPIOA -> PUPDR |= 0x2; //Konfiguriranje na pin PA0
//(Button B1) pull-down
}
}