BinaryPrinter
made by Wooseok Diaa Hwang
소개
매우매우 간단한 이진수 출력기
이진수에서 1이 있는 자릿수 그대로 LED에 출력하는 코드
ex) 00000101 -> LED 1, 3번재 핀 점등
보드
- 클럭: 72MHz
- 사용 핀
- A8 : GPIO-OUTPUT / No Pull
- B10 : GPIO-OUTPUT / No Pull
- B4 : GPIO-OUTPUT / No Pull
- B5 : GPIO-OUTPUT / No Pull
- B3 : GPIO-OUTPUT / No Pull
- A10 : GPIO-OUTPUT / No Pull
- B15 : GPIO-OUTPUT / No Pull
- B14 : GPIO-OUTPUT / No Pull
코드
전역변수
typedef struct led_t {
GPIO_TypeDef *port;
int pin;
}led_t;
led_t led[8] = {
{GPIOA, GPIO_PIN_8},
{GPIOB, GPIO_PIN_10},
{GPIOB, GPIO_PIN_4},
{GPIOB, GPIO_PIN_5},
{GPIOB, GPIO_PIN_3},
{GPIOA, GPIO_PIN_10},
{GPIOB, GPIO_PIN_15},
{GPIOB, GPIO_PIN_14},
};
void allDown() {
for(int k = 0; k<8; k++) {
HAL_GPIO_WritePin(led[k].port, led[k].pin, RESET);
}
}
main() -> while 전 USER CODE
uint32_t i, status;
while문
for(i = 0; i<=255; i++) {
for(status = 0; status < 8; status++) {
if((i >> status) % 2 != 0) {
HAL_GPIO_WritePin(led[status].port, led[status].pin, SET);
}
}
HAL_Delay(50);
allDown();
}