본문 바로가기

[TI]/MSP0M

(18)
[MSPM0G3107 SSM] PWM 테스트 - RC Servo Motor 제어 MSPM0G3107 PWM 테스트를 해 보자. 확장테스트 보드에는 RC Servo 모터를 연결 할수 있는 커넥터가 3채널이 있기 때문에 PWM을 이용해 서보 모터를 제어 할 수 있다.   서보 보터는 20ms 주기에 0.5ms ~ 2.5ms로 펄스폭을 제어 하면 된다.  TIMER-PWM을 추가 하고 PWM 출력 주기를 20ms(50hz) 로 설정하고 invert 설정으로 출력을 반전시켜 출력 할수 있도록 설정해 준다.  인터럽트 입력예제를 이용해 스위치 입력에 따라 서보 모터의 위치를 변경하는 예제를 작성할수 있다.#include "ti/driverlib/m0p/dl_interrupt.h"#include "ti_msp_dl_config.h"extern volatile uint32_t interruptV..
[MSPM0G3107 SSM] GPIO 인터럽트 - INPUT CAPTURE 테스트 테스트진행 중 디버깅을 위해 입력력 스위치를 많이 사용하는데 [MSPM0G3107 SSM] 보드에는 입력 스위치가 있고 이를 이용하여 외부 인터럽트 테스트를 진행 해 보자 [MSPM0G3107 SSM] 보드 부트옵션을 위한 스위치가 PA18에 연결되어 있다.  SYSCONFIG를 이용하여 입력 GPIO를 추가하고 인터럽트를 설정해 되면 된다.    인터럽트 핸들러는 GROUP1_IRQHandler() 함수를 재정의해서 처리 할 수 있다.void GROUP1_IRQHandler(void){ switch (DL_Interrupt_getPendingGroup(DL_INTERRUPT_GROUP_1)) { case GPIO_GRP_0_INT_IIDX: /* If SW is h..
[MSPM0G3107 SSM] ADC테스트 - HW평균필터와 DMA를 이용한 14bit ADC 테스트 MSPM0 시리즈는 1$이하의 저렴한 가격이지만 아날로그 기능이 풍부해서 아날로그 기능이 필요하면서 저비용으 시스템에 적합한 MCU인것 같다. 기본적인 ADC기능은 MSPM0L 시리즈에와 동일하지만 MSPM0G시리즈에 몇 가지 추가된 기능이 있다.  MSPMG 시리즈는 클럭이 32Mhz에서 80Mhz로 빨라져 ADC 속도가 빨라 졌고 12bit DAC기능이 추가 되었다.  기본 구성은 MSPM0L 시리즈 ADC와 동일한 구조로 테스트 할 수 있다.https://nexp.tistory.com/4069 [MSPM0L1306 SSM] ADC 테스트MSPM0의 특징으로 저렴한 것도 있지만 강력한 아날로그 장치가 내장되어있다. MSPM0L1306 의 ADC를 테스트 해보자.저렴한 가격으로 아날로그 기능을 사용할수..
[MSPM0G3107 SSM] UART 테스트 [MSPM0L1306 SSM] UART 테스트 - printf 사용하기 예제를 참고로 MSPM0G3107 UART를 테스트 해보았다.https://nexp.tistory.com/4068 [MSPM0L1306 SSM] UART 테스트 - printf 사용하기MSPM0 사용하면서 가장 기본이 되는 장치라 할 수 있는 UART 테스트를 해 보자.syscfg를 사용하면 쉽게 UART를 추가 하고 간단하게 설정 할 수 있다.MSPM0의 UART핀맵도 쉽게 설정가능하다.기본 코드를 생nexp.tistory.com  [MSPM0G3107 SSM] 보드는 PA11(RX), PA10(TX)에 UART가 할당되어 있다.  syscfg를 사용하면 쉽게 UART를 추가 하고 간단하게 설정 할 수 있다.   MSPM0G3107..
[MSPM0G1307 SSM] SYSTICK 타이머 인터럽트 테스트 MSPM0 개발하면서 가장 많이 사용하는 기준 클럭 타이머 인터럽트 SYSTICK 타이머 인터럽트를 테스트 해 보자 SYSCONFIG 에서 SYSTICK 추가하고 주기 및 인터럽트를 설정하면 된다.  MSPM0 SYSTICK 인터럽트를 이용해 1초에 한번씩 LED를 점등하는 테스트 코드volatile unsigned int gTimeTick_1ms = 0;//타이머 인터럽트 핸들러void SysTick_Handler(void){ gTimeTick_1ms++;}int main(void){ SYSCFG_DL_init(); //DL_SYSTICK_config(32000000); DL_SYSTICK_enable(); while (1) { if(gTimeTick_1ms>..
[MSPM0G3107 SSM] 개발 환경 설정 - Code Composer Studio Theia MSPM0L 시리즈 개발할때는 Code Composer Strudio v12 를 사용 했었는데 TI에서 새로운 개발환경 Theia가 나왔다고 해서 새로운 개발 환경으로 테스트 해 보았다. 우선 Code Composer Studio Theia 를 다운로드 받아 설치해 새로운 프로젝트를 생성 해보자   웹에서도 구동되기 위해 좀더 가볍고 빠르게 동작 하는 장점이 있다고 하는데... 기존 CCS v12와 비교 하면 별다를 차이는 없는것 같다. 환경이 익숙하지 않아 그런지 모르겠지만 아직은 CCS v12가 더 편리 한것 같다. 좀더 사용해 봐야 하지 않을까.. 기본 프로젝트 생성되면 syscfg 파일에서 다양한 옵션들을 변경 할 수 있다 [MSPM0G3107 SSM] 보드에 있는 LED를 점등하는 가장 간단한 ..
[MSPM0G1307 SSM] MSPM0G 시리즈 테스트 보드 제작 MSPM0에서 성능이 가장좋은 G 시리즈중 저렴한 MSPM0G3507을 테스트 할수 있는 MSPM0G3507 SSM 테스트 보드를 제작 했다. 저렴한 가격에 플래시 용량도 크고 FDCAN, ADC, DAC, OPAMP 까지 포함되어 있다. 저렴한 CAN 어플리케이션 제작에 있어 좋은 솔루션이 될것 같다. MSPM0G3507 80MHz Arm M0+ MCU, 128KB 플래시, 32KB SRAM, 2 × 12비트 4Msps ADC, DAC, 3 × 콤퍼레이터, 3 × 연산 증폭기, CAN-FD, MAT 1ku | ₩857   [MSPM03107 SSM] 회로 핀맵  ADC레퍼런스는 필요에 따라 LM4041을 외부에 별도로 실장 할수 있도록 했다.  MSPM0G 시리즈는 FDCAN이 있어서 CAN을 테스트 ..
[MSPM0C1104 SSP] ADC 테스트 - UART로 전송시 문제 발생 MSPM0의 장점은 저렴한 가격에 고성능 아날로그 블럭을 가지고 있는 것인데 가장 저렴한 MPSM0C 시리즈를 이용하면 상용의 ADC 칩보다 저렴하고 간단한 시스템을 구성할 수 있다. 그래서 MSPM0C1104를 이용하여 ADC to UART 보드를 제작 해보려고 한다.[MSPM0L1306 SSM] ADC 테스트 를 참고로 ADC 코드를 생성하려고 하는데 문제가 발생한다. UART를 설정하고 ADC를 추가 하려고 하면 핀 부족으로 에러가 발생한다.  어떻게 문제를 해결해야 하나? 8핀의경우 ADC와 UART가 핀을 공유하고 있어서 동시에 사용할 수 없는 구조이다.  UART의 기능을 좀더 찾아보다 보니 TX만 사용할 수 있는 기능이 있다. RX핀을 ADC로 사용하고 TX로 ADC데이터를 전송하는 구조로 ..