본문 바로가기

LM3S-Study

(10)
LM3S101 SPI 테스트 LM3S101 SPI 테스트 LM3S101 SPI 초기화 함수//----------------------------------------------------------------// SPI 통신 초기화 함수void SPI0_Init(void) {SysCtlPeripheralEnable(SYSCTL_PERIPH_SSI0);GPIOPinTypeSSI(GPIO_PORTA_BASE, GPIO_PIN_2 | GPIO_PIN_4 | GPIO_PIN_5);GPIOPadConfigSet(GPIO_PORTA_BASE, GPIO_PIN_2 | GPIO_PIN_4 | GPIO_PIN_5, GPIO_STRENGTH_4MA, GPIO_PIN_TYPE_STD_WPU); SSIConfigSetExpClk(SSI0_BASE, Sy..
LM3S8962 ADC 테스트 LM3S8962 ADC 테스트 Sample rate of 500 thousand samples/secondConverter uses an internal 3-V reference LM3S8962 ADC블록도 LM3S8962 ADC초기화 함수//ADC Initializevoid AdcInit(void){SysCtlPeripheralEnable(SYSCTL_PERIPH_ADC); //ADC enable //ADCProcessorTrigger()에서 ADC 시작. 프로세서 트리거가 일어날때 작동한다. ADCSequenceConfigure(ADC_BASE, 0, ADC_TRIGGER_PROCESSOR, 0); //ADC0의 sequence를 구성한다.sequence number 0인 ADC를 single end..
[LM3S8962 EVM] SPI테스트 - 3축 가속도센서 테스트 [LM3S8962 EVM] SPI테스트 - 3축 가속도센서 테스트 가속도 센서 테스트 드라이버 myMCU-EXP 보드의 가속도 센서(LIS3LV02)는 SPI0, CS(J18->16) ->RD3에 연결되어 있으므로 아래와 같이 드라이버 코드를 작성할 수 있다. //----------------------------------------------------------------------------- // myAccel3LV02 HAL #define MY_ACCEL3LV02_SPI_MODE 1 #define MY_ACCEL3LV02_I2C_MODE 0 #define ACCEL_CS_BIT BIT3 #define ACCEL_CS_PORT PORTD #define ACCEL_CS_INIT() SysCtlPe..
[LM3S8962 EVM] 이더넷 포팅 하기 정리 [LM3S8962 EVM] 이더넷 포팅 하기 정리 먼저 lwip스택을 사용하기 위해 TI에서 제공하는 third_party, utils 폴더를 drv폴더에 복사 한다. util/lwiplib.c 를 프로젝트에 삽입한다. 컴파일 하면 아래 링크가 없다고 나온다. #include "lwip/opt.h" 패스 설정에서 아래와 같이 잡아 주면 된다. $PROJ_DIR$\..\01_drv\third_party\lwip-1.3.2\src\include\ 또 아래 링크도 없다고 나오는데... #include "lwipopts.h" TI예제 폴더에 보면 정의되어 있으므로 현재 프로젝트 루트로 복사 한다. 이후 아래 링크 에러가 발생하며 각각 패스를 잡아 주면 된다. #include "arch/cc.h" $PROJ_DI..
[LM3S8962 EVM] 웹서버 테스트 [LM3S8962 EVM] 웹서버 테스트 LM3S8962는 Cortex-M3코어에 Ehternet MAC + Phy가 포함되어 있는 MCU로 상당히 간단하게 임베디드 이더넷을 구현할 수 있다. 무료 TCP/IP protocol stack 인 lwIP를 이용해서 임베디드 웹서버 테스트를 진행 했다. 간단한 스텍임에도 속도 빠르고 여러가 다양한 프로토콜을 지원하고 있다. 먼저 luminary micro에서 포팅해서 third party로 제공하는 lwip-1.3.0폴더를 복사하고 패스를 잡아 준다. $PROJ_DIR$\..\01_drv\third_party\lwip-1.3.0\src\include\ $PROJ_DIR$\..\01_drv\third_party\lwip-1.3.0\src\include\ipv4\..
Luminary Micro LM3S8xx IAR 4.0, IAR5.x 환경 설정 Luminary Micro LM3S8xx IAR 4.0, IAR5.x 환경 설정 Luminary Micro의 최신 예제 소스는 IAR 5.x 기준으로 작성되어 있다. IAR 4.x에서 컴파일 하면 오류가 발생한다. IAR 5.x 에서는 라이브러리 파일이 driverlib.a로 컴파일되어 있지만 IAR 4.x에서는 driverlib.r79가 필요 하기 때문에 Lunminary Micro예제를 다시 컴파일 할 필요가 있다. 수정된 예제 소스 IAR 5.x(lm3s_evm_ew5.ewp.eww), IAR 4.x(lm3s_evm_ew4.eww) 가능한 예제 소스 lm3s8xx_src.zip Luminary Micro Lib소스
[LM3S2965] QEI 테스트 [LM3S2965] QEI 테스트 Lunminary Micro QEI특징 Position integrator that tracks the encoder position Velocity capture using built-in timer QEISPEED, QEIPOS레지스터가 각각 독립적으로 구동할 수 있다. (QEIPOS는 QEISPEED보다 먼저 Enable해야 함) 인터럽트 소스 - Index pulse - Velocity-timer expiration - Direction change - Quadrature error detection QEI모듈은 quadrature phase 모드와 clock/direction 모드를 지원한다. quadrature phase모드 엔코더는 90도 위상을 가진 두개의..
[LM3S608] Simple I2C 테스트 - simple polling mode [LM3S608] Simple I2C 테스트 - simple polling mode 간단히 [LM3S608]의 I2C 개념 잡기 위해 우선 polling모드로 I2C Slave의 데이터를 읽어오는 실험을 했다. I2C 구조 I2C초기화 함수 void i2c_init(void) { SysCtlPeripheralEnable(SYSCTL_PERIPH_I2C0); SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOB); // // Enable processor interrupts. // IntMasterEnable(); // // Configure the appropriate pins to be I2C instead of GPIO. // GPIOPinTypeI2C(GPIO_PORTB_BA..