전체 글(59)
-
RENESAS - 실습1
1. AGT timer를 사용해서 시간을 설정 2. 0.5초마다 LED 4개를 껏다 킴 3. SW1을 누르면 7 segment에 지금껏 반복한 사이클 숫자를 표시, 그리고 멈춤 https://youtu.be/96VavJSJw5s - code #include "hal_data.h" FSP_CPP_HEADER void R_BSP_WarmStart(bsp_warm_start_event_t event); FSP_CPP_FOOTER void R_USP_InitLed4(); uint16_t R_USP_GetLed4(uint8_t led); void R_USP_SetLedOn(int led, bool state); void R_IRQ_Buttoninterrupt(external_irq_callback_args_t *..
2022.02.02 -
RENESAS - AGT timer 설정
성균관대학교 윈터캠프 에서 실습한 내용 중 일부다. Renesas RA6M3(176 pin) 계열의 칩을 선택했다. 그리고 IDE는 E2 studio를 활용했다. 2개의 외부 oscillator와 3개의 on-chip oscillator를 활용해 다양한 주파수를 사용가능하다. AGT는 Asynchronous General-purpose Timer로 16bit타이머고 rising edge마다 count value를 감소시킨다. underflow 발생 시마다 interrupt를 발생시킨다. E2 studio에서는 stack configuration으로 간단하게 세팅이 가능하다. - stacks configuration new stack에서 timer를 만들 수 있다. name과 channel을 설정하고 pe..
2022.01.28 -
RENESAS - 버튼 설정(Interrupt)
성균관대학교 윈터캠프 에서 실습한 내용 중 일부다. Renesas RA6M3(176 pin) 계열의 칩을 선택했다. 그리고 IDE는 E2 studio를 활용했다. Interrupt란 수행중인 일을 멈추고 I/O 장치의 요구사항을 수행하는 역할을 진행한다. 스위치를 누를 때 수행중이던 while문에서 벗어나 콜백함수를 진행한다. 스위치를 수행하기 위해선 stacks configuration을 진행해야한다. - stacks configuration Input -> external IRQ인 new stack을 만든다. name과 channel을 다음과 같이 설정하고 그리고 callback 함수를 지정해준다. 그리고 priority 12는 Interrupt의 우선순위를 의미한다. 또한 연결할 핀을 설정한다. 여..
2022.01.28 -
RENESAS - 7 segment(FND) 제어
성균관대학교 윈터캠프 에서 실습한 내용 중 일부다. Renesas RA6M3(176 pin) 계열의 칩을 선택했다. 그리고 IDE는 E2 studio를 활용했다. segment pin은 각 세그먼트 표시 값과 digit 자릿 수로 이루어져 있다. 위의 표처럼 각 data를 표현하고 digit은 각각 0001, 0010, 0100, 1000으로 4자리 구성되어 있다. - pin configuration FND_A -D : P604 - P607, FND_E-DOT : P611-P614, FND_D1 - COL : P305- 309을 다음과 같이 설정한다. mode는 output(initial low)로, 그리고 각각 원하는 symbolic name을 설정해서 사용 가능하다. - code 스켈레톤 코드를 바탕..
2022.01.28 -
RENESAS - LED 제어
성균관대학교 윈터캠프 에서 실습한 내용 중 일부다. Renesas RA6M3(176 pin) 계열의 칩을 선택했다. 그리고 IDE는 E2 studio를 활용했다. LED 제어 - pin configuration 회로에 따르면 LED는 핀이 각각 PA08, PA09, PA10, PB00으로 구성되어 있다. 그래서 다음과 같이 구성한다. Symbolic name을 지정한다면 저절로 코드로 define해주고, 쉽게 코드를 작성하도록 도와준다. 그리고 mode를 output mode(initial Low)로 바꾼다. - 코드 void R_USP_InitLed4() { R_PORT10->PDR = 0x0700; R_PORT11->PDR = 0x0001; R_PORT10->PODR = 0x0000; R_PORT11..
2022.01.28 -
<딥러닝, 머신러닝> classify할 대상을 다양하게 train/test set에 넣고 싶다면?
Tensorflow의 경우, sklearn.model_selection.train_test_split 함수가 존재한다. 그렇기 때문에 수월하게 train, test를 나눌 수 있다. 그 중 stratify함수를 사용하면, 분류할 대상이 한쪽으로 쏠리지 않고 다양하게 분류할 수 있다. 즉 stratify = classify할 target(label)으로 넣으면 된다. https://scikit-learn.org/stable/modules/generated/sklearn.model_selection.train_test_split.html sklearn.model_selection.train_test_split Examples using sklearn.model_selection.train_test_split..
2021.10.29