목차 소프트웨어 개발의 흐름 모든 소프트웨어 개발은 흐름이 비슷하지만 마이컴의 경우에는 다음의 플로우 차트와 같이 개발이 진행된다. TMS320F28x C 컴파일러 TMS32F28X C언어 특징 ANSI/ISO Standard ISO Standard C(ISO/IEC 9899:1990) Kernighan and Ritchie's "The C Programming Language" 모든 라이브러리 함수들은 ISO C 라이브러리 표준에 따름 Output File(COFF) Common Object File Format C코드와 데이터를 메모리 영역에 링크한 파일 소스레벨 디버깅 지원 인터페이스 Edit, Compile, Optimize, Assemble, Link 를 지원하는 통합 개발 환경 개발환경 내에서..
목차 ECAP 란 ? 📌 Enhanced capture의 약자로 간단하게 말해서 시간변위의 analog data를 digital로 바꾸는 동작을 의미한다. ECAP 모듈의 특징 32bit 타이머를 기반으로 한다. (Overflow없이 42.9sec 신호 타이밍 검출 가능) 4개의 32bit Time stamp 레지스터를 가지고 있다. 입력 신호의 Prescaling이 가능하다. 2가지 동작모드(Absolute Time-Stamp mode, Time Difference Mode) APWM Mode(Auxilary PWM) Capture를 사용하지 않을 때는 eCAP 모듈을 PWM모듈과 같이 사용하는 것을 말한다. Abosolute Time-stamp Mode 📌 이 모드에서는 PWM입력 신호의 Rinsin..
TI 에서 제공하는 ccs 라이브러리 구조 분석 예를 들어 ADC Registers 의 Address 는 DataSheet를 찾아보면 위와 같이 정의 되어 있다. TI 에서 제공하는 라이브러리는 위의 Address 어떻게 참조하여 호출하는 것 일까 ? 그 답은 DSP2833x_Header_nonBIOS.cmd 파일에 있다. DSO2833x_Headers_nonBIOS.cmd 파일에 위와 같이 "MEMORY > PAGE 1:" 위 치에 아래와 같이 ADC Register 주소와 그 Register 크기가 명시되어 있다. 그리고 위와 같이 SECTIONS 부분에서 아래와 같이 AdcRegsFile 네임을 PAGE1의 ADC에서 참조하도록 명시되어 있다. DSO2833x_Headers_nonBIOS.cmd 파..
I2C 통신 LoopBack Test SOURCE TR28335_I2c.h /*=============================================== * * FILE : TR28335_I2c.h .2017 * TITLE : TR28335 I2C (Inter integrated circuit) * *===============================================*/ #ifndef __TR28335_I2C_H__ #define __TR28335_I2C_H__ #ifdef __cplusplus extern "C" { #endif #include void InitI2c(void); void i2cLpb(void); Uint16 I2caWData(Uint16 saddr, Uin..
Potentiometer 가변저항 ADC로 전압값 읽어오기 SOURCE TR28335_P2200.h /*============================================================== * * FILE : TR28335_P2200.h .2017 * TITLE : TR28335 Potentiometer ADC Interrupt Service Routine * SENSOR : Potentiometer(P2200) * *==============================================================*/ #ifndef __TR28335_P2200_H__ #define __TR28335_P2200_H__ #ifdef _cplusplus extern "..
★ ADC 컨버터 를 이용하여 캐릭터 LCD에 값 출력 ㆍ광센서를 AD7에 연결하고 반대쪽은 그라운드에 연결하였다. ㆍLED는 14핀에 그라운드를 연결하고 반대쪽은 3.3v 에 연결 ㆍ광센서의 최대값은 1023으로 설정 ㆍ캐릭터 LCD 는 실시간으로 광센서의 빛의 밝기를 출력한다. ㆍ밝은 빛을 비추면 최대값인 1023을 출력한다. ㆍLED는 광센서값이 700이하이면 꺼지도록 하였다. (어두우면 꺼짐) Ex) main.c#include "arm.h" #include "led.h" #include "aic.h" #include "ultra.h" #include "lcd.h" #include "dbgu.h" #include "adc.h" void Init(void); int main() { volatile u..
GPIO Input 외부 인터럽트로 SWITCH 제어 SOURCE TR28835_Switch.h123456789101112131415161718192021222324252627282930313233/*=================================================== * * FILE : TR28335_Switch.h .2017 * TITLE : TR28335 Switch External Interrupt Control * *===================================================*/ #ifndef __TR28335_SWITCH_H__#define __TR28335_SWITCH_H__#ifdef _cplusplusextern "C" {#endif..
CPU Timer Interrupt SOURCE TR28335_Timer.c /*========================================== * * FILE : TR28335_Timer.h .2017 * TITLE : TR28335 Timer Interrupt Control * *==========================================*/ #include "header/TR28335_Timer.h" #include "header/TR28335_Led.h" static interrupt void cpu_Timer0_Isr(void); Uint32 tickCnt; /*============================================= * * Name : In..