본문 바로가기

전체 글

(1955)
[CC2500] ez430-RF2500 가지고 놀기 2 - UART 통신 [CC2500] ez430-RF2500 가지고 놀기 2 - UART 통신 임베디드 환경에서 가장 간단히 하고 강력한 디버거는 printf가 아닐까... 아무튼 TI에서 제공 되는 예제는 UART사용이 좀 지저분하다. 물론 코드 사이즈 줄이기엔 좋지만 디버깅할때는 너무 불편하다. printf 사용할 수 있도록 환경을 구성해서 테스트 해보려고 한다. ez430 키트에서 제공되는 USB동글은 JTAG기능 및 UART통신이 가능하지만 보레이트를 9600이상 올리면 깨지는 현상이 많다(아주 많이 심각함) 그래서 USB2UART에 연결해서 테스트 하려고 하는데... RF2500의 확장 포트에는 UART를 뽑아 놓지 않았다. 윽... 아래와 같이 점퍼 날려서 확장핀을 뽑았다. CC2500 UART통신 테스트 예제 코..
[CC2500] ez430-RF2500 가지고 놀기1 - LED, Switch 제어 [CC2500] ez430-RF2500 가지고 놀기1 - LED, Switch 제어 ez430-RF2500 키트를 이용하여 몇가지 테스트를 진행해 보았다. TI에서 제공되는 예제는 코드 스타일이 나하고 맞지 않고 뭔가 수정하려고 해도 너무 복잡하게 되어 있어 전체적인 해도하고 원하는 형태로 쉽게 변경하기 위해 새롭게 작성해 보았다. LED 먼저 LED를 깜박이는 예제를 작성해 보자. LED는 P1.0에 Red, P1.1에 Green LED가 연결되어 있다. ez430-RF2500 예제는 8Mhz에서 돌아 가므로 SystemInit()함수에서 8Mhz로 돌아 가도록 설정하고(SYS_CLK_8MHZ), LED Driver 은 간단히 아래와 같이 작성하면 된다. [config.h] #define __SYS_C..
[XMega128] 회로 제작 고려 사항 [XMega128] 회로 제작 고려 사항 프로그래밍 XMega128의 프로그래밍은 JTAG, PDI를 지원한다. JTAG은 PORTB의 4핀을 사용한다. 기존 AVR JTAG에서는 PORTA를 사용했는데 조금은 변견되었다. PDI는 PDI, Reset을 사용한다. PIN89 : PDI PDI_DATA PIN90: RESET PDI_CLOCK BOR 지원이 되기 때문에 Reset은 따로 필요 없다. 특히 리셋 지연 콘덴서를 연결하면 PDI를 통한 다운롣드가 되지 않기 때문에 연결하지 않도록 한다.
[myUSB] STM32 EVM CAN Interrupt Test [myUSB] STM32 EVM CAN Interrupt Test STM32 (myUSB EVM)보드와 LM3S5732 EVM보드를 이용하여 CAN통신 테스트를 해 보았다. CAN인터럽트를 이용하여 데이터를 수신하도록 했다. 지난번에 폴링으로 테스트 하긴 했는데... 새롭게 하려니 또 시간이 많이 소비되는것 같다. 서로 다른 보드의 환경설정 하는데 시간이 많이 걸렸다. 정리만 잘 해두었어도 시간을 많이 줄일 수 있었는데... 다시한번 정리해 보도록 한다. 모터 제어 확장 보드의 LM3S5732에서 SW7를 누르면 CAN데이터가 전송되도록 했다. STM32 CAN인터럽트 인터럽트 소스는 여러가지 있지만 가장 많이 사용하게 될 소스는 CAN_RF0R, CAN_RF1R 이다. CAN 데이터가 Mailbox에 ..
C# 문자열 중에서 토큰으로 분리된 숫자 구하기 C# 문자열 중에서 토큰으로 분리된 숫자 구하기 UART로 전송되는 여러 숫자로 이루어진 문자열 데이터를 숫자로 분리 하여 표시 하기위해 함수로 만들어 보았다. ScanValue 함수 private void ScanValue(string tokenString, int[]Result) { string[] split = tokenString.Split(new Char[] { ' ' }); int i, cnt = split.Length; bool result = true; for(i=0;i
[AT90USB162 EVM] 부트로더 - USB다운로더 [AT90USB162 EVM] 부트로더 - USB다운로더 AT90USB162는 기본적으로 USB를 이용하여 펌웨어를 다운로드 할 수 있는 부트로더가 있기 때문에 USB를 이용하여 간단하게 펌웨어를 다운로드 할 수 있다. Flip프로그램을 이용하면 간단히 USB로 펌웨어를 다운로드 할 수 있다. USB 부트를 사용하기위해 PD7를 Low로 하면 된다. USB Boot Mode Enable -> PD7 Low 부트 매모리 맵 부트 영역도 Write가능하므로 독자적으로 부트로더를 수정 가능하다. ISP를 이용하여 부트영역을 지우거나 만약 실행코드가 부트영역을 넘어가는 경우 새롭게 부트로더를 다운로드 해야 한다. (Atmel 홈페이지에서 다운로드 가능하지만 소스는 제공하지 않고 있다.) 물론 부트영역을 보호하는..
[DSP2802x EVM] Piccolo 시리즈 TMS320F28027 테스트 보드 제작 [DSP2802x EVM] Piccolo 시리즈 TMS320F28027 테스트 보드 제작 TMS320F2802x 예제 소스 TI에서 제공되는 예제 소스이다. 기존 개발환경에서 호환가능 하다. TMS320F28027 회로도 TI사의 Piccolo 시리즈중 TMS320F28027 EVM보드를 제작했다. DSP28코어에 저렴하고 강력한 페리를 자랑하는 DSP이다. 저렴하고 소형이라 앞으로 쓰일이 많이 있으리라 생각한다. 예전 TI DSP와 달리 Core LDO가 내장되어 있어 회로가 상당히 간단하다. 기존 보드와 핀호환을 갖도록 했고 USB2UART, Bluetooth 같은 통신모듈을 연결할 수 있도록 했다. 확장 테스트보드 TMS320F28027 EVM 테스트 동영상 코드 자체를 좀 수정을 해야 동작을 하지..
[TM0027 GLCD EVM] 보드 제작 - 128x64 ST7565 Driver [TM0027 GLCD EVM] 보드 제작 - 128x64 ST7565 Driver TM0027 GLCD 모듈(ST7565 드라이버)을 여러가지 용도로 사용할 수 있도록 소형화 해서 모듈로 제작했다. 시리얼 방식 회로도 TM0027 초기화코드 - Cortex-M3 예제소스코드 링크 - MSP430 예제 소스코드 링크 - AVR 예제소스코드 링크 void Lcd_init(void) { glcdport_init(); Delay(500); Lcd_Cmd(0xab); //new Lcd_Cmd(0xaf); // display on Lcd_Cmd(0x40); // display start line=0 Lcd_Cmd(0xc8); // Common output mode select= reverse Lcd_Cmd(0xa..