Q&A
| 번호 | 제목 | 작성자 | 등록일 | 조회 |
|---|---|---|---|---|
| 6078 | 답변완료AM-RFMOD 모듈을 구매하려고 하는데 질문있어서 올립니다. | 이학경 | 2011-01-23 | 1,281 |
|
USART를 통해서 컴퓨터와 개발보드간에 통신을 공부해보려고합니다.
1.
컴퓨터 =======(시리얼 케이블)======= MPU =======(AM-RFMOD)======= MPU
2.
컴퓨터 =======(AM-RFMOD)======= MPU =======(AM-RFMOD)======= MPU
3.
컴퓨터 =======(AM-RFMOD)======= MPU
이런 연결이 모두 가능한가요?
만약가능하다면
1번은 AM-RFMOD가 2개필요하고
2번은 AM-RFMOD가 3개필요하고
3번은 AM-RFMOD가 2개 필요한것 맞나요?
더 질문을 드리자면
USART시리얼 케이블로 작동이 잘 되었다면 그냥 AM-RFMOD로 교체해 주고 전압만 넣어주면
아무 프로그래밍없이 그냥 작동 되는거 맞는지요
그리고 어떤식으로 MPU랑 연결하나요? 10핀커넥터가 없던데
마지막으로
제가데스크탑쓸때 시리얼케이블 3천원짜리 여기서 구매해서 사용하다가
노트북으로 바꾸었는데 케이블 연결할곳이 없네요... 이럴경우 어떻게해야하나요? 변환 젠더가 있는지요 ...
관리자 답변
안녕하세요? 고객님,
항상 저희 뉴티씨 제품을 이용하여 주셔서 감사드립니다.
우선, 질문에 답변 드릴께요.
1번 컴퓨터 ==(시리얼 케이블) 또는 AD-USBSERIAL== MPU =TTL Level=(AM-RFMOD)(AM-RFMOD)=TTL Level= MPU
이렇게 가능합니다. 즉, RFMOD는 두 개 필요합니다.
2번 컴퓨터 =AD_USBSERIAL=TTL Level=(AM-RFMOD)=(AM-RFMOD)=TTL Level= MPU1 (AM-RFMOD)======= MPU2
이렇게 가능해요. 즉, RFMOD는 최소 3개 필요하고, 4개로 구성도 가능합니다.
컴퓨터 =AD_USBSERIAL=TTL Level=(AM-RFMOD)=(AM-RFMOD)=TTL Level= MPU1=TTL Level==AM-RFMOD (AM-RFMOD)======= MPU2
이렇게요. 이 경우, 양쪽의 주파수를 각각 다르게 해서 사용하면 더 좋겠죠?
3. 컴퓨터 =AM-USBSEIRAL=TTL Level=(AM-RFMOD)==(AM-RFMOD)=TTL Level= MPU
이렇게 가능합니다. 즉, RFMOD는 두 개 필요합니다.
>더 질문을 드리자면
>USART시리얼 케이블로 작동이 잘 되었다면 그냥 AM-RFMOD로 교체해 주고 전압만 넣어주면
>아무 프로그래밍없이 그냥 작동 되는거 맞는지요
===> 네 맞습니다.
>그리고 어떤식으로 MPU랑 연결하나요? 10핀커넥터가 없던데
==> 자쇼릿에서 RFMOD 메뉴얼 읽어보세요. TTL Level의 시리얼 커넥터가 있구요. 그걸 MCU와 연결하면 되요. 같은 TTL Level 쪽으로요.
>
>
>마지막으로
>제가데스크탑쓸때 시리얼케이블 3천원짜리 여기서 구매해서 사용하다가
>노트북으로 바꾸었는데 케이블 연결할곳이 없네요... 이럴경우 어떻게해야하나요? 변환 젠더가 있는지요 ...
==> AD_USBSERIAL을 구매하면, TTL Level용 4핀 커넥터(5V), RS-232C level(+-15V)의 3핀 커넥터 및 9핀 DSUB 가 있습니다. 참고 바랍니다.
수고하세요.
>USART를 통해서 컴퓨터와 개발보드간에 통신을 공부해보려고합니다.
>
>
>1.
>컴퓨터 =======(시리얼 케이블)======= MPU =======(AM-RFMOD)======= MPU
>
>
>2.
>컴퓨터 =======(AM-RFMOD)======= MPU =======(AM-RFMOD)======= MPU
>
>
>3.
>컴퓨터 =======(AM-RFMOD)======= MPU
>
>
>이런 연결이 모두 가능한가요?
>만약가능하다면
>1번은 AM-RFMOD가 2개필요하고
>2번은 AM-RFMOD가 3개필요하고
>3번은 AM-RFMOD가 2개 필요한것 맞나요?
>
>더 질문을 드리자면
>USART시리얼 케이블로 작동이 잘 되었다면 그냥 AM-RFMOD로 교체해 주고 전압만 넣어주면
>아무 프로그래밍없이 그냥 작동 되는거 맞는지요
>그리고 어떤식으로 MPU랑 연결하나요? 10핀커넥터가 없던데
>
>
>마지막으로
>제가데스크탑쓸때 시리얼케이블 3천원짜리 여기서 구매해서 사용하다가
>노트북으로 바꾸었는데 케이블 연결할곳이 없네요... 이럴경우 어떻게해야하나요? 변환 젠더가 있는지요 ...
|
||||
| 6077 | 답변완료AM-GYRO-XZ V02 질문이요 | 김진호 | 2011-01-21 | 1,220 |
|
AM-GYRO-XZ V02 센서로는 x 와 z 축을 각속도를 얻을수 있다고 나와있습니다.
그러면 yaw 축 회전 각도를 알수가 있는것이 맞지요?
관리자 답변
안녕하세요
z 축이 yaw 축 회전각을 알수 있습니다.
정확도를 위해 지자기 센서를 같이 붙혀 사용하기도 합니다.
수고하세요
>AM-GYRO-XZ V02 센서로는 x 와 z 축을 각속도를 얻을수 있다고 나와있습니다.
>그러면 yaw 축 회전 각도를 알수가 있는것이 맞지요?
|
||||
| 6076 | 답변완료RF 모듈 관련 문의 | 강상모 | 2011-01-21 | 1,269 |
|
RF모듈을 Newtc에서 제공하는 Kit가 아니라 저의가 만든 일반적인 AVR Board에서는 작동이 하지 않는 가요?
관리자 답변
안녕하세요
어떤한 칩이라도 uart 기능을 가진 보드이면 연결이
사용이 가능합니다.
수고하세요
>RF모듈을 Newtc에서 제공하는 Kit가 아니라 저의가 만든 일반적인 AVR Board에서는 작동이 하지 않는 가요?
>
|
||||
| 6075 | 답변완료AD-USBISP v02를 Atmega 128L에 사용 | J.P. | 2011-01-21 | 1,211 |
|
안녕하세요?
뉴티씨의 다양한 제품을 사용하고 있는 애용자입니다.
최근에 3.3V로 동작되는 MCU를 사용해야 되서,
Atmega128L 모듈을 하나 만들었습니다.
0) 삼일 PCB의 변환기판을 구매하여, Atmega128L을 남땜.
1) 8MHz 크리스탈을 20pF 2개와 연결하여, 23, 24 pin 에 연결
2) 22,53,64번핀 GND에 연결. 21,52번 VCC 연결
3) MOSI = 2번 MISO=3번, SCK 11번, Reset = 20번에 연결 후 AD-USBISP V02에 연결
4) 3.3V 레귤레이터를 달아 정전압 공급,(테스터기로 찍어본 결과 3.09V 공급되고 있음)
위와 같이 연결 하였습니다.
똑같은 설정에서 기존의 뉴티씨사의 Atmega128-Pro 모듈에서는 "Program Flash/EEPROM"과 Verify가 잘 되는데, 제가 만든 128L 보드에서는 "Cannot program of verify Flash"라는 에러 메시지가 발생합니다.
AD-USBISP V02에 (3.3V / 5V) 호환이라고 되어 있어서 사용했는데, Atmega128L에도 사용 가능한 것인가요? 사용가능하다면, 제가 위에 0~4번중에 잘못된 부분이 있는 것인가요?
또한 당근이AVR 까페에서 보니, Atmega128L 모듈도 주문하면 제작이 가능하다고 하시던데, 비용과 시간은 얼마정도 걸릴지요? 기본의 PCB에서 크리스탈과 MCU만 교체 하면 될 것 같은데 같이 답변 투박
관리자 답변
안녕하세요? 고객님,
저희 뉴티씨 제품을 이용하여 주셔서 감사합니다.
현재 나오는 AM-128PRO 모듈 제품은 ATMEGA128A-AU를 사용하고 있습니다.
그러므로, 크리스털 클럭만 8MHz이하로 바꿔 달면, 3.3V에서 사용하면 사용이 가능합니다.
ATMEGA128L-8AU와 같은 성능을 가집니다.
USBISP V02는 본사에 보내서 점검 받아보시기 바랍니다.
잘 되어야 정상입니다.
수고하세요.
>안녕하세요?
>
>뉴티씨의 다양한 제품을 사용하고 있는 애용자입니다.
>최근에 3.3V로 동작되는 MCU를 사용해야 되서,
>
>Atmega128L 모듈을 하나 만들었습니다.
>
>0) 삼일 PCB의 변환기판을 구매하여, Atmega128L을 남땜.
>1) 8MHz 크리스탈을 20pF 2개와 연결하여, 23, 24 pin 에 연결
>2) 22,53,64번핀 GND에 연결. 21,52번 VCC 연결
>3) MOSI = 2번 MISO=3번, SCK 11번, Reset = 20번에 연결 후 AD-USBISP V02에 연결
>4) 3.3V 레귤레이터를 달아 정전압 공급,(테스터기로 찍어본 결과 3.09V 공급되고 있음)
>
>위와 같이 연결 하였습니다.
>똑같은 설정에서 기존의 뉴티씨사의 Atmega128-Pro 모듈에서는 "Program Flash/EEPROM"과 Verify가 잘 되는데, 제가 만든 128L 보드에서는 "Cannot program of verify Flash"라는 에러 메시지가 발생합니다.
>
>AD-USBISP V02에 (3.3V / 5V) 호환이라고 되어 있어서 사용했는데, Atmega128L에도 사용 가능한 것인가요? 사용가능하다면, 제가 위에 0~4번중에 잘못된 부분이 있는 것인가요?
>
>또한 당근이AVR 까페에서 보니, Atmega128L 모듈도 주문하면 제작이 가능하다고 하시던데, 비용과 시간은 얼마정도 걸릴지요? 기본의 PCB에서 크리스탈과 MCU만 교체 하면 될 것 같은데 같이 답변 투박
|
||||
| 6074 | 답변완료USB-ISP V03 | 박영재 | 2011-01-20 | 1,217 |
|
USB-ISP V03를 AB-M2560 에 사용할수있나요?
제품설명에는 ATMEGA2561,ATMEGA128 ...... 에 사용된다고 적혀있네요
관리자 답변
네, 사용 가능합니다.
모든 8비트 AVR 시리즈에 사용이 가능합니다.
감사합니다.
>USB-ISP V03를 AB-M2560 에 사용할수있나요?
>제품설명에는 ATMEGA2561,ATMEGA128 ...... 에 사용된다고 적혀있네요
>
>
|
||||
| 6073 | 답변완료Altera ByteBlaster II (FM-BB2) 패럴럴 포트를 usb to 패럴럴 콘버터를 구매하여 노트북에서 가능한가요? | 김진곤 | 2011-01-20 | 1,291 |
|
Altera ByteBlaster II (FM-BB2) 패럴럴 포트를 usb to 패럴럴 콘버터를 구매하여 노트북에서 가능한가요? usb 신호를 패럴럴로 변환해주면 아무 문제가 없을것 같은데요???
관리자 답변
안녕하세요? 고객님,
저희 뉴티씨 제품을 이용하여 주셔서 감사합니다.
USB to PARALLEL은 시중에 유통되는 것은 거의 다(제가 아는 바로는 전부) 프린터 전용입니다.
따라서, USB to LPT 기능을 수행하지 못합니다. 따라서, 임베디드 용으로는 사용할 수 없지요.
프린터만 사용이 가능한 것이지요. 모양은 똑같이 생겼지만, USB to LPT가 가능해야 해요.
아직 그런 것은 본 적이 없습니다. 독일 싸이트에서 그런 것을 만들었다는 보고가 있었고,
저희도 예전에 그걸 만들어 보았는 데, 너무 느려서 사용하는 것이 불가능합니다. 되기는 되더군요. 1초 정도 걸릴 것이 1분 30초 정도 걸렸습니다. 그래서, 상용으로는 사용이 불가해서, 예전에 실패한 프로젝트였습니다.
아직은 그런 것이 없는 것 같습니다. 그러므로, USB에서 사용하시려면, USBBlaster 라는 것을 구매하여 사용하시는 것을 권장합니다.
수고하세요.
>Altera ByteBlaster II (FM-BB2) 패럴럴 포트를 usb to 패럴럴 콘버터를 구매하여 노트북에서 가능한가요? usb 신호를 패럴럴로 변환해주면 아무 문제가 없을것 같은데요???
|
||||
| 6072 | 답변완료KR-DL16 질문이요 | 김용남 | 2011-01-19 | 1,366 |
|
안녕하세요
KR-DL16 조립용모델을 사서 조립까지 완료했습니다.
동작도 다 하구요.
그런데 궁금한것이 프린터에 꽂는 케이블에 J705 에 연결해서 프로그래밍 다운까지 했는데요
SE-3T9 케이블이 있더라구요? 구성품에요
노트북에 연결해서 하고 싶은데
SE-3T9 이걸 어디다가 연결해야 하는지 모르겟네요
3핀짜리가 없는데... 그렇다고 J708 에 꽂는건 아닌거같구요...
노트북에 연결해서 하려면 USB ISP 케이블을 하나 구매 해야하는것인가요??
또 구지 ICC-AVR 프로그램을 사용하지 않고 AVR STDUIO 4 를 사용해서 해도 상관없는거죠?
관리자 답변
안녕하세요
아래와 같은 장비가 있어야 PC와 통신연결이 가능합니다.
USB-Serial 변환 보드 AD-USBSERIAL 33,000원
RS-232 모듈 AM-RS232M 11,000원
USBISP v03은 시리얼기능도 지원합니다. 그러나 다운로드와 동시에는 사용이 불가능합니다.
USBISP는 icc 및 AVRSTDUIO4 툴로 사용가능합니다.
수고하세요
>안녕하세요
>KR-DL16 조립용모델을 사서 조립까지 완료했습니다.
>동작도 다 하구요.
>
>그런데 궁금한것이 프린터에 꽂는 케이블에 J705 에 연결해서 프로그래밍 다운까지 했는데요
>
>SE-3T9 케이블이 있더라구요? 구성품에요
>노트북에 연결해서 하고 싶은데
>
>SE-3T9 이걸 어디다가 연결해야 하는지 모르겟네요
>3핀짜리가 없는데... 그렇다고 J708 에 꽂는건 아닌거같구요...
>
>노트북에 연결해서 하려면 USB ISP 케이블을 하나 구매 해야하는것인가요??
>
>또 구지 ICC-AVR 프로그램을 사용하지 않고 AVR STDUIO 4 를 사용해서 해도 상관없는거죠?
|
||||
| 6071 | 답변완료AM-128PL 회로도 요청드립니다. | 김주용 | 2011-01-19 | 1,310 |
|
AB-M128-B 기종과 결합된 AM-128PL 회로도를 요청드립니다.
수고하십시오.
관리자 답변
안녕하세요
아래 링크는 모듈회로도입니다. PL용은 확인하여 다시 올리도록 하겠습니다.
우선은 아래회로도에서 RS232부분만 제외하고 보시면 됩니다.
http://www.newtc.co.kr/board/data/pds/AM_128Pro_ATMega128_모듈_회로도.pdf
AB-M128-B 용 도면 입니다.
http://www.newtc.co.kr/board/view.php?id=pds&page=1&sn1=&divpage=1&sn=off&ss=on&sc=off&keyword=m128&select_arrange=headnum&desc=asc&no=233
필요한 소스나 회로도는 자료실 >> 기존자료실에서 찾아보시면 됩니다.
수고하세요
>AB-M128-B 기종과 결합된 AM-128PL 회로도를 요청드립니다.
>
>수고하십시오.
|
||||
| 6070 | 답변완료AD-USBTINY PID 변경 질문 | 이호민 | 2011-01-19 | 1,206 |
|
안녕하세요.
CP2103칩을 사용했길래 무난하게 쓸 수 있을 것 같아AD-USBTINY를 구매했는데,
PID가 달라 드라이버 설치가 되지 않더군요. (우분투 리눅스 10.04 사용)
아래 링크를 따라 PID를 수정해 보니,
http://www.newtc.co.kr/board/view.php?id=faq&page=1&sn1=&divpage=1&sn=off&ss=on&sc=on&select_arrange=headnum&desc=asc&no=41
PID를 원래의 EA60으로 바꾸면 리눅스에서도 드라이버 설치 없이 잘 인식하는걸 확인했습니다.
다니 NewTC의 PID로 돌려볼까 싶어서 (Silabs 의 an144sw를 다운받아) 수정하던 중
84F3 -> 84FC로 잘못 수정했더니 더 이상 an144sw에 장치가 보이지 않아 다시 수정할 수 없게 되어 버렸습니다.
뉴티씨의 an144sw는 PID가 84F3인 경우에만 장치가 보이고, Silab의 an144sw는 PID가 EA60인 경우에만 장치가 보였는데, 84FC로 바꿔 버린 바람에 이도 저도 못 바꾸게 되어 버렸습니다.
어떻게 다시 PID를 되돌릴 수 있나요?
ps. AD-USBTINY의 PID를 원래대로(EA60) 판매한다면 맥이나 리눅스에서도 (silab의) 기본 드라이버로 사용할 수 있습니다. 원래의 PID로 판매하실 계획은 없으신지요? 작성중인 책에 귀사의 이 모듈을 소개하고 싶었는데 지금처럼 PID를 바꾸신 상태라면 사용하기가 편하지 않아 꺼려집니다. :(
관리자 답변
안녕하세요
잘못변경된 PID를 입력 할 경우 동작을 하지않습니다.
1.살리는 방법은 드라이버 파일의 PID를 일치 시켜야 합니다.
거기까지는 본사에서 지원을 하지않고 있습니다.
2. 본사로 보내어 칩을 교체 하시길 바랍니다. 비용은 미리 연락 드릴 겁니다.
ps. AD-USBTINY의 PID를 원래대로(EA60) 판매한다면 맥이나 리눅스에서도 (silab의) 기본 드라이버로 사용할 수 있습니다. 원래의 PID로 판매하실 계획은 없으신지요? 작성중인 책에 귀사의 이 모듈을 소개하고 싶었는데 지금처럼 PID를 바꾸신 상태라면 사용하기가 편하지 않아 꺼려집니다. :(
==> 본사에서도 win7 으로 인해 PID를 변경을 고려하고 있습니다. 또한, 요청하시는 고객님께는 PID를 원래대로 해서 판매도 가능합니다. 향후, 조만간 버전 업하면서 변경 계획하고 있습니다. 향후 원래 PID대로 판매할 예정입니다.
수고하세요
>안녕하세요.
>
>CP2103칩을 사용했길래 무난하게 쓸 수 있을 것 같아AD-USBTINY를 구매했는데,
>PID가 달라 드라이버 설치가 되지 않더군요. (우분투 리눅스 10.04 사용)
>
>아래 링크를 따라 PID를 수정해 보니,
>http://www.newtc.co.kr/board/view.php?id=faq&page=1&sn1=&divpage=1&sn=off&ss=on&sc=on&select_arrange=headnum&desc=asc&no=41
>
>PID를 원래의 EA60으로 바꾸면 리눅스에서도 드라이버 설치 없이 잘 인식하는걸 확인했습니다.
>
>다니 NewTC의 PID로 돌려볼까 싶어서 (Silabs 의 an144sw를 다운받아) 수정하던 중
>84F3 -> 84FC로 잘못 수정했더니 더 이상 an144sw에 장치가 보이지 않아 다시 수정할 수 없게 되어 버렸습니다.
>
>
>뉴티씨의 an144sw는 PID가 84F3인 경우에만 장치가 보이고, Silab의 an144sw는 PID가 EA60인 경우에만 장치가 보였는데, 84FC로 바꿔 버린 바람에 이도 저도 못 바꾸게 되어 버렸습니다.
>
>어떻게 다시 PID를 되돌릴 수 있나요?
>
>ps. AD-USBTINY의 PID를 원래대로(EA60) 판매한다면 맥이나 리눅스에서도 (silab의) 기본 드라이버로 사용할 수 있습니다. 원래의 PID로 판매하실 계획은 없으신지요? 작성중인 책에 귀사의 이 모듈을 소개하고 싶었는데 지금처럼 PID를 바꾸신 상태라면 사용하기가 편하지 않아 꺼려집니다. :(
|
||||
| 6069 | 답변완료이 예제소스를 avr studio에서 돌리려면... | 채종수 | 2011-01-18 | 1,405 |
|
#include <iom128v.h>
#include <macros.h>
void delay(int n);
const char segment_data[10] = {63, 6,91,79,102,109,125,39,127,103};
unsigned char display_num[4]={0,0,0,0}; // Seven segment 4자리 숫자 출력 버퍼
void port_init(void)
{
PORTA = 0x00;
DDRA = 0xff;
PORTB = 0x00;
DDRB = 0x00;
PORTC = 0x00; //m103 output only
DDRC = 0x0f;
PORTD = 0x00;
DDRD = 0x00;
PORTE = 0x00;
DDRE = 0x00;
PORTF = 0x00;
DDRF = 0x00;
PORTG = 0x00;
DDRG = 0x03;
}
//TIMER0 initialize - prescale:64
// WGM: Normal
// desired value: 1KHz
// actual value: 1.000KHz (0.0%)
void timer0_init(void)
{
TCCR0 = 0x00; //stop
ASSR = 0x00; //set async mode
TCNT0 = 0x06; //set count
OCR0 = 0xFA;
TCCR0 = 0x04; //start timer
}
unsigned char digit_num=0;
#pragma interrupt_handler timer0_ovf_isr:17
void timer0_ovf_isr(void)
{
TCNT0 = 0x06; //reload counter value
digit_num++;
digit_num = digit_num%4;
PORTC = 0x0f;
PORTA = segment_data[display_num[digit_num]];
PORTC = ~(0x01 << digit_num);
}
//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();
timer0_init();
MCUCR = 0x00;
EICRA = 0x00; //extended ext ints
EICRB = 0x00; //extended ext ints
EIMSK = 0x00;
TIMSK = 0x01; //timer interrupt sources
ETIMSK = 0x00; //extended timer interrupt sources
SEI(); //re-enable interrupts
//all peripherals are now initialized
}
void main(void)
{
int i=0;
init_devices();
while(1){
i++;
display_num[0] = (i%10000)/1000;
display_num[1] = (i%1000)/100;
display_num[2] = (i%100)/10;
display_num[3] = (i%10);
delay(2000);
//LED동작
PORTG = 0x01;
delay(500);
PORTG = 0x02;
delay(500);
PORTG = 0x03;
delay(500);
PORTG = 0x00;
delay(500);
}
}
이 시디에 있는 예제는 icc avr용으로 알고있습니다.
근데 icc avr은 데모버젼이라 45일만쓸수 있다고 해서...
avr studio를 쓰려고 하는데 여기서 이 예제를 컴파일하면
에러가 나서요,,, 헤더파일이 다른건지... 어떻게 수정해야하는지 알려주시면 감사하겠습니다.
void delay(int n)
{
volatile int i,j;
for(i=1;i<n;i++)
{
for(j=1;j<600;j++);
}
}
관리자 답변
안녕하세요? 고객님,
ICCAVR도 45일 이후에도 4kB 이하의 hex 생성시에는 사용이 가능합니다.
그리고, 주어진 소스는 4kb 이하의 소스입니다. 따라서, 언제든지 쓰실 수 있으니, ICCAVR을 사용하여 하시기 바랍니다. 본사의 예제는 대부분 4kB 이하입니다. 공부하시는 데는 즉, 무료 사용이 가능합니다.
참고하시기 바랍니다.
감사합니다.
>
>#include <iom128v.h>
>#include <macros.h>
>
>void delay(int n);
>
>
>const char segment_data[10] = {63, 6,91,79,102,109,125,39,127,103};
>
>unsigned char display_num[4]={0,0,0,0}; // Seven segment 4자리 숫자 출력 버퍼
>
>
>void port_init(void)
>{
> PORTA = 0x00;
> DDRA = 0xff;
> PORTB = 0x00;
> DDRB = 0x00;
> PORTC = 0x00; //m103 output only
> DDRC = 0x0f;
> PORTD = 0x00;
> DDRD = 0x00;
> PORTE = 0x00;
> DDRE = 0x00;
> PORTF = 0x00;
> DDRF = 0x00;
> PORTG = 0x00;
> DDRG = 0x03;
>}
>
>//TIMER0 initialize - prescale:64
>// WGM: Normal
>// desired value: 1KHz
>// actual value: 1.000KHz (0.0%)
>void timer0_init(void)
>{
> TCCR0 = 0x00; //stop
> ASSR = 0x00; //set async mode
> TCNT0 = 0x06; //set count
> OCR0 = 0xFA;
> TCCR0 = 0x04; //start timer
>}
>
>unsigned char digit_num=0;
>
>#pragma interrupt_handler timer0_ovf_isr:17
>void timer0_ovf_isr(void)
>{
> TCNT0 = 0x06; //reload counter value
> digit_num++;
> digit_num = digit_num%4;
> PORTC = 0x0f;
> PORTA = segment_data[display_num[digit_num]];
> PORTC = ~(0x01 << digit_num);
>
>}
>
>//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();
> timer0_init();
>
> MCUCR = 0x00;
> EICRA = 0x00; //extended ext ints
> EICRB = 0x00; //extended ext ints
> EIMSK = 0x00;
> TIMSK = 0x01; //timer interrupt sources
> ETIMSK = 0x00; //extended timer interrupt sources
> SEI(); //re-enable interrupts
> //all peripherals are now initialized
>}
>
>void main(void)
>{
> int i=0;
> init_devices();
>
> while(1){
> i++;
> display_num[0] = (i%10000)/1000;
> display_num[1] = (i%1000)/100;
> display_num[2] = (i%100)/10;
> display_num[3] = (i%10);
> delay(2000);
>
> //LED동작
> PORTG = 0x01;
> delay(500);
> PORTG = 0x02;
> delay(500);
> PORTG = 0x03;
> delay(500);
>
> PORTG = 0x00;
> delay(500);
> }
>}
>
>이 시디에 있는 예제는 icc avr용으로 알고있습니다.
>
>근데 icc avr은 데모버젼이라 45일만쓸수 있다고 해서...
>
>avr studio를 쓰려고 하는데 여기서 이 예제를 컴파일하면
>
>에러가 나서요,,, 헤더파일이 다른건지... 어떻게 수정해야하는지 알려주시면 감사하겠습니다.
>
>
>void delay(int n)
>{
> volatile int i,j;
> for(i=1;i<n;i++)
> {
> for(j=1;j<600;j++);
> }
>}
>
|
||||
| 6068 | 답변완료Analog Out 관련 (Atmega 128 PRO) | 안재철 | 2011-01-18 | 1,427 |
|
Atmega 128 PRO 에서 Analog Out을 사용하려면 어떻게 해야 하나요???
관리자 답변
안녕하세요? 고객님,
저희 뉴티씨를 이용하여 주셔서 감사드립니다.
ATMEGA128에는 아날로그 출력은 없습니다. 따라서, DA 컨버터를 연결하여 사용하시는 것도 좋은 방법입니다. 간단하게는 클래식하게 8비트 DA 컨버터로 DA0800 같은 것이 있습니다.
음성용 DA 컨버터 등의 칩은 요즘에 매우 잘 나와 있습니다.
감사합니다.
>
>Atmega 128 PRO 에서 Analog Out을 사용하려면 어떻게 해야 하나요???
|
||||
| 6067 | 답변완료AD-JTAG V02 질문드립니다~~!! | 이원재 | 2011-01-18 | 1,473 |
|
상위모델 호환이 ATMEGA 64(L)은 되는지 알고싶습니다. 64밖에 안나와있네요..
그리고 이 제품으로 다운로드와 디버깅 둘다 가능한것인가요?AVR Studio를 사용했을때요~
혹 인식을 잘못해서 디버깅이 잘안된다던데 이런문제가 있는것은 아닌가 걱정이되네요..
그리고 성능상 JTAG ICE500 Mini 와 다른점이 있는지 알고싶습니다. 답변부탁드립니다.
관리자 답변
안녕하세요
ATMEGA 64L이나 ATMEGA 64 는 구동전압만 틀리고 나머지 사용방법은 동일합니다.
즉 64로 사용하시면 됩니다.
JTAG ICE500 Mini 는 타사 제품이여서 뭐라고 설명하기가 힘듭니다.
수고하세요
>상위모델 호환이 ATMEGA 64(L)은 되는지 알고싶습니다. 64밖에 안나와있네요..
>그리고 이 제품으로 다운로드와 디버깅 둘다 가능한것인가요?AVR Studio를 사용했을때요~
>혹 인식을 잘못해서 디버깅이 잘안된다던데 이런문제가 있는것은 아닌가 걱정이되네요..
>그리고 성능상 JTAG ICE500 Mini 와 다른점이 있는지 알고싶습니다. 답변부탁드립니다.
>
|
||||
| 6066 | 답변완료3축 가속도센서 테스트 소스에 관해 문의드립니다. | 안성용 | 2011-01-18 | 1,392 |
|
안녕하십니까? NewTC의 3축 가속도센서를 구매해서..
AVR에 입문중인 안성용이라고 합니다.
다른게 아니라 가속도센서의 테스트 소스에 관해 간단한 것들을 여쭤보려고 합니다.
void port_init(void)
ㄴ여기는 PORT A~G까지 전체 포트를 초기화 시켜놨는데.. 그 이유가 뭔가요??
void uart0_init(void)
void TX0_USART(unsigned char *dat,int len)
ㄴ위 함수들은 통신을 위한 함수니까.. AVR보드 내부에서..
가속도 센서로 받은 값들을 Character LCD로 출력할 때는 필요 없겠죠??
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
}
ㄴ이 부분은 어떤것들은 초기화시켜놓은 건가요??
sei()는 인터럽트를 위해 필요한 부분 아닌가요??
TIMSK, ETIMSK 이런것들은 타이머의 어떤경우에 쓰는건가요??
void delay(int n)
ㄴ이 함수는 delay_ms()나 delay_us()로 대체해도 되겠죠??
void get_adc_data(void){
unsigned int i;
ch0=ch2=ch4=0;
for(i=0;i<16;i++){
ADCSRA &= 0x7f;
ADMUX = 0x40;
ADCSRA |= 0xC0;
while((ADCSRA & 0x10) != 0x10);
buf[0] = ADCL;
buf[1] = ADCH;
ch0 += buf[0]+buf[1]*256;
ADCSRA &= 0x7f;
ADMUX = 0x42;
ADCSRA |= 0xC0;
while((ADCSRA & 0x10) != 0x10);
buf[2] = ADCL;
buf[3] = ADCH;
ch2 += buf[2]+buf[3]*256;
ADCSRA &= 0x7f;
ADMUX = 0x44;
ADCSRA |= 0xC0;
while((ADCSRA & 0x10) != 0x10);
buf[4] = ADCL;
buf[5] = ADCH;
ch4 += buf[4]+buf[5]*256;
}
ch0 = ch0>>4;
ch0 &=0xfffe;
ch2 = ch2>>4;
ch2 &=0xfffe;
ch4 = ch4>>4;
ch4 &=0xfffe;
data.x = ch0;
data.y = ch2;
data.z = ch4;
data.reserve = 0x0000;
}
ㄴ기초적인것도 잘 모르니.. 이것참 힘드네요..
void main(){
init_devices();
ADMUX = 0x00; // single-ended ADC3
ADCSRA = 0x86; // ADC enable, 125kHz
while(1){
get_adc_data();
delay(100);
TX0_USART(buf,BUFSIZE);
PORTG ++; <----- 왜 G번 포트를 ++ 시켜주는지 모르겠습니다...
delay(100);
}
}
제가 하려는 것은 가속도센서로 급격한 가속도변화가 발생하면..
지그비를 동작시켜서 신호를 송수신하고...
수신받은 신호를..
SD카드에 저장..
SD카드에 저장된 텍스트를 LCD에 출력.
이렇게 입니다...
그런데 지금은.. 가속도 센서 값을 인식하는 것도 못하고 있습니다..ㅜㅡ
소스 해석 좀 부탁드립니다....
관리자 답변
안녕하세요
>안녕하십니까? NewTC의 3축 가속도센서를 구매해서..
>AVR에 입문중인 안성용이라고 합니다.
>다른게 아니라 가속도센서의 테스트 소스에 관해 간단한 것들을 여쭤보려고 합니다.
>
>void port_init(void)
> ㄴ여기는 PORT A~G까지 전체 포트를 초기화 시켜놨는데.. 그 이유가 뭔가요??
- 사용안하는 포트는 보통 입력으로 잡고 사용합니다.
>
>void uart0_init(void)
>void TX0_USART(unsigned char *dat,int len)
> ㄴ위 함수들은 통신을 위한 함수니까.. AVR보드 내부에서..
> 가속도 센서로 받은 값들을 Character LCD로 출력할 때는 필요 없겠죠??
- 사용안해도 무방합니다.
>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
>}
> ㄴ이 부분은 어떤것들은 초기화시켜놓은 건가요??
> sei()는 인터럽트를 위해 필요한 부분 아닌가요??
> TIMSK, ETIMSK 이런것들은 타이머의 어떤경우에 쓰는건가요??
확장메모리 , 인터럽터 관련 초기화 작업입니다.
cli(), sei() 전체 인터럽터 막고 풀는 함수 입니다.
>
>void delay(int n)
> ㄴ이 함수는 delay_ms()나 delay_us()로 대체해도 되겠죠??
>
>void get_adc_data(void){
> unsigned int i;
> ch0=ch2=ch4=0;
>
> for(i=0;i<16;i++){
> ADCSRA &= 0x7f;
> ADMUX = 0x40;
> ADCSRA |= 0xC0;
>
> while((ADCSRA & 0x10) != 0x10);
> buf[0] = ADCL;
> buf[1] = ADCH;
> ch0 += buf[0]+buf[1]*256;
>
> ADCSRA &= 0x7f;
> ADMUX = 0x42;
> ADCSRA |= 0xC0;
>
> while((ADCSRA & 0x10) != 0x10);
> buf[2] = ADCL;
> buf[3] = ADCH;
> ch2 += buf[2]+buf[3]*256;
>
> ADCSRA &= 0x7f;
> ADMUX = 0x44;
> ADCSRA |= 0xC0;
>
> while((ADCSRA & 0x10) != 0x10);
> buf[4] = ADCL;
> buf[5] = ADCH;
> ch4 += buf[4]+buf[5]*256;
> }
> ch0 = ch0>>4;
> ch0 &=0xfffe;
> ch2 = ch2>>4;
> ch2 &=0xfffe;
> ch4 = ch4>>4;
> ch4 &=0xfffe;
>
> data.x = ch0;
> data.y = ch2;
> data.z = ch4;
> data.reserve = 0x0000;
>}
>ㄴ기초적인것도 잘 모르니.. 이것참 힘드네요..
>
>void main(){
> init_devices();
> ADMUX = 0x00; // single-ended ADC3
> ADCSRA = 0x86; // ADC enable, 125kHz
> while(1){
> get_adc_data();
>
> delay(100);
> TX0_USART(buf,BUFSIZE);
>
> PORTG ++; <----- 판매하는 킷트중에 G 포트에 LED가 있어
루틴이 정상적으로 돌아가는지 확인용입니다.
> delay(100);
> }
강좌게시판에 있는 강좌를 먼저 보시는것이 좋을듯합니다.
수고하세요
>안녕하십니까? NewTC의 3축 가속도센서를 구매해서..
>AVR에 입문중인 안성용이라고 합니다.
>다른게 아니라 가속도센서의 테스트 소스에 관해 간단한 것들을 여쭤보려고 합니다.
>
>void port_init(void)
> ㄴ여기는 PORT A~G까지 전체 포트를 초기화 시켜놨는데.. 그 이유가 뭔가요??
>
>void uart0_init(void)
>void TX0_USART(unsigned char *dat,int len)
> ㄴ위 함수들은 통신을 위한 함수니까.. AVR보드 내부에서..
> 가속도 센서로 받은 값들을 Character LCD로 출력할 때는 필요 없겠죠??
>
>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
>}
> ㄴ이 부분은 어떤것들은 초기화시켜놓은 건가요??
> sei()는 인터럽트를 위해 필요한 부분 아닌가요??
> TIMSK, ETIMSK 이런것들은 타이머의 어떤경우에 쓰는건가요??
>
>void delay(int n)
> ㄴ이 함수는 delay_ms()나 delay_us()로 대체해도 되겠죠??
>
>void get_adc_data(void){
> unsigned int i;
> ch0=ch2=ch4=0;
>
> for(i=0;i<16;i++){
> ADCSRA &= 0x7f;
> ADMUX = 0x40;
> ADCSRA |= 0xC0;
>
> while((ADCSRA & 0x10) != 0x10);
> buf[0] = ADCL;
> buf[1] = ADCH;
> ch0 += buf[0]+buf[1]*256;
>
> ADCSRA &= 0x7f;
> ADMUX = 0x42;
> ADCSRA |= 0xC0;
>
> while((ADCSRA & 0x10) != 0x10);
> buf[2] = ADCL;
> buf[3] = ADCH;
> ch2 += buf[2]+buf[3]*256;
>
> ADCSRA &= 0x7f;
> ADMUX = 0x44;
> ADCSRA |= 0xC0;
>
> while((ADCSRA & 0x10) != 0x10);
> buf[4] = ADCL;
> buf[5] = ADCH;
> ch4 += buf[4]+buf[5]*256;
> }
> ch0 = ch0>>4;
> ch0 &=0xfffe;
> ch2 = ch2>>4;
> ch2 &=0xfffe;
> ch4 = ch4>>4;
> ch4 &=0xfffe;
>
> data.x = ch0;
> data.y = ch2;
> data.z = ch4;
> data.reserve = 0x0000;
>}
>ㄴ기초적인것도 잘 모르니.. 이것참 힘드네요..
>
>void main(){
> init_devices();
> ADMUX = 0x00; // single-ended ADC3
> ADCSRA = 0x86; // ADC enable, 125kHz
> while(1){
> get_adc_data();
>
> delay(100);
> TX0_USART(buf,BUFSIZE);
>
> PORTG ++; <----- 왜 G번 포트를 ++ 시켜주는지 모르겠습니다...
> delay(100);
> }
>}
>
>제가 하려는 것은 가속도센서로 급격한 가속도변화가 발생하면..
>지그비를 동작시켜서 신호를 송수신하고...
>수신받은 신호를..
>SD카드에 저장..
>SD카드에 저장된 텍스트를 LCD에 출력.
>이렇게 입니다...
>
>그런데 지금은.. 가속도 센서 값을 인식하는 것도 못하고 있습니다..ㅜㅡ
>소스 해석 좀 부탁드립니다....
|
||||
| 6065 | 답변완료as보냈읍니다. | 박병훈 | 2011-01-17 | 1,404 |
|
받으시면 연락부탁합니다.
010-3209-7647
관리자 답변
안녕하세요
A/S 할 제품을 수령후 ,
제품 테스트를 하고 증상 및 수리에 관련하여 개별 연락을 하고 있습니다.
수고하세요
>받으시면 연락부탁합니다.
>010-3209-7647
|
||||
| 6064 | 답변완료컴파일 에러요,,, | 채종수 | 2011-01-16 | 1,464 |
|
자꾸 질문올려 죄송합니다
어제까지 isp프로그램 다운이 잘됐는데
오늘 안되네요...이거 무슨에런지,.,,
설정 메뉴얼보고 똑같이했는데 이러네요,,,
관리자 답변
안녕하세요
COM3 포트에 ISP가 없다는 에러 입니다.
설정에서 ISP포트를 COM3으로 잡아서 사용하세요
그래도 이상이 있으시면 본사로 보내어 점검을 받아 보세요
수고하세요
>자꾸 질문올려 죄송합니다
>
>어제까지 isp프로그램 다운이 잘됐는데
>
>오늘 안되네요...이거 무슨에런지,.,,
>
>설정 메뉴얼보고 똑같이했는데 이러네요,,,
|
||||
