본문 바로가기

프로그래밍181

[RDA5807M][TEA5767][RRD102.Ver2] 라디오 만들기 datasheet.lcsc.com/szlcsc/RDA5807M_C82537.pdf www.sparkfun.com/datasheets/Wireless/General/TEA5767.pdf cafe.naver.com/arduinostory/52911 RDA5807M과 TEA5767의 Datasheet이다. 간략하게 설명하자면 RDA5807M에서 TEA5767의 모드를 사용 할 수 있다. 이 게시글에서는 TEA5767을 사용하기 때문에, TEA5767의 DataSheet를 참고해야한다. #include // I2C용 라이브러리 인쿨루드 void setup(){ Wire.begin(); Wire.beginTransmission(0x60); // TEA5767모드로 I2C통신 시작 Wire.write(0x30); .. 2021. 2. 22.
[Rotary Encoder] 로터리 엔코더 사용방법 및 예제 #include // Declare your global variables here void main(void) { int temp = 0x01; int lastPin = 0; int n; DDRD.6 = 0; DDRD.7 = 0; DDRB = 0xFF; while (1) { n = PIND.6; // 하강 Edge를 구현하는 부분. if(lastPin == 0 && n == 1) // 하강 Edge { if(PIND.7) { temp = temp > 1; if(temp == 0x00) temp = 0x80; } } PORTB = temp; lastPin = n; // 하강 Edge를 구현하는 부분. } } Chip은 Atmega328을 사용하였고, Cheri Soft사에서 지원해준 보드를 사용하였다. 2021. 2. 20.
[아두이노] ESP-32 Cam, 포트포워딩을 이용한 CCTV 내가 알리에서 산건 esp-32s espressif 이거였다. AI Thinker로 업로드 하니 작동이 잘됐다. 참조 : randomnerdtutorials.com/esp32-cam-video-streaming-face-recognition-arduino-ide/ 2021. 1. 30.
[자료구조] Single Linked List 사용법, 동적할당 대신 사용할 수 있는 배열 #include #include using namespace std; int arr_idx = 0; struct NODE { int v; NODE* prev; // Single list를 위해 추가. } a[100000000]; NODE* myalloc(void) { return &a[arr_idx++]; } int main(void) { NODE* pList = NULL; // Single linked list의 시작 NODE* p; arr_idx = 0; // 배열 초기화 //첫번째 노드(1) 추가 p = myalloc(); p->v = 1; p->prev = pList; pList = p; //두번째 노드(2) 추가 p = myalloc(); p->v = 2; p->prev = pList; pLis.. 2021. 1. 28.
[C언어] 구조체 포인터 .연산자 ->연산자 구조체 포인터라고 해서 어렵게 생각할 필요가 전혀 없다. 보는 눈만 키워주면 되는 것이다. 구조체는 하나의 자료형이라고 생각하면 되기 때문에, 포인터를 선언할 때에도 똑같이 선언하면 된다. struct 구조체이름* 포인터이름; 보통 구조체 내부에는 여러개의 자료형이 들어가있기 때문에 구조체를 일일히 선언해서 사용하기 보다 포인터로 주소를 할당에서 사용을 많이한다. struct 구조체이름* 포인터이름 = malloc(sizeof(struct 구조체이름)); 예제로 아래는 Hash의 insert 함수이다. void insert(int key, int value){ int hashIndex = hashFunction(key); struct node *newNode = createNode(key,value); .. 2021. 1. 24.
[C언어] 구조체란 무엇인가. 프로그래머라면, 구조체라는 말을 굉장히 많이 들어보았을것이다. 그렇다면 이 구조체란 무엇인가? 구조체는 구조화된 데이터를 처리할 때 만들어서 사용하고, 다른 자료형을 배열처럼 하나의 묶음으로 묶어서 사용할 수 있도록 해주는 기능이다. 쉽게 말하자면, 김밥이다. 어묵, 단무지, 김, 밥 등 각자의 재료를 따로 모아놓은게 배열이라면, 구조체는 이 모든것들을 모아놓은 김밥 같은 것이다. 예제는 아래와 같다. #include struct kimbap { char danmuji[10]; int ham; float eumok; double kim; }; typedef struct kimbap kimbap; int main(void) { kimbap a = { "hihihi", 5, 3.1, 100000.3 }; p.. 2021. 1. 19.