로그인 | 회원가입 | 주문 조회
총 10,748개의 질문이 있습니다.
번호 제목 작성자 등록일 조회
2213 답변완료완전초보자 문의드립니다. 완전초보자 2009-01-14 1,377
처음으로 AVR128이라는 것을 해보려고 하는데.. 간단히 생각하여 AVR완제 키트가 있고 키트에서 무엇을 테스트하면서 공부하는거지요? 예를들어 제가 코딩한것을 건드려서 led를 컨트롤하거나 스테핑모터라는것을 컨트를을 하는거는 대충 이해가는데 제가 만일 여기서 물건을 사려한다면 avr kit 만 사서는 테스트 하면서 공부하는건 할수가 없는건가요? 꼭 부하나 출력물로 뭔가를 볼 수 있는것을 걸어야지 보드를 테스트하면서 공부할 수 있는건지....아니면 보드만가지고서는 제가 코딩을 건드려서 디버깅이 다 되고 잘 run이 되는것을 테스트 하는게 불가능한거지요? 집에 오실로스코프가 있어서 디지털 출력을 파형으로 뽑지 않는한이요.. 제가 구매를 하려다 보니 뭘 사야 할지도 몰라서요ㅠㅠ 돈이 있어도 구매를 하기조차 어렵네요. 초보자라서 정말 죄송합니다. 답변부탁드리겠습니다
관리자 답변 N.T.C · 2009-01-14
안녕하세요? 고객님, NewTC를 이용하여 주셔서 감사합니다. 우선, KD-128PRO-C 완제품 킷트를 구매하면, 그 자체로도 여러가지를 해 볼 수 있습니다. 강좌->AVR 강좌를 가면, 초초보 강좌 0번부터 3번까지 총 4개의 강좌가 있는 데, 그 강좌를 보면, 가장 잘 공부할 수 있을 겁니다. 기본적인 타이머, LED 및 스위치를 이용한 포트 입출력, 시리얼통신, 세븐세그먼트 제어 등을 그 킷트 만으로 그냥 해볼 수 있고, 나머지 확장모듈을 하나하나 구매하면서 하나하나 제어하여 가는 재미가 있습니다. 그런 것들을 제어하고, 하면서 어느정도 수준이 되면, 나중엔 라인트레이서 같은 작품을 만들어 보는 것도 방법입니다. 공부해서 동작이 좀 되면, USBISP를 구매하여, 다운로딩 속도도 빠르게 해보고, JTAG을 구매하여 디버깅도 해 보고, 확장보드 사서, 센서나 모터, RF 통신 등을 인터페이스 하면서 공부하면 될 것 같네요. 다음에는 본명으로 질문 부탁드립니다. 수고하세요. >처음으로 AVR128이라는 것을 해보려고 하는데.. > >간단히 생각하여 AVR완제 키트가 있고 키트에서 무엇을 테스트하면서 공부하는거지요? 예를들어 제가 코딩한것을 건드려서 led를 컨트롤하거나 스테핑모터라는것을 컨트를을 하는거는 대충 이해가는데 제가 만일 여기서 물건을 사려한다면 avr kit 만 사서는 테스트 하면서 공부하는건 할수가 없는건가요? > >꼭 부하나 출력물로 뭔가를 볼 수 있는것을 걸어야지 보드를 테스트하면서 공부할 수 있는건지....아니면 보드만가지고서는 제가 코딩을 건드려서 디버깅이 다 되고 잘 run이 되는것을 테스트 하는게 불가능한거지요? 집에 오실로스코프가 있어서 디지털 출력을 파형으로 뽑지 않는한이요.. > >제가 구매를 하려다 보니 뭘 사야 할지도 몰라서요ㅠㅠ >돈이 있어도 구매를 하기조차 어렵네요. 초보자라서 정말 죄송합니다. >답변부탁드리겠습니다 >
2212 답변완료질문올립니다~~ 조명철 2009-01-14 1,410
안녕하세요 보드는요 atmega128 이고요 usb-isp 노트북에 연결하여 사용하고요 컴파일러는요 icc7 for avr 데모버젼을 사용하고있습니다 퓨즈설정은요 옵션에서 mega128(please see NOTES) 하였고요 컴파일시에 오류가납니다 unable to detect STK500 device Aborting ISP function 옵션에서요 atmega1280 라이팅이 되더군요 그리고 code 비젼에서는 정상작동이 됩니다... 어떻게 설정해야하는지 알려주시면 감사하겠습니다..
관리자 답변 N.T.C · 2009-01-14
Target Device setting에서 Use->project-> Options -> Device setting 을 사용하시면 좋겠습니다. 그리고, 드라이버는 깔으셨나요? COM 포트는 맞추셨는 지요? STK500.exe 디렉토리 지정은 하셨나요? Additional stk500.exe 옵션에 -dATmega128 -fD9EF -FD9EF -EFF -GFF 를 쓰셨는지요? 이와 같은 사항이 그림으로 메뉴얼에 있으니, 참고바랍니다. 수고하세요. >안녕하세요 보드는요 atmega128 이고요 usb-isp 노트북에 연결하여 사용하고요 > >컴파일러는요 icc7 for avr 데모버젼을 사용하고있습니다 퓨즈설정은요 옵션에서 > >mega128(please see NOTES) 하였고요 컴파일시에 오류가납니다 unable to > >detect STK500 device Aborting ISP function 옵션에서요 atmega1280 라이팅이 > >되더군요 그리고 code 비젼에서는 정상작동이 됩니다... >어떻게 설정해야하는지 알려주시면 감사하겠습니다..
2211 답변완료초보... park 2009-01-14 1,328
노트북으로 사용하고 있습니다. 그런데 usb케이블 지금은 없어서 atmega128에 다운로드를 할 수 가 없는 상황입니다. 이프로그램은 컴파일만 하는 방법은 없나요??
관리자 답변 N.T.C · 2009-01-14
질문은 반드시 실명으로 해주시면 감사하겠습니다. ^_^
2210 답변완료AM-RFMOD 구성품.. 홍성찬 2009-01-14 1,379
RF module구매 할때 들어있는 구성 품 ..중에 케이블이 들어있습니다 . 그 케이블 끝에 달려 있는 소켓이 어느 회사 것인가요.. 암수. 모두 품명을 좀 알수 있을까요. . 그림 연호 꺼 같은데..... 잘 안찾아 지네요. .
관리자 답변 N.T.C · 2009-01-14
안녕하세요..고객님.. 저희 NewTC제품을 이용해 주셔서 감사합니다. Molex규격과 호환인데요 아마 말씀하신 연호가 맞을겁니다. 아래를 참고하세요. 저희 회사에 찾아오시면 몇개 그냥 드릴수도 있습니다. - 아래 http://www.devicemart.co.kr/mart7/mall.php?cat=013002013 감사합니다. >RF module구매 할때 들어있는 구성 품 ..중에 >케이블이 들어있습니다 . >그 케이블 끝에 달려 있는 소켓이 어느 회사 것인가요.. > >암수. 모두 품명을 좀 알수 있을까요. . >그림 연호 꺼 같은데..... 잘 안찾아 지네요. .
2209 답변완료AVR MEGA 128pro 개발키트 ISP 사용문의 이정훈 2009-01-14 1,352
안녕하세요? AVR MEGA 128pro 개발키트 완제품 사용중인데 ATmell사의 ISP를 이용하여 프로그램 다운로드시 연결이 되지 않습니다. 그런데 128 CPU 모듈만 분리하여 연결하면 정상연결이 되며 프로그램 다운로드에도 문제가 없습니다. 구입후 처음에는 이러지 않았던거 같은데.. 갑자기 왜 이런 문제가 발생했는지 알 수 없습니다. 현재의 상태가 이상이 없는 상태인지 아니면 어딘가 수리를 받아야 하는 상황인지 알고 싶습니다. 프로그램을 전송할 때 마다 분리해야 하는 불편함이 있는데 고장이라면 어떻게 수리를 받아야 하는지 궁금합니다. 답변 부탁드립니다. 감사합니다.
관리자 답변 N.T.C · 2009-01-14
안녕하세요..고객님... 저희 NewTC제품을 이용해 주셔서 감사합니다. 증상으로 봐서는 어딘가에서 쇼트를 일으키거나 전원문제인데... 사용하시다가 이런 문제가 발생하는 경우는 이물질로 인한 ISP핀의 쇼트일 경우가 많습니다. 저희 회사로 이상 제품을 택배로 보내주시면 바로 서비스 해 드리겠습니다. 감사합니다. > >안녕하세요? >AVR MEGA 128pro 개발키트 완제품 사용중인데 ATmell사의 ISP를 이용하여 >프로그램 다운로드시 연결이 되지 않습니다. >그런데 128 CPU 모듈만 분리하여 연결하면 정상연결이 되며 >프로그램 다운로드에도 문제가 없습니다. >구입후 처음에는 이러지 않았던거 같은데.. 갑자기 왜 이런 문제가 발생했는지 >알 수 없습니다. >현재의 상태가 이상이 없는 상태인지 아니면 어딘가 수리를 받아야 하는 상황인지 >알고 싶습니다. >프로그램을 전송할 때 마다 분리해야 하는 불편함이 있는데 고장이라면 어떻게 >수리를 받아야 하는지 궁금합니다. > >답변 부탁드립니다. 감사합니다. >
2208 답변완료AD_USBISP V02 에러 문군 2009-01-13 1,386
128 모듈도 귀사의 AM128-PL 에 프로그래머 AD_USBISP V02 을 연결하여 캡쳐와 마찬가지로 설치를 다 하였으나.. 동작이 되지 않습니다. 컴퓨터 전원을 사용하였습니다
관리자 답변 홍성찬 · 2009-01-14
혹시. 관계가 있는 얘긴지 모르겠지만 USB 전원의경우 pc 종류에 따라 전력이 모자라는 경우가 간혹 있었던것같습니다. 물론 다른 제품의 경우 입니다.만 . 혹 . .외부 전원을 추가로 사용해 보는것은 어떨지 모르겠네요. .
2207 답변완료avr128pro쓰는데 문의 사항이요 신동화 2009-01-13 1,387
12볼트를 전격전압으로 사용하던데 더 높은 전압 아뎁터를 쓸수는 없는건가요? 아뎁터를 12볼트로 샀는데 실제로 제보니까 16볼트정도 나오더라구요 ㅡㅡ;; 그냥 사용할수 있는지 아니면 12볼트로 사야하는 알고 싶습니다
관리자 답변 N.T.C · 2009-01-13
안녕하세요..고객님.. 저희 NewTC제품을 이용해 주셔서 감사합니다. 저희 보드에 있는 7805가 1A용이라 보드에서 사용하는 7805에서 5V 변환 후 사용되는 전류가 800mA를 넘지 않으면 사용가능합니다. 하지만 전압이 너무 높으면 전압의 차이만큼 열로 전환되기 때문에 7805칩이 많이 뜨거워질수 있습니다. 16볼트라도 사용이 당연히 가능하죠. 감사합니다. >12볼트를 전격전압으로 사용하던데 > >더 높은 전압 아뎁터를 쓸수는 없는건가요? > >아뎁터를 12볼트로 샀는데 실제로 제보니까 16볼트정도 나오더라구요 ㅡㅡ;; > >그냥 사용할수 있는지 아니면 12볼트로 사야하는 알고 싶습니다 > >
2206 답변완료AD-USBISP V02 ERROR(재질문) 최병선 2009-01-13 1,410
소프트웨어:V02 Driver (XP,2K,ME,98) AVR STUDIO 4.15 하드웨어:AD-USBISP V02 상기 내용으로 드라이버를 새로 잡고, AVR STUDIO도 업그레이드 했습니다. ISP V01에서 인식하는 타겟보드가 ISP V02에서는 여전히 인식을 못합니다. 현 문제점 1.타겟보드가 ISP V02에서는 인식이 안됨 2.ISP V01로 프로그램 입력 후에는 ISP V02에서도 인식이 됨 급한 상황이라 ISP V01로 작업 중이기는 하나, ISP V02에서 인식이 안되는 문제 또한 신속히 해결해야 합니다. 답답한 마음에 포맷된 PC에 윈도우만 깔고 설치까지 해봤으나 해결이 되지 않고 있습니다. 해결방안을 알려 주시면 감사하겠습니다. 031-702-4272(최병선)
관리자 답변 N.T.C · 2009-01-13
안녕하세요..고객님... 저희 NewTC제품을 이용해 주셔서 감사합니다. 저희 제품은 100% 테스트가 되어나가는 거라 두 개가 같은 증상을 보인다는 것은 설정 문제이지 않을까 생각됩니다. 자세한것은 전화로 드리겠습니다. 감사합니다. > 소프트웨어:V02 Driver (XP,2K,ME,98) > AVR STUDIO 4.15 > 하드웨어:AD-USBISP V02 > 상기 내용으로 드라이버를 새로 잡고, AVR STUDIO도 업그레이드 했습니다. >ISP V01에서 인식하는 타겟보드가 ISP V02에서는 여전히 인식을 못합니다. >현 문제점 > 1.타겟보드가 ISP V02에서는 인식이 안됨 > 2.ISP V01로 프로그램 입력 후에는 ISP V02에서도 인식이 됨 > 급한 상황이라 ISP V01로 작업 중이기는 하나, ISP V02에서 인식이 안되는 문제 또한 신속히 해결해야 합니다. > 답답한 마음에 포맷된 PC에 윈도우만 깔고 설치까지 해봤으나 >해결이 되지 않고 있습니다. 해결방안을 알려 주시면 감사하겠습니다. >031-702-4272(최병선) >
2205 답변완료다시 질문올립니다 스탭모터에 관해서요 조명철 2009-01-13 1,358
스탭모터 좌우로 떨리면서요 조금있다가 두세바퀴 회전하다가 모터에서 삑소리가 3초정도신호음 나면서 반복적으로 납니다. 딜레이값을 7정도 올려보았는데요 이전과 같은상황입니다. 전선 6핀모두 채크를 하였는데요 이상없었습니다. 스텝구동모듈 AMCS2P 스탭모터 SE-NK243 전압 17v 300ma 또는 12v 2A 사용하여 가변저항을 조절하여 돌려보았는데요 계속해서 동작이 반복되더군요 답변부탁드립니다.. 예제소스는요 //ICC-AVR application builder : 07-07-23 오후 02:41:47 // Target : M128 // Crystal: 16.000Mhz // // Made by New Technology Company(N.T.C) in Korea. // DAEWOO RYU // Email : [email protected] // 82-2-704-4774(TEL), 82-2-704-4733(FAX) // http://www.NewTC.co.kr // #include <iom128v.h> #include <macros.h> #include <stdio.h> #define MOTOR_PORT PORTC #define MOTOR_PORT_DDR DDRC void port_init(void) { PORTA = 0x00; DDRA = 0x00; PORTB = 0x00; DDRB = 0x00; PORTC = 0x00; //m103 output only DDRC = 0xFF; PORTD = 0x00; DDRD = 0x00; PORTE = 0x00; DDRE = 0x00; PORTF = 0x00; DDRF = 0x33; PORTG = 0x00; DDRG = 0x03; } //UART0 initialize // desired baud rate: 9600 // actual: baud rate:9615 (0.2%) // char size: 8 bit // parity: Disabled void uart0_init(void) { UCSR0B = 0x00; //disable while setting baud rate UCSR0A = 0x00; UCSR0C = 0x06; UBRR0L = 0x67; //set baud rate lo UBRR0H = 0x00; //set baud rate hi UCSR0B = 0x18; } //call this routine to initialize all peripherals void init_devices(void) { //stop errant interrupts until set up CLI(); //disable all interrupts XDIV = 0x00; //xtal divider XMCRA = 0x00; //external memory port_init(); uart0_init(); MCUCR = 0x00; EICRA = 0x00; //extended ext ints EICRB = 0x00; //extended ext ints EIMSK = 0x00; TIMSK = 0x00; //timer interrupt sources ETIMSK = 0x00; //extended timer interrupt sources SEI(); //re-enable interrupts //all peripherals are now initialized } int putchar(char c) { while (((UCSR0A>>UDRE0)&0x01) == 0) ; // UDRE, data register empty UDR0 = c; return c; } // scanf 함수 사용시 추가할 것. int getchar(void) { while ((UCSR0A & 0x80) == 0); return UDR0; } /* Stepping Motor derive---------------------------*/ unsigned char LEFTmotorOneClock(unsigned char step, char dir) { step = step & 0x0f; if(dir){ switch(step){ case 0x09: step=0x01; break; case 0x01: step=0x03; break; case 0x03: step=0x02; break; case 0x02: step=0x06; break; case 0x06: step=0x04; break; case 0x04: step=0x0c; break; case 0x0c: step=0x08; break; case 0x08: step=0x09; break; default: step=0x0c; break; } }else{ switch(step){ case 0x09: step=0x08; break; case 0x01: step=0x09; break; case 0x03: step=0x01; break; case 0x02: step=0x03; break; case 0x06: step=0x02; break; case 0x04: step=0x06; break; case 0x0c: step=0x04; break; case 0x08: step=0x0c; break; default: step=0x0c; break; } } return step; } /* Stepping Motor derive---------------------------*/ unsigned char RIGHTmotorOneClock(unsigned char step, char dir) { step = step & 0xf0; if(dir){ switch(step){ case 0x90: step=0x10; break; case 0x10: step=0x30; break; case 0x30: step=0x20; break; case 0x20: step=0x60; break; case 0x60: step=0x40; break; case 0x40: step=0xc0; break; case 0xc0: step=0x80; break; case 0x80: step=0x90; break; default: step=0xc0; break; } }else{ switch(step){ case 0x90: step=0x80; break; case 0x10: step=0x90; break; case 0x30: step=0x10; break; case 0x20: step=0x30; break; case 0x60: step=0x20; break; case 0x40: step=0x60; break; case 0xc0: step=0x40; break; case 0x80: step=0xc0; break; default: step=0xc0; break; } } return step; } void delay(int n) { volatile int i,j; for(i=1;i<n;i++) { for(j=1;j<600;j++); } } // void main(void) { volatile unsigned char stepleft=0, stepright=0; init_devices(); //insert your functional code here... printf(" \\n\\n\\rStepping Motor test program...\\n\\r"); MOTOR_PORT_DDR = 0xff; while(1){ stepright = RIGHTmotorOneClock(stepright, 1); stepleft = LEFTmotorOneClock(stepleft, 0); delay(10); MOTOR_PORT = stepleft|stepright; } }
관리자 답변 N.T.C · 2009-01-13
안녕하세요..고객님.. 저희 NewTC 제품을 이용해 주셔서 감사합니다. ICCAVR 버젼 확인해 주시고 타겟보드 제대로 설정되어있는지 확인해 주십시요. atmega128/can은 iccavr6점대 버젼에서 설정값이고 atmega128/please see NOTES는 iccavr7이상의 버젼에서 설정값입니다. 그래도 안되시면 전화번호 주시면 연락드리겠습니다. 감사합니다. >스탭모터 좌우로 떨리면서요 조금있다가 두세바퀴 회전하다가 모터에서 삑소리가 3초정도신호음 나면서 반복적으로 납니다. 딜레이값을 7정도 올려보았는데요 이전과 같은상황입니다. >전선 6핀모두 채크를 하였는데요 이상없었습니다. > >스텝구동모듈 AMCS2P >스탭모터 SE-NK243 >전압 17v 300ma 또는 12v 2A 사용하여 가변저항을 조절하여 돌려보았는데요 >계속해서 동작이 반복되더군요 답변부탁드립니다.. > >예제소스는요 > >//ICC-AVR application builder : 07-07-23 오후 02:41:47 >// Target : M128 >// Crystal: 16.000Mhz >// >// Made by New Technology Company(N.T.C) in Korea. >// DAEWOO RYU >// Email : [email protected] >// 82-2-704-4774(TEL), 82-2-704-4733(FAX) >// http://www.NewTC.co.kr >// > >#include <iom128v.h> >#include <macros.h> >#include <stdio.h> > > >#define MOTOR_PORT PORTC >#define MOTOR_PORT_DDR DDRC > >void port_init(void) >{ >PORTA = 0x00; >DDRA = 0x00; >PORTB = 0x00; >DDRB = 0x00; >PORTC = 0x00; //m103 output only >DDRC = 0xFF; >PORTD = 0x00; >DDRD = 0x00; >PORTE = 0x00; >DDRE = 0x00; >PORTF = 0x00; >DDRF = 0x33; >PORTG = 0x00; >DDRG = 0x03; >} > >//UART0 initialize >// desired baud rate: 9600 >// actual: baud rate:9615 (0.2%) >// char size: 8 bit >// parity: Disabled >void uart0_init(void) >{ >UCSR0B = 0x00; //disable while setting baud rate >UCSR0A = 0x00; >UCSR0C = 0x06; >UBRR0L = 0x67; //set baud rate lo >UBRR0H = 0x00; //set baud rate hi >UCSR0B = 0x18; >} > >//call this routine to initialize all peripherals >void init_devices(void) >{ >//stop errant interrupts until set up >CLI(); //disable all interrupts >XDIV = 0x00; //xtal divider >XMCRA = 0x00; //external memory >port_init(); >uart0_init(); > >MCUCR = 0x00; >EICRA = 0x00; //extended ext ints >EICRB = 0x00; //extended ext ints >EIMSK = 0x00; >TIMSK = 0x00; //timer interrupt sources >ETIMSK = 0x00; //extended timer interrupt sources >SEI(); //re-enable interrupts >//all peripherals are now initialized >} > >int putchar(char c) >{ > while (((UCSR0A>>UDRE0)&0x01) == 0) ; // UDRE, data register empty > > UDR0 = c; > return c; >} > >// scanf 함수 사용시 추가할 것. >int getchar(void) >{ > while ((UCSR0A & 0x80) == 0); > return UDR0; >} > > >/* Stepping Motor derive---------------------------*/ >unsigned char LEFTmotorOneClock(unsigned char step, char dir) >{ > step = step & 0x0f; > if(dir){ > switch(step){ > case 0x09: step=0x01; break; > case 0x01: step=0x03; break; > case 0x03: step=0x02; break; > case 0x02: step=0x06; break; > case 0x06: step=0x04; break; > case 0x04: step=0x0c; break; > case 0x0c: step=0x08; break; > case 0x08: step=0x09; break; > default: step=0x0c; break; > } > }else{ > switch(step){ > case 0x09: step=0x08; break; > case 0x01: step=0x09; break; > case 0x03: step=0x01; break; > case 0x02: step=0x03; break; > case 0x06: step=0x02; break; > case 0x04: step=0x06; break; > case 0x0c: step=0x04; break; > case 0x08: step=0x0c; break; > default: step=0x0c; break; > } > } > return step; > >} > >/* Stepping Motor derive---------------------------*/ >unsigned char RIGHTmotorOneClock(unsigned char step, char dir) >{ > step = step & 0xf0; > if(dir){ > switch(step){ > case 0x90: step=0x10; break; > case 0x10: step=0x30; break; > case 0x30: step=0x20; break; > case 0x20: step=0x60; break; > case 0x60: step=0x40; break; > case 0x40: step=0xc0; break; > case 0xc0: step=0x80; break; > case 0x80: step=0x90; break; > default: step=0xc0; break; > } > }else{ > switch(step){ > case 0x90: step=0x80; break; > case 0x10: step=0x90; break; > case 0x30: step=0x10; break; > case 0x20: step=0x30; break; > case 0x60: step=0x20; break; > case 0x40: step=0x60; break; > case 0xc0: step=0x40; break; > case 0x80: step=0xc0; break; > default: step=0xc0; break; > } > } > return step; >} > > >void delay(int n) >{ > volatile int i,j; > for(i=1;i<n;i++) > { > for(j=1;j<600;j++); > } >} > >// >void main(void) >{ >volatile unsigned char stepleft=0, stepright=0; > >init_devices(); >//insert your functional code here... > >printf(" \\n\\n\\rStepping Motor test program...\\n\\r"); > >MOTOR_PORT_DDR = 0xff; >while(1){ > stepright = RIGHTmotorOneClock(stepright, 1); > stepleft = LEFTmotorOneClock(stepleft, 0); > delay(10); > MOTOR_PORT = stepleft|stepright; >} >} >
2204 답변완료스탭모터 구동시 좌우로 떨리면서요`` 조명철 2009-01-13 1,462
안녕하세요 스탭모터 좌우로 떨리면서요 조금있다가 두세바퀴 회전하다가 삑소리가 나면서 반복적으로 납니다. 스텝구동모듈 AMCS2P 스탭모터 SE-NK243 전압 17v 300ma 또는 12v 2A 사용하여 가변저항을 조절하여 돌려보았는데요 계속해서 동작이 반복되더군요 답변부탁드립니다.. 예제소스는요 //ICC-AVR application builder : 07-07-23 오후 02:41:47 // Target : M128 // Crystal: 16.000Mhz // // Made by New Technology Company(N.T.C) in Korea. // DAEWOO RYU // Email : [email protected] // 82-2-704-4774(TEL), 82-2-704-4733(FAX) // http://www.NewTC.co.kr // #include <iom128v.h> #include <macros.h> #include <stdio.h> #define MOTOR_PORT PORTC #define MOTOR_PORT_DDR DDRC void port_init(void) { PORTA = 0x00; DDRA = 0x00; PORTB = 0x00; DDRB = 0x00; PORTC = 0x00; //m103 output only DDRC = 0xFF; PORTD = 0x00; DDRD = 0x00; PORTE = 0x00; DDRE = 0x00; PORTF = 0x00; DDRF = 0x33; PORTG = 0x00; DDRG = 0x03; } //UART0 initialize // desired baud rate: 9600 // actual: baud rate:9615 (0.2%) // char size: 8 bit // parity: Disabled void uart0_init(void) { UCSR0B = 0x00; //disable while setting baud rate UCSR0A = 0x00; UCSR0C = 0x06; UBRR0L = 0x67; //set baud rate lo UBRR0H = 0x00; //set baud rate hi UCSR0B = 0x18; } //call this routine to initialize all peripherals void init_devices(void) { //stop errant interrupts until set up CLI(); //disable all interrupts XDIV = 0x00; //xtal divider XMCRA = 0x00; //external memory port_init(); uart0_init(); MCUCR = 0x00; EICRA = 0x00; //extended ext ints EICRB = 0x00; //extended ext ints EIMSK = 0x00; TIMSK = 0x00; //timer interrupt sources ETIMSK = 0x00; //extended timer interrupt sources SEI(); //re-enable interrupts //all peripherals are now initialized } int putchar(char c) { while (((UCSR0A>>UDRE0)&0x01) == 0) ; // UDRE, data register empty UDR0 = c; return c; } // scanf 함수 사용시 추가할 것. int getchar(void) { while ((UCSR0A & 0x80) == 0); return UDR0; } /* Stepping Motor derive---------------------------*/ unsigned char LEFTmotorOneClock(unsigned char step, char dir) { step = step & 0x0f; if(dir){ switch(step){ case 0x09: step=0x01; break; case 0x01: step=0x03; break; case 0x03: step=0x02; break; case 0x02: step=0x06; break; case 0x06: step=0x04; break; case 0x04: step=0x0c; break; case 0x0c: step=0x08; break; case 0x08: step=0x09; break; default: step=0x0c; break; } }else{ switch(step){ case 0x09: step=0x08; break; case 0x01: step=0x09; break; case 0x03: step=0x01; break; case 0x02: step=0x03; break; case 0x06: step=0x02; break; case 0x04: step=0x06; break; case 0x0c: step=0x04; break; case 0x08: step=0x0c; break; default: step=0x0c; break; } } return step; } /* Stepping Motor derive---------------------------*/ unsigned char RIGHTmotorOneClock(unsigned char step, char dir) { step = step & 0xf0; if(dir){ switch(step){ case 0x90: step=0x10; break; case 0x10: step=0x30; break; case 0x30: step=0x20; break; case 0x20: step=0x60; break; case 0x60: step=0x40; break; case 0x40: step=0xc0; break; case 0xc0: step=0x80; break; case 0x80: step=0x90; break; default: step=0xc0; break; } }else{ switch(step){ case 0x90: step=0x80; break; case 0x10: step=0x90; break; case 0x30: step=0x10; break; case 0x20: step=0x30; break; case 0x60: step=0x20; break; case 0x40: step=0x60; break; case 0xc0: step=0x40; break; case 0x80: step=0xc0; break; default: step=0xc0; break; } } return step; } void delay(int n) { volatile int i,j; for(i=1;i<n;i++) { for(j=1;j<600;j++); } } // void main(void) { volatile unsigned char stepleft=0, stepright=0; init_devices(); //insert your functional code here... printf(" \\n\\n\\rStepping Motor test program...\\n\\r"); MOTOR_PORT_DDR = 0xff; while(1){ stepright = RIGHTmotorOneClock(stepright, 1); stepleft = LEFTmotorOneClock(stepleft, 0); delay(3); MOTOR_PORT = stepleft|stepright; } }
관리자 답변 N.T.C · 2009-01-13
안녕하세요..고객님... 저희 NewTC제품을 이용해 주셔서 감사합니다. 우선 6핀으로 되어 있는 전선의 상태를 확인해 주세요. 그리고 소스에서 딜레이값을 좀높게(7정도) 해서 타겟보더에 라이팅해보세요. 삑소리가 난다는 것은 어디에서 난다는 것인지 자세하게 알려주시기 바랍니다. 확인해 보시고 안되시면 다시 질문 주세요. 조치해 드리겠습니다. 감사합니다. >안녕하세요 >스탭모터 좌우로 떨리면서요 조금있다가 한두바퀴 회전하다가 삑소리가 나면서 반복적으로 납니다. >스텝구동모듈 AMCS2P >스탭모터 SE-NK243 >전압 17v 300ma 또는 12v 2A 사용하여 가변저항을 조절하여 돌려보았는데요 >계속해서 동작이 반복되더군요 답변부탁드립니다.. > >소스는요 > >//ICC-AVR application builder : 07-07-23 오후 02:41:47 >// Target : M128 >// Crystal: 16.000Mhz >// >// Made by New Technology Company(N.T.C) in Korea. >// DAEWOO RYU >// Email : [email protected] >// 82-2-704-4774(TEL), 82-2-704-4733(FAX) >// http://www.NewTC.co.kr >// > >#include <iom128v.h> >#include <macros.h> >#include <stdio.h> > > >#define MOTOR_PORT PORTC >#define MOTOR_PORT_DDR DDRC > >void port_init(void) >{ > PORTA = 0x00; > DDRA = 0x00; > PORTB = 0x00; > DDRB = 0x00; > PORTC = 0x00; //m103 output only > DDRC = 0xFF; > PORTD = 0x00; > DDRD = 0x00; > PORTE = 0x00; > DDRE = 0x00; > PORTF = 0x00; > DDRF = 0x33; > PORTG = 0x00; > DDRG = 0x03; >} > >//UART0 initialize >// desired baud rate: 9600 >// actual: baud rate:9615 (0.2%) >// char size: 8 bit >// parity: Disabled >void uart0_init(void) >{ > UCSR0B = 0x00; //disable while setting baud rate > UCSR0A = 0x00; > UCSR0C = 0x06; > UBRR0L = 0x67; //set baud rate lo > UBRR0H = 0x00; //set baud rate hi > UCSR0B = 0x18; >} > >//call this routine to initialize all peripherals >void init_devices(void) >{ > //stop errant interrupts until set up > CLI(); //disable all interrupts > XDIV = 0x00; //xtal divider > XMCRA = 0x00; //external memory > port_init(); > uart0_init(); > > MCUCR = 0x00; > EICRA = 0x00; //extended ext ints > EICRB = 0x00; //extended ext ints > EIMSK = 0x00; > TIMSK = 0x00; //timer interrupt sources > ETIMSK = 0x00; //extended timer interrupt sources > SEI(); //re-enable interrupts > //all peripherals are now initialized >} > >int putchar(char c) >{ > while (((UCSR0A>>UDRE0)&0x01) == 0) ; // UDRE, data register empty > > UDR0 = c; > return c; >} > >// scanf 함수 사용시 추가할 것. >int getchar(void) >{ > while ((UCSR0A & 0x80) == 0); > return UDR0; >} > > >/* Stepping Motor derive---------------------------*/ >unsigned char LEFTmotorOneClock(unsigned char step, char dir) >{ > step = step & 0x0f; > if(dir){ > switch(step){ > case 0x09: step=0x01; break; > case 0x01: step=0x03; break; > case 0x03: step=0x02; break; > case 0x02: step=0x06; break; > case 0x06: step=0x04; break; > case 0x04: step=0x0c; break; > case 0x0c: step=0x08; break; > case 0x08: step=0x09; break; > default: step=0x0c; break; > } > }else{ > switch(step){ > case 0x09: step=0x08; break; > case 0x01: step=0x09; break; > case 0x03: step=0x01; break; > case 0x02: step=0x03; break; > case 0x06: step=0x02; break; > case 0x04: step=0x06; break; > case 0x0c: step=0x04; break; > case 0x08: step=0x0c; break; > default: step=0x0c; break; > } > } > return step; > >} > >/* Stepping Motor derive---------------------------*/ >unsigned char RIGHTmotorOneClock(unsigned char step, char dir) >{ > step = step & 0xf0; > if(dir){ > switch(step){ > case 0x90: step=0x10; break; > case 0x10: step=0x30; break; > case 0x30: step=0x20; break; > case 0x20: step=0x60; break; > case 0x60: step=0x40; break; > case 0x40: step=0xc0; break; > case 0xc0: step=0x80; break; > case 0x80: step=0x90; break; > default: step=0xc0; break; > } > }else{ > switch(step){ > case 0x90: step=0x80; break; > case 0x10: step=0x90; break; > case 0x30: step=0x10; break; > case 0x20: step=0x30; break; > case 0x60: step=0x20; break; > case 0x40: step=0x60; break; > case 0xc0: step=0x40; break; > case 0x80: step=0xc0; break; > default: step=0xc0; break; > } > } > return step; >} > > >void delay(int n) >{ > volatile int i,j; > for(i=1;i<n;i++) > { > for(j=1;j<600;j++); > } >} > >// >void main(void) >{ > volatile unsigned char stepleft=0, stepright=0; > > init_devices(); > //insert your functional code here... > > printf(" \\n\\n\\rStepping Motor test program...\\n\\r"); > > MOTOR_PORT_DDR = 0xff; > while(1){ > stepright = RIGHTmotorOneClock(stepright, 1); > stepleft = LEFTmotorOneClock(stepleft, 0); > delay(3); > MOTOR_PORT = stepleft|stepright; > } >} > >
2203 답변완료AD-USBISP V02 ERROR 최병선 2009-01-13 1,345
check that the ISP programming frequency specified on the 'Board' page is well blelow 1/4 of the clock freqeuncy of the device.... 아래 질문자와 동일한 에러가 발생합니다. AVR STUDIO 4.13을 새로 다운받아 사용중이며, ISP VO2를 이번에 구매하여 TEST중입니다. 기 V01은 다운로드가 잘되는데, V02는 드라이버를 새로 깔았는데도 에러가 발생합니다. 참고로,V01로 한 번 다운로드 한 B'D는 V02로도 다운로드가 됩니다만, V02로 첫 시도하는 B'D는 에러가 발생합니다. 빠른 답변 부탁드립니다.
관리자 답변 N.T.C · 2009-01-13
안녕하세요.. 전화로 답변 드렸는데 다시 확인하시고 그래도 안되시면 다시 질문 주세요. 감사합니다. > check that the ISP programming frequency specified on the 'Board' page > is well blelow 1/4 of the clock freqeuncy of the device.... >아래 질문자와 동일한 에러가 발생합니다. >AVR STUDIO 4.13을 새로 다운받아 사용중이며, ISP VO2를 이번에 구매하여 TEST중입니다. >기 V01은 다운로드가 잘되는데, V02는 드라이버를 새로 깔았는데도 에러가 발생합니다. >참고로,V01로 한 번 다운로드 한 B'D는 V02로도 다운로드가 됩니다만, V02로 첫 시도하는 B'D는 에러가 발생합니다. >빠른 답변 부탁드립니다.
2202 답변완료USB-ISP문의 진도영 2009-01-12 1,382
V02버젼 드라이버 설치안돼서 V01버젼드라이버 설치했습니다. 그림파일첨부 그림처럼 나오면서 포팅안됨 왜그럴까요? p.s 펌웨어 업그레이드를 받으려면 본사로 가야하나요? 아니면 다른곳도 가능한가요?? 종로에도 사업장있던데 그곳도 가능한지 궁금합니다.
관리자 답변 N.T.C · 2009-01-12
안녕하세요? 고객님, 저희 NewTC 제품을 이용하여 주셔서 감사합니다. AD-USBISP V01 을 가지고 계시는 군요. 펌웨어 업데이트가 안되어서 생긴 문제입니다. 반드시 용산 본사로 오셔야 업그레이드 가능합니다. 감사합니다. >V02버젼 드라이버 설치안돼서 V01버젼드라이버 설치했습니다. >그림파일첨부 > >그림처럼 나오면서 포팅안됨 >왜그럴까요? > > >p.s 펌웨어 업그레이드를 받으려면 본사로 가야하나요? >아니면 다른곳도 가능한가요?? 종로에도 사업장있던데 그곳도 가능한지 궁금합니다.
2201 답변완료포트 출력이 안되는 문제에 대한 질문 hbziolo 2009-01-12 1,450
안녕하세요, 현재 AM-128 Pro V. 2.0보드로 개발중입니다. 현재 포트 A, C, 출력 포트 F - ADC 입력 포트 D - 버트 입력 정도로 사용하고 있습니다. 오늘 아침까지 문제없이 잘 사용하고 있었습니다만 갑자기 포트 A를 제외한 모든 포트들의 출력이 나오지 않고 있습니다. 하드웨어적인 문제인가요? 마지막 라이팅 하기 전까지 작동상의 문제는 없었고 퓨즈비트도 확인해 봤습니다(초기 상태와 같으며 리딩, 라이팅 모두 잘 됩니다.) 다운로드는 잘됩니다만 라이팅시 "라이팅 페일러" 메시지가 나옵니다. 조속한 답변 부탁드립니다.
관리자 답변 N.T.C · 2009-01-12
안녕하세요? 고객님, 저희 NewTC 제품을 사용하여 주셔서 감사합니다. 아마도 고객님의 경우는 하드웨어적인 문제 같습니다. 정확한 것은 테스트 해보아야 알 수 있겠습니다. 본사로 방문해 주시거나, 택배로 보내셔서 점검 받으시기 바랍니다. 본사 A/S 규정상 이 경우 택배비 및 AS 비용이 고객님 부담으로 발생되게 됩니다. 가까운데 계시다면, 직접 찾아오시는 것이 좋겠습니다. 본 싸이트에서는 반드시 본명으로 질문 부탁드립니다. 감사합니다. >안녕하세요, > >현재 AM-128 Pro V. 2.0보드로 개발중입니다. > >현재 포트 A, C, 출력 >포트 F - ADC 입력 >포트 D - 버트 입력 정도로 사용하고 있습니다. > >오늘 아침까지 문제없이 잘 사용하고 있었습니다만 갑자기 포트 A를 제외한 모든 포트들의 출력이 나오지 않고 있습니다. > >하드웨어적인 문제인가요? >마지막 라이팅 하기 전까지 작동상의 문제는 없었고 >퓨즈비트도 확인해 봤습니다(초기 상태와 같으며 리딩, 라이팅 모두 잘 됩니다.) > >다운로드는 잘됩니다만 라이팅시 "라이팅 페일러" 메시지가 나옵니다. > >조속한 답변 부탁드립니다. >
2200 답변완료AD-USBISP 관련 문의 드립니다. 마이콤 2009-01-12 1,433
직접 방문 하라는 말씀은 잠시 접어두시고^^ 예상되는 문제들이 있으면 무엇이든 말씀해주세요!! 우선 테스트 해 볼수 있는데까지 해보도록하겠습니다..!! 벌써 하루를 꼬박 여기저기 문의를 드려보는데 해답을 찾을수가 없네요!! *작업조건* 1. 사용 다운로더 귀사의 AD-USBISP입니다. 2. 소프트는 Code vision 버젼 1.25 를 사용주입니다. 3. 보드는 타사의 AT90S2313 와 Atmega8535 를 사용하고 있습니다. 4. 보드의 전원은 자체전원 12볼트와 USBISP전원 두가지 사용 해봤습니다. *문제점* 1. 우선 AD-USBISP V02_XP2KME98이란 드라이버를 다운받아 설치했지만, USBISP인식 못함 그래서 CDM_2.02.04를 다운로드해서 했더니 설치됨 2. 드라이버를 설치후 칩2313에 코드비젼으로 작성하여 인스톨하려했으나 "FLASH contents mismatch at address: 0h FLASH rEAD : FF0BH Buffer data:C00BH Continue?" 라는 메세지가 발생하면서 인스톨 안됨 3. 위와 같은 이유로 다른보드 Atmega8535를 가지고 다시 테스트를 해본결과 이번엔 AVRISP error entering....mode라는 메세지가 발생 여기저기 확인한결과 케이블의 이상의 가능성이 크다고 해서 직접 납땜도 해봤으나 같은 현생 계속적으로 발생..!! 비트설정도 요기 Q&A에서 보고 확인해봤습니다..!! 이상 위와같은 현상이 계속되고 있습니다..!! AD-USBISP가 지원하는 칩이 따로 있어 그런건가요? 아니면 어떠한 다른 설정이 문제가 있는건가요? 포트도 메뉴얼에 나와 있는대로 맞춰 주었습니다..!! 아무쪼록 전문가적인 소견 부탁드립니다. 직접보시고 확인하는것이 물론 가장 빠르고 정확하다는것은 아나... 그래도 직접 해볼수 있는 방법을 알려주시면 감사하겠습니다..!!
관리자 답변 N.T.C · 2009-01-12
안녕하세요? 고객님, 저희 NewTC 제품을 이용하여 주셔서 감사합니다. 우선, AD-USBISP V01을 사용하고 계신 것 같습니다. 본사에 방문하셔서 펌웨어 업그레이드를 하시는 것이 좋겠습니다. 그리고, 오시기 어렵다면, 그 전에 AVR Studio 4.13 + 서비스팩1을 깔으셔서 사용해 보시는 것이 좋겠습니다. 8535 및 90S2313 모두 보드 제작해 본 적이 있습니다. 다 잘 됩니다. 아직까지는 MCU마다 다른 특성을 보인다거나 한 적은 없습니다. - AVR Studio 4.13 - http://www.atmel.com/dyn/resources/prod_documents/aStudio4b528.exe - Service Pack 1 - http://www.atmel.com/dyn/resources/prod_documents/aStudio413SP1b557.exe 궁금하니 결과 남겨 주시기 바랍니다. 본 싸이트에서는 다음부터는 본명으로 꼭 질문 부탁드립니다. 수고하세요. >직접 방문 하라는 말씀은 잠시 접어두시고^^ >예상되는 문제들이 있으면 무엇이든 말씀해주세요!! >우선 테스트 해 볼수 있는데까지 해보도록하겠습니다..!! >벌써 하루를 꼬박 여기저기 문의를 드려보는데 해답을 찾을수가 없네요!! > >*작업조건* >1. 사용 다운로더 귀사의 AD-USBISP입니다. >2. 소프트는 Code vision 버젼 1.25 를 사용주입니다. >3. 보드는 타사의 AT90S2313 와 Atmega8535 를 사용하고 있습니다. >4. 보드의 전원은 자체전원 12볼트와 USBISP전원 두가지 사용 해봤습니다. > >*문제점* >1. 우선 AD-USBISP V02_XP2KME98이란 드라이버를 다운받아 설치했지만, > USBISP인식 못함 그래서 CDM_2.02.04를 다운로드해서 했더니 설치됨 >2. 드라이버를 설치후 칩2313에 코드비젼으로 작성하여 인스톨하려했으나 > "FLASH contents mismatch at address: 0h > FLASH rEAD : FF0BH > Buffer data:C00BH > Continue?" > 라는 메세지가 발생하면서 인스톨 안됨 >3. 위와 같은 이유로 다른보드 Atmega8535를 가지고 다시 테스트를 해본결과 > 이번엔 AVRISP error entering....mode라는 메세지가 발생 > 여기저기 확인한결과 케이블의 이상의 가능성이 크다고 해서 직접 납땜도 > 해봤으나 같은 현생 계속적으로 발생..!! > 비트설정도 요기 Q&A에서 보고 확인해봤습니다..!! > >이상 위와같은 현상이 계속되고 있습니다..!! >AD-USBISP가 지원하는 칩이 따로 있어 그런건가요? >아니면 어떠한 다른 설정이 문제가 있는건가요? >포트도 메뉴얼에 나와 있는대로 맞춰 주었습니다..!! >아무쪼록 전문가적인 소견 부탁드립니다. >직접보시고 확인하는것이 물론 가장 빠르고 정확하다는것은 아나... >그래도 직접 해볼수 있는 방법을 알려주시면 감사하겠습니다..!! > > > >
2199 답변완료[질문]LED의 점등예제를 학습하고있습니다 박종민 2009-01-12 1,375
KT-128사용자입니다. 아래의 코드로 LED의 점등예제를 학습하고있습니다. 아래의 코드의 경우 점등하고 옆으로 한칸식 이동하고 8번 LED까지 갔다가 다시 1번으로 돌아오는 경우입니다. 하지만 켜지면서 진행을 하고싶은데 이때는 어떻게 해야되나요? void main(void) { int i,j; init_devices(); while(1){ for(i=0; i<8; i++){ EX_LED = 0x01<<i; delay(300); } break; } while(1){ for(i=0; i<8; i++){ EX_LED = 0x80>>i; delay(300); } break; } } void delay(int n) { int i,j; for(i=1;i<n;i++) { for(j=1;j<600;j++); } }
관리자 답변 N.T.C · 2009-01-12
안녕하세요? 고객님, 저희 NewTC 제품을 이용하여 주셔서 감사합니다. 그런데, >하지만 켜지면서 진행을 하고싶은데 이때는 어떻게 해야되나요? 이 부분이 무슨 말씀인지 이해가 안갑니다. 답변 바랍니다. >KT-128사용자입니다. >아래의 코드로 LED의 점등예제를 학습하고있습니다. >아래의 코드의 경우 점등하고 옆으로 한칸식 이동하고 8번 LED까지 갔다가 다시 1번으로 돌아오는 경우입니다. > >하지만 켜지면서 진행을 하고싶은데 이때는 어떻게 해야되나요? > >void main(void) >{ > int i,j; > init_devices(); > while(1){ > for(i=0; i<8; i++){ > EX_LED = 0x01<<i; > delay(300); > } > break; > } > > while(1){ > for(i=0; i<8; i++){ > EX_LED = 0x80>>i; > delay(300); > } > break; > } > > >} > > >void delay(int n) >{ > int i,j; > for(i=1;i<n;i++) > { > for(j=1;j<600;j++); > } >}