로그인 | 회원가입 | 주문 조회
총 10,748개의 질문이 있습니다.
번호 제목 작성자 등록일 조회
2273 답변완료avr-isp 에 대한 질문입니다. 김재환 2009-01-29 1,338
avr-isp v02를 구입했는데요 제가 산 기판은 NT-A128 이라는 모델의 기판입니다. NTC의 기판이 아니라서요.. 이 기판의 ISP가 AVR ISP에서 사용되는 6핀이랑, KANDA사의 10핀 ISP 콘넥터를 지원한다고 나와있습니다. 혹시 제가 구입한 ISP를 통해서 인식할 수 없나요? 구동해보니 ISP 드라이버를 깔고 실행했는데 기판과 피씨와의 연결이 안됩니다. 확인 좀 부탁드립니다.
관리자 답변 N.T.C · 2009-01-29
안녕하세요...고객님.. 저희 NewTC 제품을 이용해 주셔서 감사합니다. 고객님께서 사용하시는 NT-A128 회로도를 보지 않는 한 뭐라고 단정 하기는 어렵습니다. NT-A128이 AVR ISP 표준을 따른단면 당연히 저희 USBISP로 다운로드가 가능합니다. 예전에 한 고객님께서 저희 USBISP로 도저히 다운로드가 안되어 직접 찾아오신 적이 있는데 그때 그 고객님께서 쓰시던 보더가 디바이스 마트에서 나온 보드였는데 그 보드는 특이하게 인에이블 칩을 하나 추가해서 자사 ISP로만 다운로드가 되게 되어 있는 경우도 보았습니다. 보드를 만든 회사에 문의해서 표준 ISP로 다운로드가 가능한지 먼저 물어보시는게 빠를것 같습니다. 아마도 그때의 보드가 고객님의 보드 같습니다. 그 보드에 본사의 ISP를 쓰시려면, 10핀중에서 N/C로 되어 있는 3번핀에 5V를 강제로 연결하여 넣어 주면 잘 동작할겁니다. 표준을 따른다면 MOSI, MISO, SCK, RST, GND핀만 제대로 연결하면 사용가능 합니다. 감사합니다. >avr-isp v02를 구입했는데요 >제가 산 기판은 NT-A128 이라는 모델의 기판입니다. NTC의 기판이 아니라서요.. >이 기판의 ISP가 AVR ISP에서 사용되는 6핀이랑, KANDA사의 10핀 ISP 콘넥터를 지원한다고 나와있습니다. >혹시 제가 구입한 ISP를 통해서 인식할 수 없나요? >구동해보니 ISP 드라이버를 깔고 실행했는데 기판과 피씨와의 연결이 안됩니다. >확인 좀 부탁드립니다.
2272 답변완료USBISP 질문 김길남 2009-01-29 1,452
안녕하세요. AD-USBISP를 가지고있는데요. XP사용하고있는데 v02드라이버가 받아지지 않네요. http://www.newtc.co.kr/download/AD-USBISP/AD-USBISP_V02_XP2KME98.zip 프로그램을 전송하려고하는데 AVRISP error entering programming mode라고 나오는데 드라이버문제 맞나해서요.
관리자 답변 N.T.C · 2009-01-29
안녕하세요...고객님.. 저희 NewTC 제품을 이용해 주셔서 감사합니다. http://www.newtc.co.kr/download/AD-USBISP/AD-USBISP_V02_XP2KME98_.zip 으로 링크 주소가 변경되었습니다. 감사합니다. >안녕하세요. >AD-USBISP를 가지고있는데요. >XP사용하고있는데 v02드라이버가 받아지지 않네요. >http://www.newtc.co.kr/download/AD-USBISP/AD-USBISP_V02_XP2KME98.zip > >프로그램을 전송하려고하는데 >AVRISP error entering programming mode라고 나오는데 >드라이버문제 맞나해서요.
2271 답변완료프로그램실행이 잘 안되요. 신은주 2009-01-29 1,432
귀사의ATMega128 개발보드 (AB-M128PRO-A)와 USB-ISPV02를 구입했습니다. 간단하게 보드상에 있는 PG0,PG LED와 AM-TL8 LED 모듈을 이용하여 LED On/Off를 테스트하고 싶어서 아래와 같이 코드하였습니다. 프로그램다운로딩이후에 LED모듈과 PG0,PG1에 불이 켜지고는 꺼지지가 않고 계속 On상태를 유지해요. 즉 main에서 init_device까지만 동작하고 그 이후는 동작을 안하는듯한데 어떻게 해결해야하는지요. 프로그램이랄것도 없지만 아래와 같이.... //ICC-AVR application builder : 2009-01-29 오후 3:08:21 // Target : M128 // Crystal: 16.000Mhz #include <iom128v.h> #include <macros.h> void port_init(void) { PORTA = 0x00; DDRA = 0x00; PORTB = 0xff; DDRB = 0xff; PORTC = 0x00; //m103 output only DDRC = 0x00; PORTD = 0x00; DDRD = 0x00; PORTE = 0x00; DDRE = 0x00; PORTF = 0x00; DDRF = 0x00; PORTG = 0x03; DDRG = 0x03; // 0,1 output_LED, 3,4 input_SW } //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(); 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 } void delay(int cnt) { int i,j; for(i=0; i<cnt; i++) for(j=0; j,600;j++) ; } void main(void) { init_devices(); DDRG = 0x03; DDRB = 0xff; while(1) { PORTG = 0x03; PORTB = 0xff; delay(1000); PORTG = 0x00; PORTB = 0x00; delay(1000); } }
관리자 답변 N.T.C · 2009-01-29
안녕하세요..고객님.. 저희 NewTC 제품을 이용해 주셔서 감사합니다. delay 소스에 문제가 있네요.^_^ void delay(int cnt) { int i,j; for(i=0; i<cnt; i++) for(j=0; j,600;j++) ; } for(j=0; j<600; j++) 이렇게 고쳐야 하지요. 즉 타이핑 실수를 해서 딜레이 간격이 너무 짧아 계속 켜져있는것처럼 보였던 겁니다. 하시다가 또 질문 있으면 언제라도 연락주세요. 감사합니다. >귀사의ATMega128 개발보드 (AB-M128PRO-A)와 USB-ISPV02를 구입했습니다. >간단하게 보드상에 있는 PG0,PG LED와 AM-TL8 LED 모듈을 이용하여 LED On/Off를 테스트하고 싶어서 아래와 같이 코드하였습니다. >프로그램다운로딩이후에 LED모듈과 PG0,PG1에 불이 켜지고는 꺼지지가 않고 계속 On상태를 유지해요. >즉 main에서 init_device까지만 동작하고 그 이후는 동작을 안하는듯한데 어떻게 해결해야하는지요. > >프로그램이랄것도 없지만 아래와 같이.... > > >//ICC-AVR application builder : 2009-01-29 오후 3:08:21 >// Target : M128 >// Crystal: 16.000Mhz > >#include <iom128v.h> >#include <macros.h> > >void port_init(void) >{ > PORTA = 0x00; > DDRA = 0x00; > PORTB = 0xff; > DDRB = 0xff; > PORTC = 0x00; //m103 output only > DDRC = 0x00; > PORTD = 0x00; > DDRD = 0x00; > PORTE = 0x00; > DDRE = 0x00; > PORTF = 0x00; > DDRF = 0x00; > PORTG = 0x03; > DDRG = 0x03; // 0,1 output_LED, 3,4 input_SW >} > >//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(); > > 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 >} > > >void delay(int cnt) > { > int i,j; > for(i=0; i<cnt; i++) > for(j=0; j,600;j++) > ; > } > > >void main(void) >{ > init_devices(); > DDRG = 0x03; > DDRB = 0xff; > while(1) > { > PORTG = 0x03; > PORTB = 0xff; > delay(1000); > PORTG = 0x00; > PORTB = 0x00; > delay(1000); > } > } > >
2270 답변완료Chip Programming Error 초보자 2009-01-29 1,325
1. 어제의 답변 중에 다음과 같은 내용이 있었는데, AVR Studio 의 STK500 과 CodeVision 을 연결하는 방법을 알고 싶습니다. 2. 사소한 질문 하나 더 ... : USB 메모리는 화면 하단의 화살표를 클릭하여 제거하는데, USB-ISP 는 그냥 빼면 되나요? 감사합니다. "코드비젼은 자체적으로 stk500을 지원안하니깐 avr studio의 stk500과 연결시켜야 하는데 연결은 시켰습니까?"
관리자 답변 N.T.C · 2009-01-29
아래 답변은 답변시 그 순간 ICCAVR로 어제 잘못 생각하고 답변한 것 같습니다. 다른 분들을 위하여 그쪽 답변은 수정하여 두었습니다. 코드 비전은 자체적으로 STK500을 지원합니다. 아래에 자세한 방법이 나와 있습니다. - 아래 - http://www.newtc.co.kr/board/view.php?id=qna&page=1&sn1=&divpage=1&sn=off&ss=on&sc=off&keyword=코드비전&select_arrange=headnum&desc=asc&no=5981 그리고, 2.xx버전의 경우 포트를 9번도 지원합니다. 제가 가지고 있는 버전은 2.03.9라는 데모 버전인데, COM16번까지 지원하네요. 하지만, 예전 1.25.x 버전인가는 COM6번인가까지만 지원하는 것으로 알고 있습니다. 사용하는 버전을 잘 확인한 후에, 포트를 맞춰서 사용하기 바랍니다. USBISP도 물론 USB 디바이스 이므로, 화살표를 클릭하여 확인하고 빼는 것이 좋습니다. USB device는 모두 동일합니다. 그러나, USBISP 자체에는 바로 빼도 별 하자가 없습니다. 다만, 뺏다 끼웠다를 계속 그냥 확인 없이 반복하게 되면, 순간 PC는 이게 끼워진 건지, 빠진건지에 대한 개념을 잃어버려서 그냥 끼워져 있는 걸로 인식하고 있을 수도 있고, 심하면, 컴퓨터를 리부팅해야 할 수도 있습니다. 그냥 빼도 되지만, 가능하다면, 확인하고 빼는 것이 좋겠습니다. 수고하세요. >1. 어제의 답변 중에 다음과 같은 내용이 있었는데, AVR Studio 의 STK500 과 CodeVision 을 연결하는 방법을 알고 싶습니다. > >2. 사소한 질문 하나 더 ... : USB 메모리는 화면 하단의 화살표를 클릭하여 제거하는데, USB-ISP 는 그냥 빼면 되나요? > >감사합니다. > >"코드비젼은 자체적으로 stk500을 지원안하니깐 avr studio의 stk500과 연결시켜야 하는데 연결은 시켰습니까?" > >
2269 답변완료AM-SLCD216 질문 드립니다. 최현준 2009-01-29 1,482
안녕하세요, LCD 출력에 관해서 질문 드립니다. UART0으로 데이터를 받고 UART1에 LCD 를 연결해서 DATA 를 출력하려고 하는데, 설명서에 나오는 printf 를 사용했더니 출력이 되지 않습니다. 어떻게 해야 될까요?? 감사합니다.
관리자 답변 N.T.C · 2009-01-29
안녕하세요? 고객님, N.T.C 제품을 이용하여 주셔서 감사합니다. printf 함수는 putchar 함수를 내부 함수로 사용합니다. 따라서, 현재는 아마도 UART0로 출력되고 있을겁니다. 아래 함수를 추가해 주면, printf 사용시 UART1로 출력될 겁니다. printf와 scanf 함수가 하드웨어에 따라 다른 곳으로 출력할 수 있게 변경 가능하기 때문에, 생기는 메시지 이므로, 내부함수인 putchar와 getchar를 사용하는 환경에 맞게 적어주어야합니다.Option에서 target을 ATMega128(Please see NOTES)로 사용하세요. - 아래 - #include <stdio.h> // printf 함수 사용시 추가할 것. int putchar(char c) { while (((UCSR1A>>UDRE1)&0x01) == 0) ; // UDRE, data register empty UDR1 = c; return c; } // scanf 함수 사용시 추가할 것. int getchar(void) { while ((UCSR1A & 0x80) == 0); return UDR1; } 수고하세요. > >안녕하세요, LCD 출력에 관해서 질문 드립니다. >UART0으로 데이터를 받고 UART1에 LCD 를 연결해서 DATA 를 출력하려고 하는데, 설명서에 나오는 printf 를 사용했더니 출력이 되지 않습니다. >어떻게 해야 될까요?? > >감사합니다.
2268 답변완료AD-USBISP-L 김민수 2009-01-29 1,430
홈페이지에서 관련 드라이버를 설치하고 AM-128PL 과 연결했습니다. 스위치 2번을 올리니까 USB전원을 통해서 기본 내장된 LED등은 켜지는데 문제는 제가 프로그래밍 한 코드를 넣으려고 하는데 장치관리자 상에는 COM포트가 보이지 않습니다. USB를 꽂았을때 장치인식 실패등은 발생하지 않았고, 퓨징을 어떤식으로 해야할지 모르겠습니다. WINDOW XP쓰고 있었는데 혹시 드라이버가 충돌하나 싶어서 VISTA를 새로 설치하고 AVR-STUDIO 4.3다시 설치해봤으나 COM 포트가 없는 관계로 connect가 되지 않습니다. 메뉴얼 상에는 USB-SERIAL 변환 프로그램이 정상적으로 작동해서 COM포트가 있다는 가정인듯싶은데 Ponyprog 같은경우 USB로 굽기가 가능하지만 STK500지원안해서 안되고 AVR-STUDIO는 COM포트가 필요할것같은데 어찌해야하나요?
관리자 답변 N.T.C · 2009-01-29
안녕하세요..고객님... 저희 NewTC 제품을 이용해 주셔서 감사합니다. COM 포트가 보이지 않는다는 말은 제대로 인식이 되지 않은 상태입니다. USB연결 다시 확인해 보시고 드라이브 다시 설치해 보십시요.. USBISP V02일 경우 보다 최신의 드라이브를 설치할수 있도록 링크 연결해 드리겠습니다. http://www.drivers-download.com/en/download.php?id=180&did=119 감사합니다. >홈페이지에서 관련 드라이버를 설치하고 AM-128PL 과 연결했습니다. >스위치 2번을 올리니까 USB전원을 통해서 기본 내장된 LED등은 켜지는데 > >문제는 제가 프로그래밍 한 코드를 넣으려고 하는데 >장치관리자 상에는 COM포트가 보이지 않습니다. USB를 꽂았을때 >장치인식 실패등은 발생하지 않았고, 퓨징을 어떤식으로 해야할지 모르겠습니다. > >WINDOW XP쓰고 있었는데 혹시 드라이버가 충돌하나 싶어서 VISTA를 새로 설치하고 AVR-STUDIO 4.3다시 설치해봤으나 COM 포트가 없는 관계로 connect가 되지 않습니다. > >메뉴얼 상에는 USB-SERIAL 변환 프로그램이 정상적으로 작동해서 COM포트가 있다는 가정인듯싶은데 Ponyprog 같은경우 USB로 굽기가 가능하지만 STK500지원안해서 안되고 AVR-STUDIO는 COM포트가 필요할것같은데 어찌해야하나요?
2267 답변완료모터속도관련 초보 2009-01-29 1,436
모터 소스에서 딜레이를 바꾸면서 도는속도를 측정해 보았는대 돌아갈때 1바퀴째 도는 속도와 2바퀴째 도는 속도가 다릅니다 ㅠ 왜 그런건가요??ㅠ
관리자 답변 N.T.C · 2009-01-29
안녕하세요? 고객님, 어떤 모터인가요? DC 모터의 경우 빠른 속도로 회전을 요구했다면, 관성때문에 처음엔 속도가 안날 수도 있겠지요. 소스상의 문제일 수도 있구요. 본명으로 좀 더 자세히 질문해 주세요. 수고하세요. >모터 소스에서 딜레이를 바꾸면서 도는속도를 측정해 보았는대 > >돌아갈때 1바퀴째 도는 속도와 2바퀴째 도는 속도가 다릅니다 ㅠ > >왜 그런건가요??ㅠ
2266 답변완료Chip Programming Error 초보자 2009-01-28 1,346
빠른 답변에 감사 드립니다. 1. 다음과 같이 알려주신대로 하였습니다. 1) CodeVisionAVR V2.03.9 를 사용함. 2) USB-ISP V02 이며, PL2303 이 설치된 것을 확인하였습니다. 3) 장치관리자 > 포트에서 COM9 로 인식된 것을 확인하였습니다. 4) Programming 시 외부 X-tal 은 없는 상태이나, Fuse Bit 를 어떻게 설정하는지 몰라서 그냥 놔 두었습니다. 2. 그런데 여러 가지로 테스트 하다보니 다음과 같은 현상이 있었습니다. CPU (ATMEGA8535-16PU) 를 새 것으로 교체하여 [Program All] 하면 [Progress Bar] 가 나타나서 Programming 됩니다. 그러나 CPU 를 그대로 놔두고 다시 [Program All] 하면 AVRISP error 메세지가 나타납니다. 3. AVR Studio 로 Programming 하였더니 현재까지는 잘 되고 있습니다. >>> AVR Studio 의 설정을 PPT 파일로 첨부하였습니다. 혹시 잘못된 부분이 있는지 검토해 주시면 고맙겠습니다. 마지막으로, 빠르고 친절한 답변에 감사드리며, 혹시 덧붙일 말씀이 있으시면 부탁드립니다. 감사합니다.
관리자 답변 N.T.C · 2009-01-28
안녕하세요..고객님... 저희 NewTC 제품을 이용해 주셔서 감사합니다. 제어판->시스템->하드웨어-> 장치관리자에서 com9로 인식되었다면 코드비전 컴파일러에서 com9를 인식 못하니깐, 코드비전에서 인식할 수 있도록 장치관리자에서 코드비전 인식 가능한 com포트로 지정해 주셨는지요? 확인해 보세요. 안되어 있다면, 해주셔야 합니다. fuse 비트는 0xD9E1으로 설정하시면 문제 없을 것 같네요. avr studio에서 잘 된다는 말은 99.9% 코드비젼 설정 문제입니다. 이왕이면 codevision v1.25.x이상의 버젼을 사용하시지요.. . Q&A에서 codevision이라고 검색하시면 비슷한 경우의 수를 볼수 있을 겁니다. 비슷한 문제로 예전에 그 버전을 깔고 오신 고객님이 계셔서 확인을 해 보았는 데, 코드비전에서 다운로드 할 때, 퓨즈를 함께 write 하도록 설정되잖아요. 거기서, 코드비젼의 fuse 디폴트 설정 부분이 있는데 체크를 없애거나, 반드시 SUT1, BOOTSZ0, BOOTSZ1 이 세가지를 체크해 두셨는 지 확인해 보세요. 퓨즈를 저장하는 옵션을 안 건드리고 할 경우, 128에 퓨즈가 0xFFDFFF로 저장이 되고, 그러고선 안되더라구요. 그래서, 위와 같이 세가지를 체크하고 하면, 아무 문제 없이 잘 됩니다. 일단, 한 번 0xFFDFFF로 바뀌고 나면, 다시 0xFFD9EF로 잡아야만 되더군요. ICCAVR이나 AVR Studio를 이용하시면 쉽게 퓨즈를 바꾸실 수 있습니다. 아래 링크를 보시면 방법이 나와 있습니다. - 아래 - http://www.newtc.co.kr/board/view.php?id=qna&page=1&sn1=&divpage=1&sn=off&ss=on&sc=on&select_arrange=headnum&desc=asc&no=3739 다운로드 쪽만 셋팅하시면, 다시 프로젝트 불러올 때 원위치 되니까, 프로젝트에서 지정하셔야 옵션이 다음에 불러올 때도 저장되어 있더군요. 그렇게 하면, 이상 없이 잘 되더군요. http://www.hpinfotech.ro/html/cvavr_history.htm 여기에 보시면, V1.25.0a Commercial Release 쪽에 - improved reliability when programming chips, running at clock frequencies above 12MHz, with Atmel STK500, AVRISP and AVRISP MkII 이렇게 나와 있습니다. 코드 비전에서 1.25.x 이상 버전을 쓰시면 그런 문제도 없으리라 생각됩니다. 해보시고 또 의문점이 생기시면 언제라도 질문주세요. 앞으로는 본명으로 질문해 주세요. 감사합니다. >빠른 답변에 감사 드립니다. > >1. 다음과 같이 알려주신대로 하였습니다. > 1) CodeVisionAVR V2.03.9 를 사용함. > 2) USB-ISP V02 이며, PL2303 이 설치된 것을 확인하였습니다. > 3) 장치관리자 > 포트에서 COM9 로 인식된 것을 확인하였습니다. > 4) Programming 시 외부 X-tal 은 없는 상태이나, Fuse Bit 를 > 어떻게 설정하는지 몰라서 그냥 놔 두었습니다. > >2. 그런데 여러 가지로 테스트 하다보니 다음과 같은 현상이 있었습니다. > CPU (ATMEGA8535-16PU) 를 새 것으로 교체하여 [Program All] 하면 > [Progress Bar] 가 나타나서 Programming 됩니다. 그러나 CPU 를 그대로 > 놔두고 다시 [Program All] 하면 AVRISP error 메세지가 나타납니다. > >3. AVR Studio 로 Programming 하였더니 현재까지는 잘 되고 있습니다. > >>> AVR Studio 의 설정을 PPT 파일로 첨부하였습니다. 혹시 잘못된 > 부분이 있는지 검토해 주시면 고맙겠습니다. > >마지막으로, 빠르고 친절한 답변에 감사드리며, 혹시 덧붙일 말씀이 >있으시면 부탁드립니다. > >감사합니다. >
2265 답변완료제품 질문. 이한준 2009-01-28 1,345
AM-IRS에 관한 질문입니다. 저는 AB-M128Pr-A와 AM-CS2P를 구입하였습니다. 1. 센서 측정 거리가 얼마나 되지요? (메뉴얼을 봤으나 없어서요.^^) 제가 할려는 실험은 물체가 가까이 왔을 때(약 3cm~5cm 가량) 모터가 작동을 하도록 할려고 합니다. 2. 스테핑 모터의 축이 4mm 이하인 제품을 판매하시는 지요? 제가 실험하고 있는 기구물의 기어 구멍이 4mm이하가 필요해서요. (시중에 파는 스테핑 모터의 축의 거의 4mm 이상인데 혹시 그렇게 만드는 이유도 알고 싶네요. ㅋㅋ <--이 질문은 답 안해주셔도 무방) 감사합니다.
관리자 답변 N.T.C · 2009-01-28
안녕하세요..고객님.. 저희 NewTC 제품을 이용해 주셔서 감사합니다. 현재의 IRS는 완제품 상태에서는 1cm 정도만 잴 수 있지만, 회로에 사용하는 저항값에 따라 달라질 수 있습니다. 저항값을 최소로 하 하면 10cm 정도도 가능합니다. 직접 저항값과 전류를 변화시키면서 ADC변환시켜 보세요. 스테핑 모터 축 직경 4mm이하는 우리 회사에선 판매하고 있지 않습니다. 우리 회사가 모터 전문회사가 아니기에 다양하지 않지만 모터 전문 사이트에 들어가면 얼마든지 구할수 있습니다. 감사합니다. >AM-IRS에 관한 질문입니다. > >저는 AB-M128Pr-A와 AM-CS2P를 구입하였습니다. > >1. 센서 측정 거리가 얼마나 되지요? > (메뉴얼을 봤으나 없어서요.^^) > >제가 할려는 실험은 물체가 가까이 왔을 때(약 3cm~5cm 가량) >모터가 작동을 하도록 할려고 합니다. > >2. 스테핑 모터의 축이 4mm 이하인 제품을 판매하시는 지요? > 제가 실험하고 있는 기구물의 기어 구멍이 4mm이하가 필요해서요. > >감사합니다. > > > > > >
2264 답변완료소스 좀 부탁드려요 최현준 2009-01-28 1,454
안녕하세요, 설연휴 시작 전날 오후 5시쯤에 NTC 에 찾아갔었던 학생입니다. 다름이 아니라 저번에 제가 갔던 이유가 NTC 자료실에서 받았던 소스가 ICCAVR7 에서 모터가 돌아가지 않고 그냥 덜덜 떨리기만 했었는데, 그때 그곳 직원분께서 소스(AM-CS2P ATMEGA128_phase_1-2_excitation) 에서 int putchar(char c) { while (((UCSR0A>>UDRE0)&0x01) == 0) ; // UDRE, data register empty UDR0 = c; return c; 이 부분중 int 를 void 로 바꾸고 리턴값을 없애주고 했더니 다시 돌아가면서 가끔 이럴때가 있다고 했는데, 저는 지금 집에 와서 다시 해보니까 안되는데 죄송한데 iccavr7 에서 돌아갈수 있게 이부분좀 수정해서 모터돌아가는 소스 좀 올려주실수 있을까요? 부탁드립니다. 감사합니다.
관리자 답변 N.T.C · 2009-01-28
안녕하세요..고객님... 저희 NewTC 제품을 이용해 주셔서 감사합니다. 연휴 잘 보내셨어요? ^_^ 소스 바로 올려드릴께요... 질문있으면 언제라도 질문주세요. 최대한 빨리 답변드릴께요. 새해 복 많이 받으세요... > > 안녕하세요, 설연휴 시작 전날 오후 5시쯤에 NTC 에 찾아갔었던 학생입니다. > 다름이 아니라 저번에 제가 갔던 이유가 NTC 자료실에서 받았던 소스가 ICCAVR7 > 에서 모터가 돌아가지 않고 그냥 덜덜 떨리기만 했었는데, 그때 그곳 직원분께서 > 소스(AM-CS2P ATMEGA128_phase_1-2_excitation) 에서 > > int putchar(char c) >{ > while (((UCSR0A>>UDRE0)&0x01) == 0) ; // UDRE, data register empty > > UDR0 = c; > return c; > > 이 부분중 int 를 void 로 바꾸고 리턴값을 없애주고 했더니 다시 돌아가면서 > 가끔 이럴때가 있다고 했는데, 저는 지금 집에 와서 다시 해보니까 안되는데 > 죄송한데 iccavr7 에서 돌아갈수 있게 이부분좀 수정해서 모터돌아가는 소스 > 좀 올려주실수 있을까요? > > 부탁드립니다. > > 감사합니다.
2263 답변완료Chip Programming Error 초보자 2009-01-28 1,455
Chip Programming 이 잘 안되서 문의 드립니다. 1. H/W 및 S/W 설치 1) USB-ISP 연결 : ROM Writer 처럼 CPU 로 Write 하기 위하여, ATmega8535 이 들어 있는 Textool 의 6개 핀만 USB-ISP 로 연결하였습니다. Textool 의 다른 핀에는 아무 것도 연결하지 않았습니다. 그리고 USB-ISP 의 DIP SW 는 2번만 On 하였습니다. 2) 드라이버 : PL2303-Driver_XP2K_v204102.exe 를 설치하였습니다. 3) CodeVisionAVR : V1.24.8 도 해 보고, V1.24.7d 도 해 보았습니다. 2. 문제 증상 1) USB-ISP 인식은 되는 것 같습니다. (USB-ISP 에 파란 불 들어옴.) 2) [Tools] > [Chip Programmer] > [Program All] 하면 AVRISP error ... 라는 메세지가 나오며, USB-ISP 에는 빨간 불이 켜집니다. 3) 처음에 2~3번 정도는 [Progress Bar] 가 표시되어 Programming 이 되는 줄 알았는데, CPU 를 임시로 만든 LED 구동 회로로 옮겨서 Test 해 보니 동작되지 않았습니다. 다른 CPU 도 해 보았습니다. 어디가 잘못되었는지 답변 부탁드립니다.
관리자 답변 N.T.C · 2009-01-28
안녕하세요..고객님... 저희 NewTC제품을 이용해 주셔서 감사합니다. CodeVision V1.24 버젼은 stk500과의 통신에 완전하지 않다고 CodeVision사에서 발표했습니다. 먼저 V1.25이상의 버젼을 사용하시길 바랍니다. USBISP의 커넥트 연결 다시 확인하시고 세부 설정 사항도 확인해 주시길 바랍니다. 외부 크리스탈을 달지 않았다면 FUSE비트 설정시 내부 RC로 반드시 설정하여야 하며 USBISP V01이면 FT232드라이브가 맞고 USBISP V02이면 PL2303이니깐 확인바랍니다. USBISP가 제대로 인식되면 장치관리자 => 포트에서 USBISP가 COMX(X는 숫자)로 인식되니깐 확인하시길 바랍니다. 하시다가 질문 있으면 언제라도 질문 주세요. 감사합니다. >Chip Programming 이 잘 안되서 문의 드립니다. > >1. H/W 및 S/W 설치 > 1) USB-ISP 연결 : ROM Writer 처럼 CPU 로 Write 하기 위하여, > ATmega8535 이 들어 있는 Textool 의 6개 핀만 USB-ISP 로 연결하였습니다. > Textool 의 다른 핀에는 아무 것도 연결하지 않았습니다. > 그리고 USB-ISP 의 DIP SW 는 2번만 On 하였습니다. > 2) 드라이버 : PL2303-Driver_XP2K_v204102.exe 를 설치하였습니다. > 3) CodeVisionAVR : V1.24.8 도 해 보고, V1.24.7d 도 해 보았습니다. > >2. 문제 증상 > 1) USB-ISP 인식은 되는 것 같습니다. (USB-ISP 에 파란 불 들어옴.) > 2) [Tools] > [Chip Programmer] > [Program All] 하면 AVRISP error ... > 라는 메세지가 나오며, USB-ISP 에는 빨간 불이 켜집니다. > 3) 처음에 2~3번 정도는 [Progress Bar] 가 표시되어 Programming 이 되는 줄 알았는데, > CPU 를 임시로 만든 LED 구동 회로로 옮겨서 Test 해 보니 동작되지 않았습니다. > 다른 CPU 도 해 보았습니다. > >어디가 잘못되었는지 답변 부탁드립니다. >
2262 답변완료iccavr7 관련 질문입니다. 백종창 2009-01-28 1,433
iccavr7 리미트 버전 사용자입니다. 사용상 설정에 문제인지 알수가 없어 도움을 받고자 메일 드립니다. 스튜디오 시뮬레이션에서는 정상적으로 출력포트가 반복 온 오프가 되는데 라이팅 한후에는 이상하게 전혀 동작하지 않습니다. 설정상 문제인지를 알수가 없네요 ATMEGA8 클럭 8메가 출력 포트는 PORTB(DDRB=0x3F , PORTB=0x3f) #include <iom8v.h> #include <macros.h> ........생략 메인문에 void main(void) { init_device(); while (1) { PORTB = ~PORTB & 0x3f; // <<----- ? delay(1000); }; } 이부분이 스튜디오 시뮬레이션에서는 정상적으로 동작합니다. 마이보드는 전혀 깜박이지를 않네요 도움 부탁드려도 될까요? (혹시 환경 설정에서 컴파일 옵션 coff hex ,,,, intelhex 하고 관련이 있나요 ?)
관리자 답변 N.T.C · 2009-01-28
안녕하세요? 고객님, 저희 NewTC 제품을 이용하여 주셔서 감사합니다. 전체 소스를 압축해서 올려 보세요. 봐드릴께요. 감사합니다. >iccavr7 리미트 버전 사용자입니다. >사용상 설정에 문제인지 알수가 없어 도움을 받고자 메일 드립니다. > >스튜디오 시뮬레이션에서는 정상적으로 출력포트가 반복 온 오프가 되는데 >라이팅 한후에는 이상하게 전혀 동작하지 않습니다. >설정상 문제인지를 알수가 없네요 > >ATMEGA8 클럭 8메가 >출력 포트는 PORTB(DDRB=0x3F , PORTB=0x3f) > > >#include <iom8v.h> >#include <macros.h> > >........생략 > >메인문에 > >void main(void) >{ >init_device(); > > while (1) > { > PORTB = ~PORTB & 0x3f; // <<----- ? > delay(1000); > }; >} > >이부분이 스튜디오 시뮬레이션에서는 정상적으로 동작합니다. >마이보드는 전혀 깜박이지를 않네요 > >도움 부탁드려도 될까요? (혹시 환경 설정에서 컴파일 옵션 coff hex ,,,, intelhex 하고 관련이 있나요 ?) >
2261 답변완료USB-AVRISP 다운로드 한형래 2009-01-28 1,448
USB-AVRISP 를 이용해서 ATMEGA8에 ICCAVR로 컴파일 한것을 다운로드 하려고 합니다. 이때 설정을 어떻게 해야 하는지 설명좀 부탁드립니다;;
관리자 답변 N.T.C · 2009-01-28
안녕하세요? 고객님, 저희 NewTC 제품을 이용하여 주셔서 감사합니다. 본사의 USBISP의 경우 메뉴얼에 자세히 나와 있습니다. 드라이버를 인스톨 하신 후에, AVR Studio를 까시고, ICCAVR을 까신 후에, USBISP 메뉴얼에 있는 데로, ICCAVR에서 설정하시면 사용이 가능합니다. 참고하시기 바랍니다. 감사합니다. - 메뉴얼 - http://www.newtc.co.kr/board/download.php?id=pds&page=1&sn1=&divpage=1&sn=off&ss=on&sc=off&keyword=uSBISP&select_arrange=headnum&desc=asc&no=143&filenum=2 >USB-AVRISP 를 이용해서 ATMEGA8에 ICCAVR로 컴파일 한것을 다운로드 하려고 합니다. 이때 설정을 어떻게 해야 하는지 설명좀 부탁드립니다;;
2260 답변완료USBUART 관련 질문 최현준 2009-01-28 1,468
안녕하세요, 저번주 설연휴 전날에 모터가 구동되지 않아서 NTC 사무실에 찾아갔었던 학생입니다. 다름이 아니라 USBART 관련해서 문의할 사항이 있어서요. 저같은 경우에 카메라를 통해서 컴퓨터로 처리한 값을 자동차에 있는 AVR 에 값을 줘서 자동차를 움직이려고 하는데 자동차가 움직이기에 USBART 가 너무 짧네요. 제 노트북에 RS-232 포트가 없어서 USB 를 사용하려고 하는데,,,,, 길이 연장이 가능할까요? 최소 1.5m~2m 정도 되어야 될것 같은데요. 만약 가능하다면, NTC 에 가면 바로 가능한지 아님 근처 전파상에서 그냥 통신선만 길게 만들어주면 되는건가요? 불가능하다면 어떤 방법이 있을까요?
관리자 답변 N.T.C · 2009-01-28
안녕하세요..고객님.. 저희 NewTC 제품을 이용해 주셔서 감사합니다. >제 노트북에 RS-232 포트가 없어서 USB 를 사용하려고 하는데,,,,, 길이 연장이 가능할까요? 최소 1.5m~2m 정도 되어야 될것 같은데요. 가능합니다. 여러가지 방법이 있는데 가장 쉬운 방법을 이야기 하면.... 첫번째, USB연장선을 사용하면 쉽게 할 수 있겠네요.. USB연장선의 길이는 고객님께서 원하시는 대로 최대길이 이하면 가능하겠지요. 두번째, 다이렉트로 연결된 4핀 커넥트나 아님 GND, RX, TX를 타이렉트로 직접연결하셔도 됩니다. 도움이 되었길 바라면 궁금한점 있으면 언제라도 연락주세요. 감사합니다. >안녕하세요, 저번주 설연휴 전날에 모터가 구동되지 않아서 NTC 사무실에 찾아갔었던 학생입니다. 다름이 아니라 USBART 관련해서 문의할 사항이 있어서요. >저같은 경우에 카메라를 통해서 컴퓨터로 처리한 값을 자동차에 있는 AVR 에 값을 줘서 자동차를 움직이려고 하는데 자동차가 움직이기에 USBART 가 너무 짧네요. >제 노트북에 RS-232 포트가 없어서 USB 를 사용하려고 하는데,,,,, 길이 연장이 가능할까요? 최소 1.5m~2m 정도 되어야 될것 같은데요. >만약 가능하다면, NTC 에 가면 바로 가능한지 아님 근처 전파상에서 그냥 통신선만 >길게 만들어주면 되는건가요? >불가능하다면 어떤 방법이 있을까요?
2259 답변완료또다른 UART통신 질문입니다 이경호 2009-01-27 1,407
지금 사용하려는 보드는 AB-M128Pro-A인데요 원하는 상황은 1) UART0 를 통해서 스위치 1번을 누르면 모니터에 a가, 스위치 2번을 누르면 모니터에 b가 출력되게 합니다. 그리고 2) UART1 번을 통해서 키보드에 a가 눌리면 LED1번을. b가 눌리면 LED2번을 켜는 프로그램을 짜려고합니다. 1), 2) 각각을 프로그래밍해서 입력하거나 두개다 한프로그램에 넣고 한쪽을 주석처리하면 각각은 잘 실행이 됩니다. 근데 문제는 두개를 한꺼번에 넣고 실행하면 1)번은 실행이 안되고 2)번 경우에만 실행이 됩니다. 왜그런지 이유를 알수 있을까요? 아래는 두개를 다 한프로그램에 넣어 만든 소스입니다. #include<iom128v.h> #include<macros.h> char rece(void) { while ((UCSR1A & 0x80) == 0); return UDR1; } void tran(char c) { while ( (UCSR0A&0x20) == 0) ; // UDRE, data register empty UDR0 = c; } void uart0_init(void) { UCSR0B = 0x00; //disable while setting baud rate UCSR0A = 0x00; UCSR0C = 0x06; UBRR0H = 0; //set baud rate hi UBRR0L = 103; //set baud rate lo UCSR0B = 0x18; } void uart1_init(void) { UCSR1B = 0x00; //disable while setting baud rate UCSR1A = 0x00; UCSR1C = 0x06; UBRR1H = 0; //set baud rate hi UBRR1L = 103; //set baud rate lo UCSR1B = 0x18; } void init_devices(void) { //stop errant interrupts until set up CLI(); //disable all interrupts XDIV = 0x00; //xtal divider XMCRA = 0x00; //external memory uart0_init(); uart1_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 main(void) { char ch; init_devices(); DDRG = 0x03; while(1) { //------------------- using UART0 trans 1) if( PING & 0x04 ) { tran('a'); } if( PING & 0x08 ) { tran('b'); } //------------------------------UART0 end 1) //----------------------using UART1 receiver 2) ch = rece(); if( ch == 'a') { PORTG = 0x01; } if( ch == 'b') { PORTG = 0x02; } //----------------------using UART1 receiver end 2) } return 0; }
관리자 답변 N.T.C · 2009-01-27
안녕하세요? 고객님, NewTC 제품을 이용하여 주셔서 감사합니다. 소스를 보면, 당연하지요.. 1번만 실행할 때는 계속 while문안에서 돌면서 포트를 계속 감시하니까, 즉시, 실행이 되겠지만, 2번을 넣게 되면, 데이터를 수신할 때까지 ch = rece(); 문에서 멈춰 있으니까 그렇지요. 수고하세요. >지금 사용하려는 보드는 AB-M128Pro-A인데요 > >원하는 상황은 >1) UART0 를 통해서 스위치 1번을 누르면 모니터에 a가, 스위치 2번을 누르면 모니터에 b가 출력되게 합니다. > >그리고 > 2) UART1 번을 통해서 키보드에 a가 눌리면 LED1번을. b가 눌리면 LED2번을 켜는 프로그램을 짜려고합니다. > >1), 2) 각각을 프로그래밍해서 입력하거나 두개다 한프로그램에 넣고 한쪽을 주석처리하면 각각은 잘 실행이 됩니다. > >근데 문제는 두개를 한꺼번에 넣고 실행하면 1)번은 실행이 안되고 2)번 경우에만 실행이 됩니다. 왜그런지 이유를 알수 있을까요? > > > >아래는 두개를 다 한프로그램에 넣어 만든 소스입니다. >#include<iom128v.h> >#include<macros.h> > >char rece(void) >{ > while ((UCSR1A & 0x80) == 0); > return UDR1; >} > > >void tran(char c) >{ > while ( (UCSR0A&0x20) == 0) ; // UDRE, data register empty > > UDR0 = c; > >} > >void uart0_init(void) >{ > UCSR0B = 0x00; //disable while setting baud rate > UCSR0A = 0x00; > UCSR0C = 0x06; > UBRR0H = 0; //set baud rate hi > UBRR0L = 103; //set baud rate lo > UCSR0B = 0x18; >} > > >void uart1_init(void) >{ > UCSR1B = 0x00; //disable while setting baud rate > UCSR1A = 0x00; > UCSR1C = 0x06; > UBRR1H = 0; //set baud rate hi > UBRR1L = 103; //set baud rate lo > UCSR1B = 0x18; >} > > >void init_devices(void) >{ > //stop errant interrupts until set up > CLI(); //disable all interrupts > XDIV = 0x00; //xtal divider > XMCRA = 0x00; //external memory > uart0_init(); > uart1_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 main(void) >{ > >char ch; >init_devices(); >DDRG = 0x03; > > >while(1) >{ > > > >//------------------- using UART0 trans 1) > >if( PING & 0x04 ) >{ > tran('a'); > } > >if( PING & 0x08 ) >{ >tran('b'); >} > >//------------------------------UART0 end 1) > > > >//----------------------using UART1 receiver 2) > >ch = rece(); > >if( ch == 'a') >{ > >PORTG = 0x01; >} > >if( ch == 'b') >{ > >PORTG = 0x02; >} > >//----------------------using UART1 receiver end 2) > > > > >} > >return 0; >} > >