Q&A
| 번호 | 제목 | 작성자 | 등록일 | 조회 |
|---|---|---|---|---|
| 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포트가 필요할것같은데 어찌해야하나요?
관리자 답변
안녕하세요..고객님...
저희 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바퀴째 도는 속도가 다릅니다 ㅠ
왜 그런건가요??ㅠ
관리자 답변
안녕하세요? 고객님,
어떤 모터인가요?
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 파일로 첨부하였습니다. 혹시 잘못된
부분이 있는지 검토해 주시면 고맙겠습니다.
마지막으로, 빠르고 친절한 답변에 감사드리며, 혹시 덧붙일 말씀이
있으시면 부탁드립니다.
감사합니다.
관리자 답변
안녕하세요..고객님...
저희 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 이상인데
혹시 그렇게 만드는 이유도 알고 싶네요. ㅋㅋ
<--이 질문은 답 안해주셔도 무방)
감사합니다.
관리자 답변
안녕하세요..고객님..
저희 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 에서 돌아갈수 있게 이부분좀 수정해서 모터돌아가는 소스
좀 올려주실수 있을까요?
부탁드립니다.
감사합니다.
관리자 답변
안녕하세요..고객님...
저희 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 도 해 보았습니다.
어디가 잘못되었는지 답변 부탁드립니다.
관리자 답변
안녕하세요..고객님...
저희 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 하고 관련이 있나요 ?)
관리자 답변
안녕하세요? 고객님,
저희 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로 컴파일 한것을 다운로드 하려고 합니다. 이때 설정을 어떻게 해야 하는지 설명좀 부탁드립니다;;
관리자 답변
안녕하세요? 고객님,
저희 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 에 가면 바로 가능한지 아님 근처 전파상에서 그냥 통신선만
길게 만들어주면 되는건가요?
불가능하다면 어떤 방법이 있을까요?
관리자 답변
안녕하세요..고객님..
저희 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;
}
관리자 답변
안녕하세요? 고객님,
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;
>}
>
>
|
||||
| 2258 | 답변완료AM128라이트 uart 관련 질문입니다 | 피재형 | 2009-01-27 | 1,392 |
|
얼마전에 디바이스 마트를 통해서 AM128 라이트 모듈을 구매했는데요
첨부되있는 회로도만 보고 급하게 샀는데
회로도가 틀리더군여.. ㅠㅠ
아무리 해도 시리얼 통신이 안되길래 모듈을 살펴봤더니 max232가 없는 제품이더라구요 첨부자료에 128프로 회로도가 올라가있다니....
그래서 따로 달려고 테스터기로 찍어봤더니 TX1은 바로 28번에 물려있고 RX1은 1K 저항통해서 27번에 물려있더군여..OTL
연결을 끊고 중간에 max232 달수도 없는노릇이고.. 어떻게 해야 하나여?ㅡㅡ
관리자 답변
안녕하세요? 고객님,
1k 저항을 통해서 달려 있는 것은 여러가지 오류들을 없애기 위해서 달아 놓은 것입니다.
선을 중간에서 끊으실 필요 없구요. 그냥, 쓰셔도 사용이 가능합니다.
디바이스 마트에 들어가서 확인해 보니, 말씀하신 것처럼 첨부자료에 128PRO 회로도가 들어 있더군요. 본사에서 미리 확인하지 못한 부분입니다.
본사의 자료는 본사에서 모두 확인해서 올리고 있지만, 대리점의 자료는 본사에서 주긴 하지만, 대리점에서 올리고 있어서, 약간 착오가 있었던 것 같습니다.
휴일이 끝나고서 수정하도록 디바이스 마트에 권고하겠습니다.
하지만, 디바이스마트의 AM-128PL 제품 메인에 AVR MEGA 128 모듈 라이트(AM-128PL) ATmega128 -16AU AVR 마이크로 컨트롤러 사용, 5V 레벨로 UART통신 가능 UART0, UART1(RS-232통신을 하려면 변환보드 필요) 이렇게 되어 있어서,
자세히 보셨으면 알 수 있었을 텐데요. 그리고, 안쪽의 사진들도 그렇구요. 아쉽습니다.
연결되어 있는 1k옴이 사용하시는 데 도움이 되었으면 되었지, 절대로 방해는 되지 않으니, 걱정 마시고, 사용하시면 됩니다. 핀에서 직접 빼서 쓰시거나, 본사의 메인보드를 이용하시면, 4핀이 커넥터로 빠져 있습니다.
직접 USBUART를 이용하여 USB로 연결하셔도 되구요. RS232M과 같은 보드나, 디버그 보드(5,500원입니다.)를 이용하시면 저렴하게 사용이 가능합니다.
만약에 굳이 128PRO 모듈을 사용하고 싶다면, 명절 설이니까, 설끝나고 본사로 오시면 128PRO로 교체해 드리지요. 단, 이번만입니다.
감사합니다.
>
>얼마전에 디바이스 마트를 통해서 AM128 라이트 모듈을 구매했는데요
>첨부되있는 회로도만 보고 급하게 샀는데
>회로도가 틀리더군여.. ㅠㅠ
>아무리 해도 시리얼 통신이 안되길래 모듈을 살펴봤더니 max232가 없는 제품이더라구요 첨부자료에 128프로 회로도가 올라가있다니....
>그래서 따로 달려고 테스터기로 찍어봤더니 TX1은 바로 28번에 물려있고 RX1은 1K 저항통해서 27번에 물려있더군여..OTL
>연결을 끊고 중간에 max232 달수도 없는노릇이고.. 어떻게 해야 하나여?ㅡㅡ
|
||||
| 2257 | 답변완료UART 에 대한 질문입니다 | 이경호 | 2009-01-24 | 1,445 |
|
안녕하세요 저번에 UART통신에 대해 질문드렸는데 좋은 답변으로 잘해결 했습니다.
이제는 UART를 위해 따로 뽑혀 있는 핀말고 PORT를 이용해서 연결을 해보려고 합니다.
지금 가지고 있는 보드가 AB-M128pro-A v02 와 AB-M128-B를 가지고 있습니다.
PORTE를 커넥터로 연결시키고 0번과 1번 과 GND(내모난 커넥터에서 1번2번 GND)를 RS-232 모듈과 전선으로 연결하였습니다.
RX와 TX방향은 몇번시도해봐서 전송과 수신이 되게 꼿았습니다.
근데 pro-A로 할때는 잘되는데 AB-M128-B로 하게되면 잘되지 않습니다.
같은 소스로 했는데 잘되지 않네요
관리자 답변
안녕하세요? 잘 살펴 보면, AB-M128pro-A v02 와 AB-M128-B 모두 같은 4핀 커넥터가 있을 겁니다. 직접 포트 E에서 힘들게 뺼 필요가 없지요.
각각 UART0, UART1이라고 써있을 거구요. RX, TX, GND도 써 있을 겁니다.
RS-232C 모듈이라고 하는 게 MAX232로 만든 보드인가요?
그렇다면, 거기에 TTL 측과 연결을 하시면 RS-232C Level(12V PC쪽)로 PC와 연결하여 통신해 보시면 잘 될겁니다.
잘 해 보시구요. 사실, 올려준 질문으로는 상황이 정확히 이해되지는 않네요.
나름 추리해서, 설명드리니까요. 해 보고, 또 안되면 질문주세요~
수고하세요.
>안녕하세요 저번에 UART통신에 대해 질문드렸는데 좋은 답변으로 잘해결 했습니다.
>
>이제는 UART를 위해 따로 뽑혀 있는 핀말고 PORT를 이용해서 연결을 해보려고 합니다.
>
>지금 가지고 있는 보드가 AB-M128pro-A v02 와 AB-M128-B를 가지고 있습니다.
>
>PORTE를 커넥터로 연결시키고 0번과 1번 과 GND(내모난 커넥터에서 1번2번 GND)를 RS-232 모듈과 전선으로 연결하였습니다.
>
>RX와 TX방향은 몇번시도해봐서 전송과 수신이 되게 꼿았습니다.
>
>근데 pro-A로 할때는 잘되는데 AB-M128-B로 하게되면 잘되지 않습니다.
>
>같은 소스로 했는데 잘되지 않네요
|
||||
| 2256 | 답변완료ATMEGA2561 에 관한 질문 | 오승만 | 2009-01-23 | 1,383 |
|
수고가 많으십니다.
제품을 무턱대고 구입후 공부중입니다.
몇가지 의문점이 생겨 글을 올립니다.
우선 ATmega2561 사용시 AVR Studio4 를 이용해 프로그램을하고
컴파일 하고 다운로드 할때 isp케이블은 LPT타입은 안되는것인지요.
usb타입만 되는것 같던데...
그리고
위질문처럼 LPT타입 ISP다운로더(?) 로는 되지 않아 다른 다운로더 프로그램을
구해 *.hex 파일을 다운로드 해 봤습니다.
처음엔 다운로드가 되더니 그 다음부터는 다운로드가 더 되지 않더군요.
혹시 제품이 고장이 난것인지..
모듈에 적색 LED는 들어오는데
녹색 LED의 점멸은 안되는군요.
다운로드프로그램은 ToastProg2005를 사용했습니다.
제가 처음 접하는 부분이라 질문을 어떻게 드려야 할지 몰라서
두서없이 질문을 드렸습니다.
관리자 답변
안녕하세요? 고객님,
저희 NewTC 제품을 이용하여 주셔서 감사합니다.
답변하여 드립니다.
우선, AVR Studio 자체가 LPT 타입의 ISP인 STK200/300 프로토콜을 지원하지 않습니다. 그래서, 일반적으로 STK500을 이용하는 USBISP를 이용하는 것입니다.
다만, Ponyprog나 Toastprog 등을 이용하시면, LPT타입의 ISP를 이용하실 수 있습니다. 이 경우, 셋팅메뉴에서 AVR을 사용하시는 ATMEGA2561로 셋팅하고나서, 쓰시면 되겠습니다. Ponyprog는 테스트 해봤는 데 잘 됩니다.
ICCAVR V7에서는 현재 ATMEGA2561의 LPT 타입의 ISP 다운로딩을 제공하지 않고 있습니다. 다만, STK500을 이용한 USBISP 타입의 ISP 다운로딩은 제공하고 있지요.
ATMEGA2561 모듈에 있는, 초록 LED는 PortA의 D0번핀에 연결되어 있습니다.
프로그램에 따라, 꺼지고 켜지게 되는 것이지요.
초기 구매하실 때는 본사에서 테스트 프로그램을 넣어 둬서 깜빡였던 것이구요.
고객님은 PA0을 깜빡이지 않고 계시다면, 초록 LED가 안깜빡일겁니다.
다운로드 자체가 안되는 것이 아니라, 다운되었는 데, LED가 안깜빡이는 게 아닌가 싶습니다.
수고하세요.
>수고가 많으십니다.
>
>제품을 무턱대고 구입후 공부중입니다.
>
>몇가지 의문점이 생겨 글을 올립니다.
>
>우선 ATmega2561 사용시 AVR Studio4 를 이용해 프로그램을하고
>컴파일 하고 다운로드 할때 isp케이블은 LPT타입은 안되는것인지요.
>usb타입만 되는것 같던데...
>
>그리고
>
>위질문처럼 LPT타입 ISP다운로더(?) 로는 되지 않아 다른 다운로더 프로그램을
>구해 *.hex 파일을 다운로드 해 봤습니다.
>처음엔 다운로드가 되더니 그 다음부터는 다운로드가 더 되지 않더군요.
>혹시 제품이 고장이 난것인지..
>모듈에 적색 LED는 들어오는데
>녹색 LED의 점멸은 안되는군요.
>다운로드프로그램은 ToastProg2005를 사용했습니다.
>
>제가 처음 접하는 부분이라 질문을 어떻게 드려야 할지 몰라서
>
>두서없이 질문을 드렸습니다.
>
>
|
||||
| 2255 | 답변완료자료가 다운이 되지 않을 경우 해결책? | 김홍성 | 2009-01-23 | 1,291 |
|
마땅한 게시판이 없어서 여기 올립니다.
저도 자료가 잘 안받아져서 여기 q&a게시판을 검색해 봤더니 저랑 같은 증상을 가지고 계신분이 조금 있더군요.
그런 경우 인터넷 익스프롤러의 도구->인터넷 옵션->고급 탭으로 이동하셔서 보시면 설정박스아래에 체크 가능한 것들이 많이 있는데...
주욱 내리시다 보면 UTF-8 보내기라고 있는데 거기에 체크를 해제하면 받아지더군요. 다른 문제들도 있을수 있지만 저는 이렇게 해결 했습니다. ^^
아마 안받아지는 파일대부분이 한글이 들어 있거나 띄어쓰기가 있는 파일들 인거 같습니다.
관리자 답변
감사합니다.
새해 복 많이 받으세요...^_^
>마땅한 게시판이 없어서 여기 올립니다.
>
>저도 자료가 잘 안받아져서 여기 q&a게시판을 검색해 봤더니 저랑 같은 증상을 가지고 계신분이 조금 있더군요.
>
>그런 경우 인터넷 익스프롤러의 도구->인터넷 옵션->고급 탭으로 이동하셔서 보시면 설정박스아래에 체크 가능한 것들이 많이 있는데...
>
>주욱 내리시다 보면 UTF-8 보내기라고 있는데 거기에 체크를 해제하면 받아지더군요. 다른 문제들도 있을수 있지만 저는 이렇게 해결 했습니다. ^^
>
>아마 안받아지는 파일대부분이 한글이 들어 있거나 띄어쓰기가 있는 파일들 인거 같습니다.
|
||||
| 2254 | 답변완료예제 구동 문제 | 최성현 | 2009-01-23 | 1,409 |
|
AVR 을 처음 다루는데, NTC 에서 여러모로 자료제공 및 질문 답변해주셔서
감사합니다.
자료실과 Q&A 를 보면서 소스를 거의 이해한 상태인데, 모터가 안돌아 가니까
답답할 따름입니다.
아래 저한테 링크해주셨던 소스(현재 이글에 첨부해놨음) 그대로 iccavr 로 avr 개발보드에 성공적으로 다운로드 시켜주었고, 개발보드 port C 와 모터구동모듈을 연결했고, 15V 600mA 로 전원도 넣어주고 했는데 왜 모터가 안돌아가는지 모르겠습니다.
모두 완벽하게 된거 같은데, 모터가 안돌아 가는 이유가 뭘까요?
물론 모터구동모듈 가변저항까지 돌려봤습니다
관리자 답변
혹시, 메인보드쪽 말구요. 모터용 전원 넣는 쪽에 전압은 얼마를 넣으셨나요? 즉, 2핀짜리 하얀색 커넥터 말입니다. 이 곳에 12V 부터 무부하시 동작하긴 하지만, 권장 전압은 15V ~ 24V 에 전류는 600mA 이상이구요.
최대 부하가 걸린다면, 24V 3A~5A짜리 SMPS를 사용하실 것을 권장합니다.
아무래도 이 점에서 걸린게 아닌가 생각되네요.
정 안되시면, 본사로 가지고 와보세요. 설명해 드릴께요.
그리고, 포트 테스트는 해보셨나요? C포트로 LED 출력을 해보세요.
각각 잘 제어되는 지요. 그게 안되면 안되니까요.
수고하세요.
>AVR 을 처음 다루는데, NTC 에서 여러모로 자료제공 및 질문 답변해주셔서
>감사합니다.
>
>자료실과 Q&A 를 보면서 소스를 거의 이해한 상태인데, 모터가 안돌아 가니까
>답답할 따름입니다.
>
>아래 저한테 링크해주셨던 소스(현재 이글에 첨부해놨음) 그대로 iccavr 로 avr 개발보드에 성공적으로 다운로드 시켜주었고, 개발보드 port C 와 모터구동모듈을 연결했고, 15V 600mA 로 전원도 넣어주고 했는데 왜 모터가 안돌아가는지 모르겠습니다.
>
>모두 완벽하게 된거 같은데, 모터가 안돌아 가는 이유가 뭘까요?
>물론 모터구동모듈 가변저항까지 돌려봤습니다
>
>
|
||||
