문제 설명
// main.c #1
void Main(void)
{
/* 이 부분은 임의로 바꾸지 마시오 */
RCC->APB2ENR |= (1<<3);
/* 비트 연산을 이용하여 LED0을 ON, LED1을 OFF로 하는 코드를 설계하시오 */
}
정답 코드
#if 1
void Main(void)
{
RCC->APB2ENR |= (1<<3);
GPIOB->CRH &=~((1<<7)|(3<<3)|(1<<0));
GPIOB->CRH |= (3<<5)|(3<<1);
GPIOB->ODR &=~(1<<8);
GPIOB->ODR |= (1<<9);
}
#endif
#if 0
void Main(void)
{
RCC->APB2ENR |= (1<<3);
GPIOB->CRH = (GPIOB->CRH & ~((1<<7)|(3<<3)|(1<<0)))|((3<<5)|(3<<1));
GPIOB->ODR = (GPIOB->ODR & ~(0x1<<8)) | (1<<9);
}
#endif
#if 0
void Main(void)
{
RCC->APB2ENR |= (1<<3);
GPIOB->CRH = (GPIOB->CRH & ~(0xff<<0)) | (0x66<<0);
GPIOB->ODR = (GPIOB->ODR & ~(0x3<<8)) | (0x1<<8);
}
#endif
메모
printf 내부의 \n 습관화 필요