전체 글 (137) 썸네일형 리스트형 [ATmega128] LED 홀수 짝수 교대 점등 & Delay * 목표 : LED 홀수, 짝수번째 1초씩 교대 점등 #define F_CPU 16000000UL // 16 MHz #include #include // int main(void){ DDRA=0xFF; while(1){ PORTA=0x55; _delay_ms(1000); PORTA=0xAA; _delay_ms(1000); } } #define F_CPU 16000000UL // 16 MHz #include #include // int main(void){ DDRA=0xFF; while(1){ PORTA=~0x55; _delay_ms(1000); PORTA=~0xAA; _delay_ms(1000); } } [ATmega128] LED 홀수, 짝수 교대 점등 * 목표 : LED 홀수, 짝수 교대 점등 #define F_CPU 16000000UL // 16 MHz #include #include // int main(void){ DDRA=0xFF; while(1){ // 딜레이가 없으므로 속도가 빨라 전부 켜져있는 것처럼 보임 PORTA=0x55; // 0101 0101 PORTA=0xAA; // 1010 1010 } } #define F_CPU 16000000UL // 16 MHz #include #include // int main(void){ DDRA=0xFF; while(1){ // 딜레이가 없으므로 속도가 빨라 전부 켜져있는 것처럼 보임 PORTA=~0x55; PORTA=~0xAA; } } [C언어] 프로그램 언어 분류 * 컴파일러 언어 - 컴파일(Compile) : 소스 코드를 기계어 코드로 변환 - 링크(Link) : 기계어 코드로 변환된 오브젝트 파일을 하나로 합침 - 빌드(Build) : 컴파일과 링크 두 과정을 통틀어 칭함 * 인터프리터 언어 - 소스 코드를 한 행 단위로 변환하여 실행 - 가상 기계(Virtual Machine) 필요!! -> 소스 코드를 변환하여 이에 대응하는 기계어 코드를 실행 - 가상 기계가 다양한 플랫폼을 지원한다면 소스 코드를 별도로 수정하지 않고서 여러 운영체제에서 프로그램 실행 가능 * C 언어 - 구조화된 컴파일러 언어 - 이식성이 좋고 다른 고급 언어로 작성된 라이브러리와 연결 가능 - 빠른 수행 속도 게이트 회로 - 정의 : 여러 개의 전기 신호를 입력받아 결과에 따라 신호를 내보내거나 차단하는 회로 1. OR - 전기 입력 신호 두 개를 확인하여 둘 중 하나만이라도 1이면 1을 출력 2. AND - 두 신호가 모두 1이면 1을 출력 3. XOR - 입력된 두 신호의 값이 서로 다른 경우에만 1을 출력 4. NOT - 입력값을 반전시킨 결과 출력 * 가산기 : 게이트 회로들을 조합하여 만든 새로운 회로. 더하기를 구현한 것 - 하나의 가산기로 1비트에 대한 더하기 연산 수행 가능 1) 반가산기(Half-Adder) - 1비트 덧셈 가능. 그러나, 자리 올림 정보를 연산 반영 불가능 - C : 자리 올림 2) 전가산기(Full-Adder) - 자리 올림 처리 가능 - 병렬 연결한다면 자릿수에 상관없이 큰 수 덧셈 가능 [KEIL][TIP!] keil IDE 한글 깨짐 해결법 * 목표 : 한글 입력 시 ??? 와 같이 깨지는 현상 해결하기 Edit - Configuration [ATmega128] 홀수 LED 점등 * 목표 : 홀수번째 LED 점등 #define F_CPU 16000000UL // 16 MHz #include #include // int main(void){ DDRA=0xFF; while(1){ PORTA=0x55; // 0101 0101 } } #define F_CPU 16000000UL // 16 MHz #include #include // int main(void){ DDRA=0xFF; while(1){ PORTA=~0x55; } } [STM32F746] USART6 송신 test * 목표 : USART6을 이용하여 "hello world" 송신 USART6은 stm32f746-disco 보드에서 사용자가 핀을 사용할 수 있는 유일한 방법이다. datasheet를 참고하면 TX / D1 (PC6) = USART6_TX RX / D0 (PC7) = USART6_RX 1. 보드 설정 - USART6 활성화 - FREERTOS task 생성 touchGFX와 함께 사용하기 때문에 uart 통신을 하는 task하나를 따로 하나 더 만들어서 사용하였다. 2. 코드 작성 printf를 사용하기 위해서는 추가해야할 2가지 코드가 있다. 1) #include 2) /* USER CODE BEGIN 0 */ #ifdef __GNUC__ /* With GCC/RAISONANCE, small prin.. [ATmega128] 짝수 LED 점등 목표 : 짝수 LED 점등 #define F_CPU 16000000UL // 16 MHz #include #include int main(void){ DDRA=0xFF; while(1){ PORTA=0xAA; } } #define F_CPU 16000000UL // 16 MHz #include #include // int main(void){ DDRA=0xFF; while(1){ PORTA=~0xAA; } } 이전 1 ··· 12 13 14 15 16 17 18 다음