Q&A
| 번호 | 제목 | 작성자 | 등록일 | 조회 |
|---|---|---|---|---|
| 2318 | 답변완료PC와의 단절후 키트동작이 바뀌네요. | 신병철 충북대 | 2009-02-05 | 1,315 |
|
- 구입품 : AB-M128PRO-A V 1.0 (호환품: kd-128 Pro )
- 안녕하세요. 시계 프로그램을 작성하여 시험적으로 사용하고 있습니다.
개발환경은 16비트 타이머 인터럽트 사용했구요, C언어로 프로그램했는데
그럭저럭 돌아갑니다.
- 문제는 PC와의 ISP 케이블을 단절시키고 독립적으로 작동시키고 싶은데,
실제로 단절시키면
무언가 키트의 동작이 달라집니다. 물론 단절 이전에 전원을 끄고 단절 이후에
전원을 키고 사용합니다. 키트를 다시 PC와 연결시키니 멀쩡하게 동작하구요.
- 무슨 이유일까요 ? 왜 분리된 상태에서는 오류가 생길까요 ? 분리시켜
독립적으로 사용하려면 어떤 조치가 필요할까요 ?
- 답변에 미리 감사드립니다.
신병철 충북대
017-404-0239
관리자 답변
안녕하세요?
아래도 비슷한 걸로 고민하시던 분인데, 답변 참고 바랍니다.
대부분 safe ground 문제였습니다.
- 아래 -
http://newtc.co.kr/board/view.php?id=qna&page=37&sn1=&divpage=1&sn=off&ss=on&sc=off&keyword=ISP&select_arrange=headnum&desc=asc&no=1034
감사합니다.
>- 구입품 : AB-M128PRO-A V 1.0 (호환품: kd-128 Pro )
>- 안녕하세요. 시계 프로그램을 작성하여 시험적으로 사용하고 있습니다.
> 개발환경은 16비트 타이머 인터럽트 사용했구요, C언어로 프로그램했는데
> 그럭저럭 돌아갑니다.
>- 문제는 PC와의 ISP 케이블을 단절시키고 독립적으로 작동시키고 싶은데,
> 실제로 단절시키면
> 무언가 키트의 동작이 달라집니다. 물론 단절 이전에 전원을 끄고 단절 이후에
> 전원을 키고 사용합니다. 키트를 다시 PC와 연결시키니 멀쩡하게 동작하구요.
>- 무슨 이유일까요 ? 왜 분리된 상태에서는 오류가 생길까요 ? 분리시켜
> 독립적으로 사용하려면 어떤 조치가 필요할까요 ?
>
>- 답변에 미리 감사드립니다.
>
>신병철 충북대
>017-404-0239
|
||||
| 2317 | 답변완료ADC 신호가 뜨지 않습니다 | 김희선 | 2009-02-05 | 1,398 |
|
qna에서 올려주셨던 소스를 가지고 하이퍼터미널 창으로 ch0 ~ 7까지 값을 받아 보았습니다. 연결이 없을때는 70~180사이의 어떤 값들이 랜덤으로 자꾸 변하면서 뜨는 걸 확인했습니다.
파워서플라이의 gnd단자(COM)에 1.5V 건전지의 음극을 연결하고,
양극을 PortF의 아무 단자에나 갖다 대 보았는데 수치에 변화가 없어서 의아하여 질문드리게 되었습니다. 이렇게 하면 안되는 건가요? 그리고 10핀 단자에서 어느 부분이 Port 0번이고 뭐가 PF7번인지 모르겠어서 좀 헷갈리네요, 배치도 좀 알려주시면 감사하겠습니다.
항상 수고가 많으십니다. 감사합니다~
관리자 답변
안녕하세요?
첨부 했지만, 아래를 보면, 좀 더 자세히 볼 수 있습니다.
- 아래 -
http://www.newtc.co.kr/product_AB-M128PRO-A.php
D0 -> 채널 0 ~ D7 ->채널 7
수고하세요.
>
>qna에서 올려주셨던 소스를 가지고 하이퍼터미널 창으로 ch0 ~ 7까지 값을 받아 보았습니다. 연결이 없을때는 70~180사이의 어떤 값들이 랜덤으로 자꾸 변하면서 뜨는 걸 확인했습니다.
>
>파워서플라이의 gnd단자(COM)에 1.5V 건전지의 음극을 연결하고,
>양극을 PortF의 아무 단자에나 갖다 대 보았는데 수치에 변화가 없어서 의아하여 질문드리게 되었습니다. 이렇게 하면 안되는 건가요? 그리고 10핀 단자에서 어느 부분이 Port 0번이고 뭐가 PF7번인지 모르겠어서 좀 헷갈리네요, 배치도 좀 알려주시면 감사하겠습니다.
>
>항상 수고가 많으십니다. 감사합니다~
|
||||
| 2316 | 답변완료AD-JTAG 보드 | 이진영 | 2009-02-05 | 1,347 |
|
안녕하세요. AD-JTAG 보드에 관한 질문입니다.
함께 사용하는 aStudio는 반드시 4b528이라야 하나요 ? aStudio 최신버전(4.15 build623)은 안 되는지요.
관리자 답변
안녕하세요...고객님....
AD-JTAG를 업그레이드 시키시면 최신버전(4.15)에서 동작합니다.
본사로 보내주시면 업그레이드시켜서 보내드리겠습니다.
고객님은 택배비만 부담하시면 됩니다.
감사합니다.
>안녕하세요. AD-JTAG 보드에 관한 질문입니다.
>함께 사용하는 aStudio는 반드시 4b528이라야 하나요 ? aStudio 최신버전(4.15 build623)은 안 되는지요.
>
|
||||
| 2315 | 답변완료AM-RFMOD를 사용할때 데이터 코딩을 해야되는지? | 작연 | 2009-02-05 | 1,419 |
|
AM-RFMOD 사용중 인근에서 근접 주파수 사용자가 있을시(단순 RF,무선랜이나 브루투스,지그비) 해결하기 위한 전용의 데이터코딩이 내장되 있는지요?
아이돌 상태에서 PCB ANT사용시 최대 통신거리와 외부에 50옴 ANT 추가하였을시 통신거리를 알고 싶습니다.
관리자 답변
안녕하세요? 고객님,
저희 N.T.C에 가져주시는 관심에 감사드립니다.
RFMOD는 채널이 86개나 있습니다. 혼잡하지 않고, 데이터 통신이 잘 되는 채널을 선택하여 사용하시면 됩니다. 송신 에러시에 재전송하기는 하지만, 그 외의 전용 데이터 코딩이라는 것은 없습니다.
또한, PCB에 장착된 Microstrip Ant.는 전송거리가 열린공간에서 대략 30-40m 정도이구요. 외부 안테나의 종류에 따라 다르지만, 70 ~ 150m 정도로 거리가 늘어나게 됩니다.
그리고, 앞으로는 본명으로 질문 부탁드립니다.
감사합니다.
>AM-RFMOD 사용중 인근에서 근접 주파수 사용자가 있을시(단순 RF,무선랜이나 브루투스,지그비) 해결하기 위한 전용의 데이터코딩이 내장되 있는지요?
>아이돌 상태에서 PCB ANT사용시 최대 통신거리와 외부에 50옴 ANT 추가하였을시 통신거리를 알고 싶습니다.
|
||||
| 2314 | 답변완료오늘 찾아 가려 하는데 어찌/ 언제 가야하나요?? | 김정현 | 2009-02-05 | 1,306 |
|
안녕하세요...
한번 방문해도 된다 하셔서 오늘 오후에
찾아 가려하는데 언제 어찌 가야 하나요?
그리고 찾아가서 누구를 찾아야 하는지요..?
감사합니다.
관리자 답변
안녕하세요....
5시 이전에 언제라도 찾아오시면 됩니다.
찾아오시기 전에 오신다는 전화를 주시면 감사하겠습니다.
>안녕하세요...
>한번 방문해도 된다 하셔서 오늘 오후에
>찾아 가려하는데 언제 어찌 가야 하나요?
>
>그리고 찾아가서 누구를 찾아야 하는지요..?
>감사합니다.
|
||||
| 2313 | 답변완료uart 통신관련 질문입니다. | 최승호 | 2009-02-05 | 1,375 |
|
저는 지금 atmega128pro를 사용중이고요
usb uart cable을 연결해서 컴퓨터에 통신하려고 합니다.
"printf_사용하여_디버깅하기"강좌를 따라서 해봤는데
디버깅은 성공하는데 자꾸 이상한 글자가 하이퍼 터미널에 출력 됩니다.
printf("hi")라고 했는데..
----------------아래와 같은--------------------------------------
?序i km纏o{km?o{k???k[k尾KZ?z쯭/kNk=i뱁ⅶj?k=^9子戮館 ?_춀健ZooZ??열子
o?Zk?剩쐐?i용 [칔???영?m萸k춌???{?oZ}k煦?쉭?肉?/???K열壕O?=k삵
戮JO[jJi?{λ춐z?K勖Zi降)?k_쩳Zi쎈?雨Zk?ik酸彷ク쉥{壕_Z後ZZ??{퓃{??薏惚
?o^?サ?i?퐆츹剩???쎈螢쩵?칬km쉥?Zk{萸{戮Z逈kZ侯?k 폨ZO_??? 程k{壻
----------------------------------------------------------------
게 나옵니다.
클럭 주파수를 16MHz로 바꾸고 했는데도 마찬가지입니다.
저런 현상이 보통 어떨때 나오는지 알려 주시고 해결책도 알려주시면 감사하겠습니다 ㅡㅡㅋ
관리자 답변
안녕하세요..고객님..
저희 NewTC 제품을 이용해 주셔서 감사합니다.
아래와 같은 에러는 초기타이밍이 일치하지 않아 생기거나 통신속도가 맞지않아 생기는 현상입니다. UART통신속도와 터미널에서의 통신속도를 일치시켜주시고, 그래도 아래와 같이 문자가 깨져 나오면 리셋키를 눌러보세요.
감사합니다.
>저는 지금 atmega128pro를 사용중이고요
>usb uart cable을 연결해서 컴퓨터에 통신하려고 합니다.
>
>"printf_사용하여_디버깅하기"강좌를 따라서 해봤는데
>디버깅은 성공하는데 자꾸 이상한 글자가 하이퍼 터미널에 출력 됩니다.
>printf("hi")라고 했는데..
>----------------아래와 같은--------------------------------------
>?序i km纏o{km?o{k???k[k尾KZ?z쯭/kNk=i뱁ⅶj?k=^9子戮館 ?_춀健ZooZ??열子
>o?Zk?剩쐐?i용 [칔???영?m萸k춌???{?oZ}k煦?쉭?肉?/???K열壕O?=k삵
>戮JO[jJi?{λ춐z?K勖Zi降)?k_쩳Zi쎈?雨Zk?ik酸彷ク쉥{壕_Z後ZZ??{퓃{??薏惚
>?o^?サ?i?퐆츹剩???쎈螢쩵?칬km쉥?Zk{萸{戮Z逈kZ侯?k 폨ZO_??? 程k{壻
>----------------------------------------------------------------
>게 나옵니다.
>
>클럭 주파수를 16MHz로 바꾸고 했는데도 마찬가지입니다.
>저런 현상이 보통 어떨때 나오는지 알려 주시고 해결책도 알려주시면 감사하겠습니다 ㅡㅡㅋ
|
||||
| 2312 | 답변완료어디가 잘못됫나좀알려주세요 ㅠ | 박종권 | 2009-02-04 | 1,335 |
|
void main(void)
{
volatile unsigned char stepleft, stepright;
volatile int turn=1;
init_devices();
//insert your functional code here...
while(1){
if(turn<401){
MOTOR_PORT_DDR = 0xf0;
stepright = RIGHTmotorOneClock(stepright, 1);
stepleft = LEFTmotorOneClock(stepleft, 1);
MOTOR_PORT = stepleft|stepright;
turn++;
}
if(turn >401){
MOTOR_PORT_DDR = 0x0f;
stepright = RIGHTmotorOneClock(stepright, 1);
stepleft = LEFTmotorOneClock(stepleft, 1);
}
delay(10);
}
}
main부분만 가지고 와 봣습니다. 이렇게하면 한바퀴만 돌고 멈추는데, if(turn>401)이부분부터는 적용이 않되는거 같습니다,ㅠㅠ 어떻게 해야되나요?ㅠㅠ
관리자 답변
안녕하세요...고객님....
이 프로그램은 turn이 초기값으로 돌아가는 구문이 없네요. 이 경우 turn은 항상 1000보다 크거나 쓰레기값으로 대치되겠지요.
turn을 초기값으로 돌아가게하는 구문이 들어간다해도 1000은 너무 작은 값이라서 걱정이 되네요. 정방향에서 역방향으로 또는 역방향에서 정방향으로 전환할때 너무 급하게 하는 감도 있구요. 그럼 모터 드라이브에 무리가 많이 갑니다.
감사합니다.
>void main(void)
>{
> volatile unsigned char stepleft, stepright;
> volatile int turn=1;
> init_devices();
> //insert your functional code here...
>
>
>
>while(1){
> delay(5);
> if(turn<1000)
> MOTOR_PORT_DDR = 0xff;
> stepright = RIGHTmotorOneClock(stepright, 1);
> stepleft = LEFTmotorOneClock(stepleft, 1);
> MOTOR_PORT = stepleft|stepright;
> turn++;
> return;
> if(turn >1000){
> MOTOR_PORT_DDR = 0x00;
> stepright = RIGHTmotorOneClock(stepright, 1);
> stepleft = LEFTmotorOneClock(stepleft, 1);
> MOTOR_PORT = stepleft|stepright;
> }
> delay(5);
> }
>}
>
>main부분만 가지고 와 봣습니다. 제가 나름 생각해서 해봤는데,,진짜 프로그래밍은 아는게 없어서,ㅠㅠ 생각대로 하면 될꺼같은데,, 왜 않되는지 모르겠습니다,,,
>뭐가잘못인지좀 알려주세요 ㅠㅠ
|
||||
| 2311 | 답변완료죄송합니다...시리얼 테스트 관련... | 김정현 | 2009-02-04 | 1,324 |
|
올려주신 소스를 이용해서 테스트를 해보고 싶은데요...
확인할 수 있는 툴이나 방식에 대해 알려주실수 있나요?
단순히 강좌에 있는 시리얼 디버깅하기 같이 그런한 툴이나
방식에 대한 설명 좀 부탁드립니다.
만약 그렇게 해서 이게 돌아간다면 다른 사람이 짠 랩뷰라는
프로그램이 문제이기 때문에 여쭈어 봅니다.
또 한가지 궁금한것은 입력시 '1'로 사용하셨는데 이 데이타는 실제
칩으로 들어갈때 헥사 코드인 0x01인가요? 아니면 문자 1을
의미하는 건가요?
저희 pc에서는 현재 8비트 신호로 1 => 0x01로 데이타를 rs232로 송출하고
있는 것 같은데 입력이 전혀 안되고 있어서요..
간단하게라도 이 하드웨어에서 rs232로 통신하는 것은 이상없음을 확인해야
해서요...
정말 정말 죄송합니다.
관리자 답변
안녕하세요...고객님...
자료실이나 저희 카페에 가시면 아주 자세하게 잘 나와있습니다.
제가 고쳐준 소스는 아주 잘 돌아갑니다. 방금 다시 확인했습니다.
글로써 방식에 대해 알려준다는건 사실상 어렵기에 동영상 강좌나 초초보강좌를 추천합니다.
'1'은 당연히 문자 1이지요. 그래서 %c, %d를 했던건데.... 16진수로 볼려면 %x로 출력해보면 쉽게 알수 있겠네요.
컴퓨터에서 사용하는 터미널의 설정은 제대로 하셨나요?
가까운 곳에 사시면 본사로 한번 들러주세요. 그럼 좀 더 자세하게 서포트 해드릴수 있습니다.
감사합니다.
>올려주신 소스를 이용해서 테스트를 해보고 싶은데요...
>확인할 수 있는 툴이나 방식에 대해 알려주실수 있나요?
>단순히 강좌에 있는 시리얼 디버깅하기 같이 그런한 툴이나
>방식에 대한 설명 좀 부탁드립니다.
>만약 그렇게 해서 이게 돌아간다면 다른 사람이 짠 랩뷰라는
>프로그램이 문제이기 때문에 여쭈어 봅니다.
>또 한가지 궁금한것은 입력시 '1'로 사용하셨는데 이 데이타는 실제
>칩으로 들어갈때 헥사 코드인 0x01인가요? 아니면 문자 1을
>의미하는 건가요?
>저희 pc에서는 현재 8비트 신호로 1 => 0x01로 데이타를 rs232로 송출하고
>있는 것 같은데 입력이 전혀 안되고 있어서요..
>간단하게라도 이 하드웨어에서 rs232로 통신하는 것은 이상없음을 확인해야
>해서요...
>정말 정말 죄송합니다.
|
||||
| 2310 | 답변완료AM-128PRO 씨리얼 통신 | 황의상 | 2009-02-04 | 1,375 |
|
AM-128Pro 보드를 구매했는데 UART 통신을 이용할려고 하니 핀이 3개 뿐이네요
이 제품은 MAx232 를 내장 하고 있잖아요 이걸 uart통신을 할려면 어떤제품을 써야하는 거죠 여기 제품도 핀수가 안맞던데
관리자 답변
안녕하세요...고객님..
저희 NewTC 제품을 이용해 주셔서 감사합니다.
원래 3핀이 맞습니다. TX, RX, GND 만 있으면 됩니다.
max232내장되어 있습니다. 저희 제품중에 SE-3T9를 이용하면 UART통신을 할 수 있습니다.
http://www.newtc.co.kr/product_img/SE-3T9_s.jpg
감사합니다.
>AM-128Pro 보드를 구매했는데 UART 통신을 이용할려고 하니 핀이 3개 뿐이네요
>
>이 제품은 MAx232 를 내장 하고 있잖아요 이걸 uart통신을 할려면 어떤제품을 써야하는 거죠 여기 제품도 핀수가 안맞던데
|
||||
| 2309 | 답변완료로봇을 만들고 싶은데요 | 고혜승 | 2009-02-04 | 1,499 |
|
제가 만들고 싶은것은 AVR나 C언어를 이용하여
바닥에 검은 점을 찍어놓고 그것을 찾아 그 부분에 빛을 발사하는 로봇을 만들고 싶습니다.
학생인 저도 만들수 있는 제가 원하는 로봇을 만들수 있는 방법이 있다면
그부분에 대해서 부품과 함께 알려주시기 바랍니다.
관리자 답변
안녕하세요...고객님...
너무 추상적이라 뭐라 답변드리기가 어렵네요.^_^
마치 자동차 전문가한테 "이제 자동차를 배워볼려고 하는데 어떻게 하면 자동차를 만들수 있습니까? 제품화 하지 않고 그냥 저만 탈 수 있는 간단한 자동차인데 이런 자동차를 만들 수 있는 방법이 있다면 부품과 함께 알려주시기 바랍니다" ^_^
고객님...저희가 고객님께서 만들고자 하는 로봇에 대해 서포트 해 줄수는 있지만 구체적인 내용과 선택은 고객님의 몫이라 생각됩니다.
저희 홈페이지 강좌 =>> 로봇강좌 한번 보시고 그 다음에 좀더 구체적인 질문을 주시면 얼마든지 도와드리겠습니다.
감사합니다.
>제가 만들고 싶은것은 AVR나 C언어를 이용하여
>
>바닥에 검은 점을 찍어놓고 그것을 찾아 그 부분에 빛을 발사하는 로봇을 만들고 싶습니다.
>
>학생인 저도 만들수 있는 제가 원하는 로봇을 만들수 있는 방법이 있다면
>
>그부분에 대해서 부품과 함께 알려주시기 바랍니다.
|
||||
| 2308 | 답변완료귀찮게 해드려 죄송합니다...ㅠㅠ | 김정현 | 2009-02-04 | 1,353 |
|
답변 너무너무 감사합니다.
#include <iom128v.h>
#include <macros.h>
#include <stdio.h>
void port_init(void)
{
PORTA = 0x00;
DDRA = 0xFF;
PORTB = 0x00;
DDRB = 0x00;
PORTC = 0x00;
DDRC = 0x00;
PORTD = 0x00;
DDRD = 0x00;
PORTE = 0x00;
DDRE = 0x00;
PORTF = 0x00;
DDRF = 0x00;
PORTG = 0x00;
DDRG = 0x00;
}
void uart0_init(void)
{
UCSR0B = 0x00;
UCSR0A = 0x00;
UCSR0C = 0x06;
UBRR0L = 0x67;
UBRR0H = 0x00;
UCSR0B = 0x18;
}
void init_devices(void)
{
CLI();
XDIV = 0x00;
XMCRA = 0x00;
port_init();
uart0_init();
MCUCR = 0x00;
EICRA = 0x00;
EICRB = 0x00;
EIMSK = 0x00;
TIMSK = 0x00;
ETIMSK = 0x00;
SEI();
}
int getchar(void)
{
while ((UCSR0A & 0x80) == 0);
return UDR0;
}
int putchar(char c)
{
while (((UCSR0A>>UDRE0)&0x01) == 0);
UDR0 = c;
return c;
}
void main(void)
{
int in;
init_devices();
while(1)
{
scanf("%d", &in);
if(in == 0x01){
PORTA = 0x01;
printf("%d",in);
}
if(in == 0x02){
PORTA = 0x04;
printf("%d",in);
}
if(in == 0x03){
PORTA = 0x08;
printf("%d",in);
}
if(in == 0x04){
PORTA = 0x02;
printf("%d",in);
}
}
}
처음에는 굉장히 쉽게 끊날줄 알았는데 시리얼 통신으로 전혀 입출력이
되지 않아 보여서 미치겠습니다.
그냥 피씨에서 보내는 1.2.3.4에 따라 그 데이터를 다시 pc로 그대로 보내고
각각해당하는 데이타를 포트A에 보내면 되는 것 뿐인데요...
도와주셔서 너무너무 감사해요..ㅠㅠ ..완전 감동입니다.
입력시 설정하는 데이타 타입이 잘못 된건지...
0x01 / 1 / "1"....등 여러가지로 해봐도 그대로 입니다...
pc에서 데이터를 보낸다는 확인도 오실로스코프로 모듈위의 시리얼 통신#0
에 찍어보면서 전압 측정해본면서 확인했습니다.
뭐가 문제인지....도통 모르겠습니다.
관리자 답변
안녕하세요...고객님...
고객님께서 너무 답답해 하시는것 같아 고객님의 소스를 작동가능하게 간단하게
수정해 드리겠습니다.
print문은 %c %d두가지 출력으로 고객님께서 왜 이소스가 작동되지 않는지를 이해하기 쉽게 했습니다.
도움이 되시기를 바라며.....
감사합니다.
//ICC-AVR application builder : 2009-02-04 오후 4:14:02
// Target : M128
// Crystal: 16.000Mhz
#include <iom128v.h>
#include <macros.h>
#include <stdio.h>
void port_init(void)
{
PORTA = 0x00;
DDRA = 0xFF;
PORTB = 0x00;
DDRB = 0x00;
PORTC = 0x00; //m103 output only
DDRC = 0x00;
PORTD = 0x00;
DDRD = 0x00;
PORTE = 0x00;
DDRE = 0x00;
PORTF = 0x00;
DDRF = 0x00;
PORTG = 0x00;
DDRG = 0x00;
}
//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);
UDR0 = c;
return c;
}
int getchar(void)
{
while ((UCSR0A & 0x80) == 0);
return UDR0;
}
//
void main(void)
{
char in;
init_devices();
while(1)
{
scanf("%c", &in);
if(in == '1'){
PORTA = 0x01;
printf("%c = %d\\r\\n",in, in);
}
if(in == '2'){
PORTA = 0x04;
printf("%c = %d\\r\\n",in, in);
}
if(in == '3'){
PORTA = 0x08;
printf("%c = %d\\r\\n",in, in);
}
if(in == '4'){
PORTA = 0x02;
printf("%c = %d\\r\\n",in, in);
}
}
}
>답변 너무너무 감사합니다.
>
>#include <iom128v.h>
>#include <macros.h>
>#include <stdio.h>
>
>void port_init(void)
>{
> PORTA = 0x00;
> DDRA = 0xFF;
> PORTB = 0x00;
> DDRB = 0x00;
> PORTC = 0x00;
> DDRC = 0x00;
> PORTD = 0x00;
> DDRD = 0x00;
> PORTE = 0x00;
> DDRE = 0x00;
> PORTF = 0x00;
> DDRF = 0x00;
> PORTG = 0x00;
> DDRG = 0x00;
>}
>
>void uart0_init(void)
>{
> UCSR0B = 0x00;
> UCSR0A = 0x00;
> UCSR0C = 0x06;
> UBRR0L = 0x67;
> UBRR0H = 0x00;
> UCSR0B = 0x18;
>}
>
>
>void init_devices(void)
>{
> CLI();
> XDIV = 0x00;
> XMCRA = 0x00;
> port_init();
> uart0_init();
>
> MCUCR = 0x00;
> EICRA = 0x00;
> EICRB = 0x00;
> EIMSK = 0x00;
> TIMSK = 0x00;
> ETIMSK = 0x00;
> SEI();
>}
>
>int getchar(void)
>{
> while ((UCSR0A & 0x80) == 0);
> return UDR0;
>}
>int putchar(char c)
>{
> while (((UCSR0A>>UDRE0)&0x01) == 0);
>
> UDR0 = c;
> return c;
>}
>
>
>void main(void)
>{
> int in;
> init_devices();
> while(1)
> {
> scanf("%d", &in);
> if(in == 0x01){
> PORTA = 0x01;
> printf("%d",in);
> }
> if(in == 0x02){
> PORTA = 0x04;
> printf("%d",in);
> }
> if(in == 0x03){
> PORTA = 0x08;
> printf("%d",in);
> }
> if(in == 0x04){
> PORTA = 0x02;
> printf("%d",in);
> }
>}
>}
>처음에는 굉장히 쉽게 끊날줄 알았는데 시리얼 통신으로 전혀 입출력이
>되지 않아 보여서 미치겠습니다.
>그냥 피씨에서 보내는 1.2.3.4에 따라 그 데이터를 다시 pc로 그대로 보내고
>각각해당하는 데이타를 포트A에 보내면 되는 것 뿐인데요...
>도와주셔서 너무너무 감사해요..ㅠㅠ ..완전 감동입니다.
>입력시 설정하는 데이타 타입이 잘못 된건지...
>0x01 / 1 / "1"....등 여러가지로 해봐도 그대로 입니다...
>pc에서 데이터를 보낸다는 확인도 오실로스코프로 모듈위의 시리얼 통신#0
>에 찍어보면서 전압 측정해본면서 확인했습니다.
>뭐가 문제인지....도통 모르겠습니다.
|
||||
| 2307 | 답변완료usbisp 질문입니다. | 박진형 | 2009-02-04 | 1,319 |
|
안녕하세요..
저는 귀사의 avr용 usbisp를 구입하였습니다.
다른 회사의 Atmega8515 키트를 구입하여 테스트중에 통신이 이루어 지지 않아 문의 드립니다.
제 avr키트에 244가 장착되어있습니다. 혹시 귀사의 usb포트에 244가 포함되어 있어 충돌 때문에 통신이 이루어 지지 않을까하는 의심이 들어 이렇게 문의 드립니다.
에러메세지는 'AVRISP error entering programming mode'입니다.
빠른 답변 부탁드립니다.
관리자 답변
안녕하세요? 고객님,
말씀하신 킷트가 어떤 회사 킷트인지 모르겠지만,
예전에 N.T.REX 제품에서는 ISP 상에서 사용하지 않는 3번 N.C(No Connection) 핀을 5V로 두어야만, 동작하도록 회로가 구성되어 있더군요.
저희 회사는 스탠다드에 맞춰서 제품을 생산하기 때문에, 그렇게 일반적이지 않는 방식은 지원하지 않고 있습니다.
244 때문은 아닌 것 같지만, 회로속에 그런 회로가 내장된 것은 아닌가 싶습니다.
감사합니다.
>안녕하세요..
>저는 귀사의 avr용 usbisp를 구입하였습니다.
>
>다른 회사의 Atmega8515 키트를 구입하여 테스트중에 통신이 이루어 지지 않아 문의 드립니다.
>
>제 avr키트에 244가 장착되어있습니다. 혹시 귀사의 usb포트에 244가 포함되어 있어 충돌 때문에 통신이 이루어 지지 않을까하는 의심이 들어 이렇게 문의 드립니다.
>
>에러메세지는 'AVRISP error entering programming mode'입니다.
>
>빠른 답변 부탁드립니다.
|
||||
| 2306 | 답변완료전혀 작동되지 않아서 질문 올립니다. | 김정현 | 2009-02-04 | 1,309 |
|
죄송합니다.
너무 답답한지라 다시 질문을 올립니다.
~포트 / 시리얼 초기화~
void init_devices(void)
{
CLI();
XDIV = 0x00;
XMCRA = 0x00;
port_init();
uart0_init();
uart1_init();
MCUCR = 0x00;
EICRA = 0x00;
EICRB = 0x00;
EIMSK = 0x00;
TIMSK = 0x00;
ETIMSK = 0x00;
SEI();
}
int getchar(void)
{
while ((UCSR0A & 0x80) == 0);
return UDR0;
}
int putchar(char c)
{
while (((UCSR1A>>UDRE1)&0x01) == 0);
UDR1 = c;
return c;
}
void main(void)
{
int in ;
init_devices();
while(1)
{
scanf("%d", &in);
if(in == 1){
PORTA = 0x01;
printf("%d",in);
}
if(in == 2){
PORTA = 0x04;
printf("%d",in);
}
if(in == 3){
PORTA = 0x08;
printf("%d",in);
}
if(in == 4){
PORTA = 0x02;
printf("%d",in);
}
}
}
답뱐해준신 것을 토대로 만들어 봤는데요..
출력이 전혀 되지않아서요...ㅠ.ㅠ...답답해 죽겠습니다.
죄송합니다...혹시 보이시는 잘못이 있다면 지적좀 해주실수 있나요?
죄송합니다.
관리자 답변
안녕하세요...고객님....
지금의 소스는 큰 문제는 없어보입니다.
하지만 소스가 일부이기에 다른 부분에 에러가 있을 수도 있고 또한 설정부분이 잘못되어도 제대로 동작을 안합니다.
강좌를 한번 읽어보시고 하시는게 좋을 듯 싶습니다.
답답하시면 소스 전부를 올려보세요....그럼 어디가 잘못되었는지 알려드리겠습니다.
감사합니다.
>죄송합니다.
>너무 답답한지라 다시 질문을 올립니다.
>
>~포트 / 시리얼 초기화~
>void init_devices(void)
>{
> CLI();
> XDIV = 0x00;
> XMCRA = 0x00;
> port_init();
> uart0_init();
> uart1_init();
>
> MCUCR = 0x00;
> EICRA = 0x00;
> EICRB = 0x00;
> EIMSK = 0x00;
> TIMSK = 0x00;
> ETIMSK = 0x00;
> SEI();
>}
>
>int getchar(void)
>{
> while ((UCSR0A & 0x80) == 0);
> return UDR0;
>}
>int putchar(char c)
>{
> while (((UCSR1A>>UDRE1)&0x01) == 0);
>
> UDR1 = c;
> return c;
>}
>
>void main(void)
>{
> int in ;
> init_devices();
> while(1)
> {
> scanf("%d", &in);
> if(in == 1){
> PORTA = 0x01;
> printf("%d",in);
> }
> if(in == 2){
> PORTA = 0x04;
> printf("%d",in);
> }
> if(in == 3){
> PORTA = 0x08;
> printf("%d",in);
> }
> if(in == 4){
> PORTA = 0x02;
> printf("%d",in);
> }
>}
>}
>답뱐해준신 것을 토대로 만들어 봤는데요..
>출력이 전혀 되지않아서요...ㅠ.ㅠ...답답해 죽겠습니다.
>죄송합니다...혹시 보이시는 잘못이 있다면 지적좀 해주실수 있나요?
>죄송합니다.
|
||||
| 2305 | 답변완료KT-M128 문의 | DongHo,Ha | 2009-02-04 | 1,314 |
|
수고하십니다.
홈페이지에서 제품을 보고 궁금한 점이 있어 글 남깁니다.
사진을 보면 KT-M128제품에서 센서부가 모두 커넥터 처리가 되어 있는데
센서는 따로 주시는건가요? 아니면 센서 확장보드를 구매해야 하는건가요?
답변 부탁드리겠습니다.
감사합니다.
관리자 답변
안녕하세요...고객님...
KT-M128은 종합보더 개념입니다.
따라서 센서, 모터구동부, 출력LED등등 이 ONCHIP된 보드입니다.
제품소개에 보시면 자세하게 나와 있습니다.
감사합니다.
>수고하십니다.
>홈페이지에서 제품을 보고 궁금한 점이 있어 글 남깁니다.
>사진을 보면 KT-M128제품에서 센서부가 모두 커넥터 처리가 되어 있는데
>센서는 따로 주시는건가요? 아니면 센서 확장보드를 구매해야 하는건가요?
>답변 부탁드리겠습니다.
>감사합니다.
|
||||
| 2304 | 답변완료[질문] 하나의 크리스탈 오실레이터로 | 최승호 | 2009-02-04 | 1,308 |
|
하나의 크리스탈 오실레이터를 사용해 동시에 여러개의 atmega128을 동작 시키는것이 가능한가요?
관리자 답변
안녕하세요...고객님..
가능하지 않습니다.
크리스탈은 고속동작을 하므로 약간의 전파방해에도 고속동작에 에러를 이르킬수 있습니다.
감사합니다.
>하나의 크리스탈 오실레이터를 사용해 동시에 여러개의 atmega128을 동작 시키는것이 가능한가요?
>
|
||||
