[NXP]/LPC1k2013. 8. 20. 23:00

LPC1114 외부 인터럽트 테스트 예제

LPC1114 외부 인터럽트 테스트 예제

외부 인터럽트 소스 테스트 하려는데 잘 동작을 안한다.

다른 인터럽트는 다 잘 동작하는데... 외부 인터럽트만 이상하다.


확인결과 IAR에서 제공하는 startup code가 두가지인데 코드가 약간 다르다. 이부분에서 문제가 있었던것 같다. 제공 예제에 설정되어 있는 startup code는 안되고 CMSIS 폴더의 startup code를 적용하니 잘 동작한다.

..IAR Systems\Embedded Workbench 6.4 Kickstart\arm\examples\NXP\LPC11xx\CMSIS\Device\NXP\LPC11xx\Source\IAR



startup_LPC11xx.s




LPC1113 GPIO관련 레지스터







레벨, 에지 인터럽트 유형 설정 






폴링 라이징 에지 유형 설정 레지스터






단일 에지, 복수(상승 하강) 에지 설정 레지스터






LPC1113 외부 인터럽트 핸들러

void PIOINT0_IRQHandler(void)

{

uint32_t regVal;

Led2Toggle();


regVal = GPIOIntStatus(0, 1);

if( regVal )

{

GPIOIntClear( 0, 1 );


//Led1Off();

}

return;

}




LPC1113 외부 인터럽트 테스트 

LPC1K EVM 보드의 P0.1 에 연결되어 있는 스위치를 누르면 인터럽트 발생해서 LED깜박이는 예제를 테스트 해 보았다.


int main()

{

    SystemInit();


    Led1Init();

    Led1Off();

    

    Led2Init();

    Led2Off();


    //SysTick 설정    

    //SysTick_Config( SYSTICK_DELAY );


//외부 인터럽트 초기화

    NVIC_EnableIRQ(EINT0_IRQn);

GPIOSetInterrupt(0, 1, 0, 0, 0);

GPIOIntEnable(0, 1);

    while(1)

    {


    

    }

    return 0;

}


Posted by nexp

댓글을 달아 주세요

[MSP430]/MSP430-S2013. 8. 11. 22:30

MSP430G2253 EVM 보드 제작

MSP430G2253 EVM 보드 제작




MSP430 시리즈중 저렴한 Value Line MSP430G22xx 의 테스트 보드를 제작 했다. 작고 저렴하기 때문에 여러 어플리케이션에 사용하기 좋을것 같다. Value line 시리즈 중에서도 UART가 있고 Cap touch I/O가 있으면서 1$에 판매하고 있다.

특히 Cap touch I/O는 저렴한 가격에도 성능은 아주 좋은것 같다.





24채널의 Cap touch I/O 가 있기 때문에 저전력 터치 센서 어플리케에션에 적용하기에 좋다.



[S-Type EVM]의 기존 확장 테스트 보드에 연결하여 테스트 가능하도록 했다.



MSP430G2253 EVM 회로도








Posted by nexp

댓글을 달아 주세요

[INTERFACE]/CAN2013. 5. 8. 11:56

OBD-II (J1962) 실드 케이블 - Right Angle 핀맵

OBD-II (J1962) 실드 케이블 - Right Angle 핀맵






차량용 OBD 쉴드 케이블 D-SUB 작업용 컨넥터 핀맵






Posted by nexp

댓글을 달아 주세요

Cortex-M/EFM322013. 5. 1. 20:00

EFM32G210 EVM - SD Card를 이용한 TFT LCD 전자액자 테스트 (SPI 제어 방식)

EFM32G210 EVM - SD Card를 이용한 TFT LCD 전자액자 테스트 (SPI 제어 방식)



EFM32의 최대 장점은 저전력 동작이면서 Cortex-M3의 성능을 가지고 있는것이다. 저전력이 요구되는 휴대용 전자 액자를 만들어 보면 좋을것 같다.

[I1511 TFT LCD] 모듈을 이용하여 TFT LCD 테스트를 해 보았다.


[Xmega32-EX] 확장 보드에서 SD Card는 1번부터 PB8(SD_CS), MISO, MOSI, SCLK, PF2(LCD_CS)로 연결되어 있다.




SPI방식의 TFT LCD 모듈 핀맵







EFM32 TFT LCD 드라이버 코드

//-----------------------------------------------------------------------------

// SHIFT Driver

#define _SHIFT_GPIO_EN                    0

#define _SHIFT_SPI_EN                      1


#if _SHIFT_SPI_EN

#define _SPI0_ENABLE 1


#define SHIFT_CS_BIT BIT2

#define SHIFT_CS_PORT GPIOF


#define SHIFT_PORT_INIT() GPIO_PinModeSet(gpioPortF, 2, gpioModePushPull, 1);\

SHIFT_CSon();SHIFT_SpiInit();SPI0_SetSpeed(SPI_SPEED_MAX);

#define SHIFT_CSoff() cbi(SHIFT_CS_PORT, SHIFT_CS_BIT)

#define SHIFT_CSon() sbi(SHIFT_CS_PORT, SHIFT_CS_BIT)



#define SHIFT_SpiInit SPI0_Init

#define SHIFT_SpiSendData SPI0_WriteReadByte

#endif

//-----------------------------------------------------------------------------



EFM32 TFT LCD 테스트 동영상

SD Card의 BMP이미지 출력 예제





Posted by nexp

댓글을 달아 주세요

[AVR]/ATTiny2013. 1. 1. 21:00

[ATtiny10] ADC, PWM 테스트

[ATtiny10] ADC, PWM 테스트



ATtiny 시리즈는 대부분의 코드가 호환된다.



ATtiny10 ADC 소스코드

//Read ADC Value

unsigned char AdcRead(unsigned char Channel)

{

unsigned int value = 0;


ADMUX = Channel&7;

ADCSRA = ADCSRA|ADC_START_CONVERSION;


while(!(ADCSRA & ADC_COMPLETE));


value = ADCL;

return value;

}



ATtiny10 PWM 소스코드

void InitPWM0_A(void)

{

    Sbi(PWM0A_DDR, PWM0A_BIT); //Output for PWM

    

    //TCCR0A |= (PWM0B_CLEAR|PWM_MODEA_FAST);

    TCCR0A |= (PWM0A_SET|PWM_MODEA_PHASE);

TCCR0B |= (PWM0_PRESCALE_DIV8);

//TCCR0A |= (PWM0_PRESCALE_DIV256);

TCNT0 = 200;

    SetPwm0A(0);

}



ATtiny10 ADC, PWM 테스트 동영상




ATtiny10 ADC, PWM 테스트 소스코드
#include "system.h"
#include "pwm.h"
#include "adc.h"
//-----------------------------------------------------------------------------
int main(void)
{
unsigned char pwm = 0;
unsigned char flag = 0;
//시스템 초기화
SystemInit();

        //PWM 초기화
InitPWM0_A();
AdcInit();
while(1)
{
SetPwm0A(~(AdcRead(2)));
Delay(10);
}
}
//-----------------------------------------------------------------------------



Posted by nexp

댓글을 달아 주세요