DSD Lab 10
DSD Lab 10
/* includes */
#include "stm32f4xx.h"
/* function declarations */
void EXTI0_IRQHandler(void);
int main(void);
/* main code */
int main(void)
{
/* set up LED */
RCC->AHB1ENR |= (1 << 6);
GPIOG->MODER &= !(0x11 << 2*13);
GPIOG->MODER |= 0x01 << 2*13;
/* set up button */
RCC->AHB1ENR |= (1 << 0);
GPIOA->MODER &= 0xFFFFFFFC;
GPIOA->MODER |= 0x00000000;
while(1);
Output:
Task 2:
Code:
/* Button Interrupting
* ___________________
* This program toggles on-board LED of STM32F429 Discovery Kit
* through external interrupt of on-board user button.
*/
/* includes */
#include "stm32f4xx.h"
/* function declarations */
void TIM2_IRQHandler(void);
void EXTI0_IRQHandler(void);
int main(void);
/* main code */
int main(void)
{
while (1);
Outputs:
The Output video is attached in the zip file.
Task 3:
Code:
/* includes */
#include "stm32f4xx.h"
/* function declarations */
void TIM2_IRQHandler(void);
void EXTI0_IRQHandler(void);
int main(void);
int seconds = 0;
int minutes = 0;
int state = 0;
++seconds;
if (seconds > 59)
{
seconds = 0;
minutes = minutes + 1;
}
}
else if (state == 3)
GPIOB->ODR = (((minutes/10)<<4) | (minutes%10));
else if (state == 4)
{
minutes = 0;
seconds = 0;
state = 0;
GPIOB->ODR = 0;
}
/* main code */
int main(void)
{
while (1);
Output:
The Output Video is attached in the zip file.