분류 전체보기 296

Nucleo-F103RB Serial통신 (mbed)

안녕하세요. 시리얼 통신으로 PC터미널 프로그램에서 메세지를 교환하며 LED를 ON/OFF해보겠습니다. 1234567891011121314151617181920212223242526272829#include "mbed.h" Serial pc(USBTX,USBRX);DigitalOut myled(PC_9); int main(){ char c; pc.printf("Hello world! \n"); while(1) { c=pc.getc(); if(c=='a') { pc.printf("LED ON\n"); myled.write(1); } if(c=='b') { pc.printf("LED OFF\n"); myled.write(0); } }} Colored by Color Scriptercs Serial pc(US..

STM32/STM32 mbed 2017.09.21

C언어 공용체(union)에 대해 알아보기입니다.

안녕하세요. 오늘은 C언어 공용체 (union)에 대해 알아볼 것 입니다.공용체란 멤버변수끼리 메모리를 공유하는 것 입니다. 메모리를 공유하면 메모리를 아낄 수 있는 장점이 있는 반면, 다른 멤버변수에 값을 넣으면 기존의 값은 지워지게 됩니다.공동체를 선언하는 방법은 구조체와 같습니다.union 변수명 {멤버목록}; 123456union data{ int age; int score; char class;};cs위와같이 union을 선언했다고하면 위의 그림처럼 메모리에 할당이 됩니다. 1234567891011121314151617181920#include union data{ int age; int score; char class;}; int main(void){ union data miyeong; miy..

C언어 열거형(enum)알아보기 입니다.

안녕하세요. 오늘은 열거형(enum)을 알아볼건데요, 열거형이란 변수를 나열해서 사용한다는건데 사용하는 이유는 편리함과 속도향상입니다.정의하는 방법은 구조체 혹은 공용체와 비슷합니다. 선언방법enum 변수명{멤버 목록};12345678910111213141516171819 #include enum week{ SUN, MON, TUE, WED, THU, FRI, SAT}; int main(void){ printf("SUN ? : %d \n", SUN); printf("MON ? : %d \n", MON); printf("TUE ? : %d \n", TUE); printf("WED ? : %d \n", WED); printf("THU ? : %d \n", THU); printf("FRI ? : %d \n",..

브레드보드(BreadBoard)란 무엇인가

안녕하세요. 오늘은 브레드보드(BreadBoard)에 대해 알아보겠습니다.브레드보드란 빵판이라고도 불리며, 전자 회로에서 납땜을 하지 않고 사용할 수 있는 도구입니다. 흔히 볼수있는 브레드보드입니다. 브레드보드는 단순히 라인들이 연결되어있는건데요 오른쪽 그림대로 연결이 되있습니다.오른쪽 그림 기준으로 빨간선은 보통 +를 연결하고 검정선에는 보통-를 연결합니다. 이건 작은 브레드보드인데요. 한번 뜯어서 실제로 연결되어있는지 보겠습니다. 뒷면을 뜯은 그림입니다. 예상대로 한 줄씩 연결되있는걸 볼 수 있습니다. 뺀 그림입니다. 이처럼 브레드보드에 테스트해보고, 원하는대로 작동이되면 만능기판에 납땜을해서 사용하거나, PADS같은 툴을 이용해서 PCB를 뜨면 됩니다.만능기판에 납땜 하는 경우는 보통 졸업작품을 만..

회로이론/이론 2017.09.12

C언어 #define, #if , #ifdef , #ifndef란

안녕하세요. 오늘은 전처리기 #define, #if, #ifdef, #ifndef에대해 알아보겠습니다.먼저 전처리기란 컴파일 하기 전에 #가 붙은 코드를 지정해놓은 코드로 변경하는 일입니다. 사용자가 직접 할 필요 없고 자동으로 해줍니다 #define#define란 값을 치환해 주는 것입니다. 예를 들어 절대 안 변하는 파이값 PI=3.14라고 하였을 코드내에서 int PI=3.14라고 해놨다면, 사용자가 실수로 PI=300 이런식으로 할 수 있는데, 이런것을 방지해줍니다. 또한 공통의 값이 들어갈때 #define을 사용할 수 있습니다. #if#if는 if문과 기능이 같습니다. 그러나 #define에 정의된 값이 integral type이여야만 합니다.해당하지 않는 문장은 연해진 것을 볼 수 있습니다. ..

Nucleo-F103RB 버튼사용하기 (mbed)

안녕하세요. Nucleo-F103RB를 이용하여 버튼을 제어해보겠습니다. 12345678910111213141516#include "mbed.h" DigitalOut myled(PC_9);DigitalIn myswitch(PC_13); int main(){ while(1) { if(myswitch.read()) myled.write(1); else myled.write(0); }}cs 12345678910111213141516#include "mbed.h" DigitalOut myled(PC_9);DigitalIn myswitch(PC_13); int main(){ while(1) { if(myswitch.read()) myled.write(1); else myled.write(0); }}cs Digit..

STM32/STM32 mbed 2017.09.09

Nucleo-F103RB LED키기 (mbed)

안녕하세요. 오늘은 LED켜보는 것을 할 것인데요. 매우 쉽습니다. PC9에 LED를 연결하겠습니다. 123456789101112#include "mbed.h" DigitalOut myled(PC_9); int main() { while(1) { myled.write(1); wait(1); myled.write(0); wait(1); }}cs 123456789101112#include "mbed.h" DigitalOut myled(PC_9); int main() { while(1) { myled.write(1); wait(1); myled.write(0); wait(1); }}cs DigitalOut(PinName pin)mbed에서 핀 이름으로는 PA_0, PA_1이런식으로 정의되어 있습니다.PinNa..

STM32/STM32 mbed 2017.09.09

매개변수(Parameter,파라미터),전달인자(Argument,아규먼트)란?

매개변수(parameter,파라미터),전달인자(Argument,아규먼트)란? 안녕하세요. 매개변수와 전달인자에 대해 알아보겠습니다. 이 둘은 같은 의미로 쓰이는 경우가 많지만, 명백히 다른 용어입니다.이 둘의 가장 큰 차이는 값과 형식의 차이입니다. 매개변수(Paramaeter,파라미터)1234int sum(int a, int b){ return a+b;}cs1번 줄의 (int a, int b)는 실제 값이 존재하지 않고 형태를 나타내 줄 뿐 입니다.이때 (int a, int b)를 매개변수라고 부릅니다. 전달인자(Argument, 아규먼트)1sum(10,20);cs위의 sum함수를 호출하였을때 (10,20)이 변수를 전달인자라고 부릅니다.이때 전달인자에는 값이 존재하는것을 볼 수 있습니다.

안드로이드 Toast메세지에 대해 알아보기

안녕하세요. 안드로이드 Toast메세지에 대해 알아보겠습니다. Toast는 android.widget.Toast에 있는 클래스고, 하는 역할은 사용자에게 정보를 보여주는 역할을 합니다. 사용법은 매우 간단합니다.Toast.makeText(Context context, CharSequence text, int duration) context에는 해당 애플리케이션을 적으면되고text에는 메세지를적으면되고 duration은 지속시간을 정하면 되는데 intLENGTH_LONG 메시지를 오래 보여줌.intLENGTH_SHORT메시지를 짧게 보여줌.위의 두 가지가 있습니다. 두 가지 중에 한개를 적으면 됩니다. 그리고 나서 뒤에 .show()를 붙여야 합니다. 12345678910public class MainAc..

안드로이드 Log에 대해 알아보기

안녕하세요. Log에 대해 알아보겠습니다. Log는 android.util.Log에 있는 클래스고, 하는 역할은 안드로이드스튜디오 모니터 부분에 메세지를 띄워줍니다.그래서 개발자가 로그를 보면서 개발자에게 정보를 알려줌으로써 개발하기가 쉽게 됩니다. Log 로그를 표시하기는 매우 쉬운데요. 로그의 종류에는 6가지가 있습니다. Verbose를 선택하면 모든 로그가 보입니다. (Verbose : 말 수가 많은)나머지는 해당 단어가 의미하는 뜻 입니다. 해당 카테고리의 로그를 표시하기위해서는Log.v , Log.d, Log.i ...... 이런식으로 사용하면 되구요 Log.d(String tag, String msg, Throwable tr)Log.d(String tag, String msg)각각 카테고리마다..