본문 바로가기

분류 전체보기

(1955)
[PIC12F EVM] mikroC PRO for PIC 사용기 [PIC12F EVM] mikroC PRO for PIC 사용기 mikroC 는 mikro사의 PIC컴파일러이다. 무료 버젼은 Microchip사 전체 PIC MCU를 지원하지 않지만 PIC12F683은 무료로 컴파일 할 수 있다. 용량도 작고 나름 라이브러리도 잘 구성되어 있어 사용하기는 상당히 편리한것 같다. 아래 링크에서 다운로드 가능하다. http://www.mikroe.com/eng/product_downloads/download/ 프로그램 다운로드 후 설치하고 새로운 프로젝트를 생성하면 위자드가 실행된다. [PIC12F EVM] 보드를 위해 PIC12F683 을 선택한다. 라이브러리 선택 제공되는 라이브러리를 이용하면 편리한 점이 많다. 이렇게 하면 자동으로 프로젝트가 생성되고 특별한 기본 설..
[PIC12F EVM] ADC테스트 [PIC12F673 EVM] ADC테스트 PIC12F 에는 10비트 ADC가 4채널 포함되어 있다. 아래는 PIC12F683의 ADC블록도 이다. 사용법은 간단하다. ADCON0레지스터에 초기화 해주고 ADRES레지스터 값을 읽으면 된다. PIC12F683 ADC 제어 코드 void ADC_Init(void) { Cbi(ANSEL, BIT3); Sbi(TRISIO, BIT4); ADCON0 = 0x8D; } unsigned int ADC_Read(unsigned char Ch) { if(Ch == 0)Cbi(ADCON0, BIT2|BIT3); else if(Ch == 1){Sbi(ADCON0, BIT3);Sbi(ADCON0, BIT2);} else if(Ch == 2){Sbi(ADCON0, BIT3);C..
[PIC12F EVM] TIMER0 테스트 [PIC12F EVM] TIMER0 테스트 TIMER0의 기본 구조는 아래와 같이 입력 클럭을 4분주 하고 2클럭 마다 TMR0를 증가 시킨다. 만약 간단히 대략 1ms를 만들려 다음과 같이 계산할 수 있다. 8Mhz 입력 클럭일 경우 8분주 했을때 타이머 오버플로우 인터럽트 시간은 8Mhz/4/8 = 4us => 256클럭마다 한번씩 오버플로 발생하므로 1.024ms 이다. TIMER0초기화 OPTION레지스터 void InitTimer0(void) { OPTION = 0; OPTION |= BIT1; //prescaler - 1/8 T0CS = 0; // Timer increments on instruction clock T0IE = 1; // Enable interrupt on TMR0 overfl..
[PIC12F EVM] HI-TECH C컴파일러에서 Delay 함수 사용하기 [PIC12F EVM] HI-TECH C컴파일러에서 Delay 함수 사용하기 이전, "HI - TECH PICC - Lite"에는 예제로 delay.h, delay.c라는 프로그램이 포함되어 있었는데 업데이트 버전 "HI - TECH C PRO for the PIC10/12/16 MCU Family (Lite mode)" 는 이 파일이 없다. 예제를 보면 만 선언하고 사용하고 있는데 를 열어 보니 아래와 같이 선언되어 있다. #pragma inline(_delay) extern void _delay(unsigned long); // NOTE: To use the macros below, YOU must have previously defined _XTAL_FREQ #define __delay_us(x) ..
[PIC12F EVM] GPIO 제어시 주의사항 [PIC12F EVM] GPIO 제어시 주의사항 PIC12 시리즈중 PIC12F683의 각 포트는 ADC, GPIO, Comparator등의 여러 기능을 가지고 있으므로 사용하려면 각각 설정이 필요하다. 특히 GPIO로 사용하기 위해 ADC, Comparator 설정 레지스터로 Disable 해 주어야 한다. GPIO로 사용하기 위해 ADC를 Disale하는 ADSEL레지스터를 Clear하고, 입출력 방향을 설정하는 TRISIO레지스터 설정해야 한다. (0- Output, 1-Input). //----------------------------------------------------------------------------- // On board LED #define LED1_BIT BIT0 #de..
[PIC12F EVM] 무료컴파일러 HI-TECH C, MPLAB을 이용한 개발환경 설정 [PIC12F EVM] 무료컴파일러 HI-TECH C, MPLAB을 이용한 개발환경 설정 PIC12F 시리즈는 MPLAB설치시 무료로 설치되는 HI-TECH PCC컴파일러를 이용하면 C언어로 프로그램 할 수 있다. MPLAB Project Wizard를 이용하여 간단히 프로젝트 파일을 생성할 수 있다. PIC12F683 보드를 테스트 하는 예제를 작성 해보자. 컴파일러 옵션에서 HI-TECH C컴파일러를 설정한다. 적당한 프로젝트 명을 선택하고 저장하면 프로젝트 파일이 생성된다. 옵션으로 드라이버 파일의 경로를 설정할 수 있다. PIC12 개발환경 설정완료 컴파일 잘 된다. 8핀의 소형 MCU이지만 요즘은 소프트웨어 발전이 좋아 C언어로 쉽게 개발 할수 있어 저렴하고 편리하게 프로젝트를 진행 할수 있는것..
[LPC1K EVM] SPI 테스트 - 가속도 센서 테스트 [LPC1K EVM] SPI 테스트 - 가속도 센서 테스트 LCP1K SPI 특징 - Maximum SPI speed of 25 Mbit/s (master) or 4.17 Mbit/s (slave) (in SSP mode) - Compatible with Motorola SPI, 4-wire Texas Instruments SSI, and National Semiconductor Microwire buses - Synchronous serial communication - Master or slave operation - 8-frame FIFOs for both transmit and receive - 4-bit to 16-bit frame SPI SLK핀은 P0.10, 2.11, P0.6포트에 리맵이 ..
OBD테스트중 문제 발생 OBD테스트중 문제 발생 투싼ix 에서는 잘 동작했던 OBD보드가 투싼mx에서는 동작하지 않는 현상이 발생 ID문제일 가능성이 있어 ID체크 하는 부분을 수정했는데 여전히 동작을 하지 않는다. CAN 인터럽트 조차 발생하지 않는다. CAN보레이트 문제 인가 싶어 변경해도 역시 동작 하지 않는다. 예전 작성했던 문서를 보니 답이 나온다. CAN ID필터를 걸어두었는데... 투싼ix는 ID가 7E8, 7E9 두개의 응답이 있었는데 7E9이상 받도록 필터 설정을 해 두었던 것이 문제가 된것 같다. OBD 응답 형식을 보면7E8~7EA까지 있다. 필터 설정을 7E8이 되로록 수정 하니 잘 올라온다. -> 문서 정리 해 두었던 것이 많이 도움이 된것 같다. 투싼mx, 스포티지둘다 체크 했는데 7E8이 올라온다. ..