Home > Study > C Language > ARM System Programming > [ex05] BIT_OP_LAB #3 비트 연산 Macro 활용에 의한 LED Toggling

[ex05] BIT_OP_LAB #3 비트 연산 Macro 활용에 의한 LED Toggling
Study Language

문제 설명


// main.c #3
void Main(void)
{
	volatile int i;

	/* 이 부분은 수정하지 말 것 */
	Macro_Set_Bit(RCC->APB2ENR, 3);

	/* 매크로를 이용하여 초기에 LED 모두 OFF */



	for(;;)
	{
	/* LED 반전 및 Delay, Delay는 0x80000으로 설정 */



	}
}

정답 코드


void Main(void)
{
	volatile int i;

	Macro_Set_Bit(RCC->APB2ENR, 3);

	Macro_Write_Block(GPIOB->CRH, 0xff, 0x66, 0);
	Macro_Set_Area(GPIOB->ODR, 0x3, 8);

	for(;;)
	{
		Macro_Invert_Area(GPIOB->ODR, 0x3, 8);
		for(i=0; i<0x80000; i++);
	}
}

메모


printf 내부의 \n 습관화 필요