Q&A
| 번호 | 제목 | 작성자 | 등록일 | 조회 |
|---|---|---|---|---|
| 7718 | 답변완료언제 배송되나요 | 남진 | 2012-11-08 | 1,343 |
|
라인트레이서 키트를 주문했는데 아직 준비중이네요 언제쯤 배송되나요?
관리자 답변
안녕하세요? 고객님,
저희 뉴티씨 제품을 이용하여 주셔서 감사합니다.
지금 그 제품은 이미 발송되었습니다.
금일 받으실 겁니다.
수고하세요.
>
>
> 라인트레이서 키트를 주문했는데 아직 준비중이네요 언제쯤 배송되나요?
>
|
||||
| 7717 | 답변완료AT32UC3C0512C 사용 문제 | 김재경 | 2012-11-08 | 1,410 |
|
안녕하십니까
ATMEL 사의 "AT32UC3C0512C" CPU 를 사용하려고 하는데
귀사의 JTAG중 위의 CPU "AT32UC3C0512C" 를
지원하는 모델이 어떤것이 있는지 확인요청 드립니다.
관리자 답변
안녕하세요? 고객님,
저희 뉴티씨 제품을 이용하여 주셔서 감사합니다.
고객님이 사용하려하는 CPU에 대응하는 JTAG은 본사에 업습니다.
수고하세요.
>
>
> 안녕하십니까
>
> ATMEL 사의 "AT32UC3C0512C" CPU 를 사용하려고 하는데
>
> 귀사의 JTAG중 위의 CPU "AT32UC3C0512C" 를
>
> 지원하는 모델이 어떤것이 있는지 확인요청 드립니다.
>
|
||||
| 7716 | 답변완료보드 개발 문의 | 박창봉 | 2012-11-08 | 1,486 |
|
보드 개발 업무도 하십니까?
개발을 하신다면 어디로 문의를 드려야 되죠?
관리자 답변
안녕하세요? 고객님,
저희 뉴티씨를 이용하여 주셔서 감사합니다.
개발 관련은 [email protected] 로 연락 주시면 됩니다.
전화 문의는 밑에 있는 회사 대표번호로 연락 주신 후, 개발 관련 문의라고 하면 연결해 드리겁니다.
수고하세요.
>
>
> 보드 개발 업무도 하십니까?
> 개발을 하신다면 어디로 문의를 드려야 되죠?
>
|
||||
| 7715 | 답변완료AD-JTAG V02 사용 문제... | 김윤승 | 2012-11-08 | 1,420 |
|
안녕하세요... 필수적인 것은 다 했는데도..
JTAG을 통한 플래쉬 프로그램을 한다던가 아니면 디버그 모드가 들어가지긴 하는데 에러가 나더라구요...
컴파일러 : avr studio 4.18
-JTAG
USB ISP로 퓨즈 비트 셋팅 했습니다. FF 19 EF
디버깅 디바이스도 JTAG ICE로 했구요...
타겟보드 연결 후 JTAG의 1번(USB 연결) 4번(타겟보드전원) 불 들어 오구요..
F10 이동시 2(USB DATA)에 있는 LED가 깜빡 거리는 것은 확인 했습니다.
SRAM 어쩌구... Access Error 이런 에러가 나오드라구요..
-플래쉬 프로그램
퓨즈 비트 셋팅값 리드 같는 것은 잘 되는데..
정상적으로 프로그램이 되지 않고 에러가 나더라구요...
다시 USB ISP로 JTAG 퓨즈 비트 풀고하면 USB ISP로 프로그램하면 잘 되구요..
- 기타
컴파일러는 avr studio 4.19로 사용해도 되나요?
구매 정보에는 4.18로 적어 놓으셔서...
일단.. 드라이버는 홈페이지 있는 것을 설치했습니다.
제가 제품을 지금 회사에 두고 와서... 자세히 못 작성한 점 이해해주세요...
관리자 답변
안녕하세요? 고객님,
저희 뉴티씨 제품을 이용하여 주셔서 감사합니다.
장비에 이상이 있는 것은 아닌가 좀 의심스럽습니다.
본사로 보내서 점검받아 보시는 게 좋을 것 같은데요.
본사로 보내주시겠어요? 아니면, 방문하셔도 됩니다.
그리고, 4.19 써도 됩니다. 본사 자료실서 다운로드 받으세요.
수고하세요.
>
>
> 안녕하세요... 필수적인 것은 다 했는데도..
> JTAG을 통한 플래쉬 프로그램을 한다던가 아니면 디버그 모드가 들어가지긴 하는데 에러가 나더라구요...
> 컴파일러 : avr studio 4.18
> -JTAG
> USB ISP로 퓨즈 비트 셋팅 했습니다. FF 19 EF
> 디버깅 디바이스도 JTAG ICE로 했구요...
> 타겟보드 연결 후 JTAG의 1번(USB 연결) 4번(타겟보드전원) 불 들어 오구요..
> F10 이동시 2(USB DATA)에 있는 LED가 깜빡 거리는 것은 확인 했습니다.
> SRAM 어쩌구... Access Error 이런 에러가 나오드라구요..
>
> -플래쉬 프로그램
> 퓨즈 비트 셋팅값 리드 같는 것은 잘 되는데..
> 정상적으로 프로그램이 되지 않고 에러가 나더라구요...
> 다시 USB ISP로 JTAG 퓨즈 비트 풀고하면 USB ISP로 프로그램하면 잘 되구요..
>
> - 기타
> 컴파일러는 avr studio 4.19로 사용해도 되나요?
> 구매 정보에는 4.18로 적어 놓으셔서...
> 일단.. 드라이버는 홈페이지 있는 것을 설치했습니다.
>
> 제가 제품을 지금 회사에 두고 와서... 자세히 못 작성한 점 이해해주세요...
>
|
||||
| 7714 | 답변완료안녕하세요 ATtiny13A와 Usb-isp의 연결에 대한 질문입니다. | 공재인 | 2012-11-07 | 1,401 |
|
우선 답변 감사드립니다.
저는 Attiny13A를 우선 Usb-isp로 hex파일을 다운로드한 뒤에 다른곳에 납땜해서 사용하려고 했습니다.
그래서 Attiny13A에 다른 주변회로를 구성하지는 않았구요.
그냥 Attiny13A의 VCC에 5V ,GND는 GND를 SMPS로 공급해주고 그리고
Usb-isp의 6개의 핀만 Attiny13A의 6개의 핀에 각각에 대응하도록 1:1로 연결시켜준것이 회로의 전부입니다.
저는 이렇게만 회로를 구성해도 내부 오실레이터를 이용하여 노트북과 연결이 가능하다고 생각했었는데, 회로상에 문제가 있을까요??
관리자 답변
네, 고객님,
최소한, RESET 이라도 구성해줘야 합니다. 그래야 ISP가 붙어요.
수고하세요.
>
>
> 우선 답변 감사드립니다.
>
> 저는 Attiny13A를 우선 Usb-isp로 hex파일을 다운로드한 뒤에 다른곳에 납땜해서 사용하려고 했습니다.
> 그래서 Attiny13A에 다른 주변회로를 구성하지는 않았구요.
>
> 그냥 Attiny13A의 VCC에 5V ,GND는 GND를 SMPS로 공급해주고 그리고
> Usb-isp의 6개의 핀만 Attiny13A의 6개의 핀에 각각에 대응하도록 1:1로 연결시켜준것이 회로의 전부입니다.
>
>
> 저는 이렇게만 회로를 구성해도 내부 오실레이터를 이용하여 노트북과 연결이 가능하다고 생각했었는데, 회로상에 문제가 있을까요??
>
|
||||
| 7713 | 답변완료704-4774 번호 멘트.. | 이주희 | 2012-11-07 | 1,209 |
|
대표전화로 전화를 하면 9:30~6:30 까지가 영업시간이라고 나오는데..
6시 조금 넘어서 전화를 하니 전화를 받지 않네요.. 6시까지 업무시간 인것 같은데..
바꾸어 놓으시는게 좋을 것 같습니다.
관리자 답변
네, 잘 알겠습니다.
조언에 감사드립니다.
>
>
> 대표전화로 전화를 하면 9:30~6:30 까지가 영업시간이라고 나오는데..
>
> 6시 조금 넘어서 전화를 하니 전화를 받지 않네요.. 6시까지 업무시간 인것 같은데..
>
> 바꾸어 놓으시는게 좋을 것 같습니다.
>
|
||||
| 7712 | 답변완료gpssuit 드리이브가 필요한가요? | 이주희 | 2012-11-07 | 1,352 |
|
GPS SUIT와 GPS 모듈을 사용하여 usb를 pc에 연결하니 드라이브를 못찾는다는 메시지가 나오네요..
아무리 뒤져보아도 드라이브가 없네요..
드라이브가 필요없는 것인가요 아니면 방법이 따로 있는것인가요?
그리고 전체적으로 메뉴얼이 너무나도 빈약한것 같습니다.
메뉴얼은 기본적으로 초보자부터 전문가까지 사용하는것인데.. 좀더 구체적으로 작성을 했으면 좋겠습니다.
(제품의 개발은 개발이 반 메뉴얼이 반이라고 할정도로 메뉴얼 작성이 어렵고 신경을 써야 하는것이 아난가 합니다.)
관리자 답변
안녕하세요? 고객님,
미안합니다. 제품 출시하면서 GPS SUIT에 대한 드라이버 올려드리는 것을 잊었습니다.
저희 불찰이구요. 죄송하게 생각합니다.
이제라도 메뉴얼 업데이트해서 올려드렸으니, 자료실에서 찾으시면 드라이버 찾으실 수 있을 겁니다.
자성하면서 메뉴얼 구성에서 좀더 신경쓰도록 하곘습니다.
좀 더 최신내용과 자세한 내용은 자료실에 업데이트 해두었으니, gps로 찾으면 나옵니다.
아래 링크로 가니, GPS 수신 프로토콜인 NMEA0183 프로토콜에 대한 자세한 설명이 나오네요.
참고하세요.
http://www.tronico.fi/OH6NT/docs/NMEA0183.pdf
또한, AVR Studio + WINAVR에서 쓸 수 있는 GPS 파싱 관련된 예제 소스도 있네요.
하지만, 이런건 직접 짜는 게 좋습니다. 참고하기가 더 어려워요.
참고로 이 소스는 GNU 관련되서 무상으로 배포 가능한 소스입니다.
하지만, 이 소스를 수정하여 쓰실 경우, 반드시 이분 성함을 함께 올려주고 공개해야 합니다.
언제든지 질문 있으시면 올려 주시구요.
>
>
> GPS SUIT와 GPS 모듈을 사용하여 usb를 pc에 연결하니 드라이브를 못찾는다는 메시지가 나오네요..
> 아무리 뒤져보아도 드라이브가 없네요..
>
> 드라이브가 필요없는 것인가요 아니면 방법이 따로 있는것인가요?
>
> 그리고 전체적으로 메뉴얼이 너무나도 빈약한것 같습니다.
> 메뉴얼은 기본적으로 초보자부터 전문가까지 사용하는것인데.. 좀더 구체적으로 작성을 했으면 좋겠습니다.
> (제품의 개발은 개발이 반 메뉴얼이 반이라고 할정도로 메뉴얼 작성이 어렵고 신경을 써야 하는것이 아난가 합니다.)
>
|
||||
| 7711 | 답변완료[RE]안녕하세요 ATtiny13A와 Usb-isp의 연결에 대한 질문입니다. | 공재인 | 2012-11-07 | 1,415 |
|
조금만 더 질문 할게요 ^^;
ATtiny13A의 데이터 시트에는 RESET바 가 적혀있고 USB-ISP모듈의 매뉴얼에는 그냥 RESET이 적혀 있는데 이거 두개를 직접 연결한게 잘못 되었다는 뜻입니까 ??
만약 연결 한다면 USB-ISP의 RESET핀에 NOTgate를 하나 통과해서 Attiny13A의 RESET바 에 연결되야 한다는 뜻이에요 ??
관리자 답변
안녕하세요? 고객님,
그게 아닙니다.
동일하게 본사의 USBISP도 /RESET입니다.
또한, 자세히 보시면, USBISP의 PCB 실크에도 /RST로 되어 있습니다.
ATMEGA128도 ATTINY13도 다 /RESET입니다.
제가 말한 부분은 Auto Reset 회로를 구성하여 RESET에 연결하는 데,
풀업저항 4.7k옴 하나 달고, GND 쪽으로는 1uF 짜리 커패시터 하나 달던가 해야 한다는 얘기입니다.
수동으로는 스위치 하나 달고 누르면 /RESET 이 GND로 떨어지는 구조로 만들어야 겠지요.
혹시 그걸 거꾸로 달아놓은건 아닌가해서요. 전체 회로를 올려 보세요.
수고하세요.
>
>
> 조금만 더 질문 할게요 ^^;
>
> ATtiny13A의 데이터 시트에는 RESET바 가 적혀있고 USB-ISP모듈의 매뉴얼에는 그냥 RESET이 적혀 있는데 이거 두개를 직접 연결한게 잘못 되었다는 뜻입니까 ??
>
> 만약 연결 한다면 USB-ISP의 RESET핀에 NOTgate를 하나 통과해서 Attiny13A의 RESET바 에 연결되야 한다는 뜻이에요 ??
>
|
||||
| 7710 | 답변완료안녕하세요 ATtiny13A와 Usb-isp의 연결에 대한 질문입니다. | 공재인 | 2012-11-07 | 1,423 |
|
Attiny13A의 핀 MOSI,MISO,SCK,RESET,GND,VCC 와 Usb-isp를 1:1로 핀을 다 물렸습니다.
그리고 ATtiny13A에는 5V를 인가해 줬고요.. 그런데 Usb에서 빨간불만 깜빡거리네요 .. 연결이 안된거겠죠?
무슨 이유인지 알 수 있을까요 ??
Attiny칩은 한번도 쓴적이 없는거라서, 칩에 문제가 있다고 생각되지는 않네요 ..
aTmega128에서는 아주 작동이 잘 됩니다.
관리자 답변
안녕하세요? 고객님,
tiny13의 리셋핀 설계가 잘못된 것이 아닐까 싶습니다.
또는 연결이 잘못되었거나요. 다시 확인 바랍니다.
수고하세요.
>
>
> Attiny13A의 핀 MOSI,MISO,SCK,RESET,GND,VCC 와 Usb-isp를 1:1로 핀을 다 물렸습니다.
>
> 그리고 ATtiny13A에는 5V를 인가해 줬고요.. 그런데 Usb에서 빨간불만 깜빡거리네요 .. 연결이 안된거겠죠?
>
> 무슨 이유인지 알 수 있을까요 ??
>
> Attiny칩은 한번도 쓴적이 없는거라서, 칩에 문제가 있다고 생각되지는 않네요 ..
>
>
>
> aTmega128에서는 아주 작동이 잘 됩니다.
>
|
||||
| 7709 | 답변완료소스를 다른 것을 해보았습니다. | 윤현욱 | 2012-11-07 | 1,443 |
|
여기 사이트에서 제공하는 스테핑모터 관련 소스를 사용했는데도
다운로드가 되지 않는 것 같습니다.
컴퓨터 문제일 수 도 있는건가요?
아니면 스튜디오 문제인건가요??
관리자 답변
안녕하세요? 고객님,
올려주신 사진으로 보면 다운로드 자체는 이상없이 잘 되고 있는 것으로 메시지가 나왔습니다.
혹시 모터 돌릴 때, 포트를 잘못 연결했거나, 모터용 전원을 12V 1A 이상 넣지 않았거나,
그런건 아닌지요?
확인 바랍니다.
그리고, 이렇게 해서 확인이 안되면, 한 번 본사로 환경을 가지고 오는 게 좋겠습니다.
수고하세요.
>
>
> 여기 사이트에서 제공하는 스테핑모터 관련 소스를 사용했는데도
>
> 다운로드가 되지 않는 것 같습니다.
>
> 컴퓨터 문제일 수 도 있는건가요?
>
> 아니면 스튜디오 문제인건가요??
>
|
||||
| 7708 | 답변완료사진 첨부해 다시 올립니다 | 윤현욱 | 2012-11-06 | 1,366 |
|
그림 1은 Fuse 에서 Read 했을때 되는 동작들이고
그림 2는 main 에서 Read 했을때 되는 동작들 입니다.
그림 3은 파일을 다운로드 한 후의 화면입니다.
말씀하신 포트도 포트1로 바꿔서 해봤지만 똑같습니다.
관리자 답변
안녕하세요? 고객님,
저희 뉴티씨 제품을 이용하여 주셔서 감사합니다.
다운로드는 이상 없어 보입니다.
코드를 잘못 짜셔서 움직이지 않나 보네요. 그래서, 다운로드가 안되었다고 생각하시는 것 같습니다.
수고하세요.
>
>
> 그림 1은 Fuse 에서 Read 했을때 되는 동작들이고
> 그림 2는 main 에서 Read 했을때 되는 동작들 입니다.
> 그림 3은 파일을 다운로드 한 후의 화면입니다.
>
> 말씀하신 포트도 포트1로 바꿔서 해봤지만 똑같습니다.
>
|
||||
| 7707 | 답변완료다시 올립니다 | 윤현욱 | 2012-11-06 | 1,404 |
|
포트는 6번으로 잡히구요
AVR studio 4.19를 사용하고 Win AVR 컴파일러와 AVR GCC toolchain를 설치하고
USBISP v03.5 드라이버 설치까지 했습니다(제 운영체제가 win 7이라 맞는 드라이버 설치 했구요)
근데 프로그램을 다운로드가 안되네요
다운로더에 나타나는 증상은 앞에 설명과 같습니다.
해결 방법 좀 부탁드립니다.
관리자 답변
COM1 ~ COM4 사이로 잡으세요. 보통 COM1은 컴퓨터 자체의 시리얼 포트로 잡혀서 있기때문에,
COM2 - COM4 사이에서 써야 합니다. AVR Studio에서 PC에 따라 간혹 COM1 - COM4까지만 지원되는 경우가 있습니다. 간혹 나머지 포트도 되는 것처럼 나오는 경우도 있지만, 안될때가 있더군요. 버그 같습니다.
그리고, 다운로드가 안된다는 그 화면을 캡쳐해서 올려 보세요.
main탭에서 CPU는 뭘로 잡았나요?
Fusebit 탭 눌러서 Read 하면 잘 읽혀지나요?
수고하세요.
>
>
> 포트는 6번으로 잡히구요
>
> AVR studio 4.19를 사용하고 Win AVR 컴파일러와 AVR GCC toolchain를 설치하고
>
> USBISP v03.5 드라이버 설치까지 했습니다(제 운영체제가 win 7이라 맞는 드라이버 설치 했구요)
>
> 근데 프로그램을 다운로드가 안되네요
>
> 다운로더에 나타나는 증상은 앞에 설명과 같습니다.
>
> 해결 방법 좀 부탁드립니다.
>
|
||||
| 7706 | 답변완료uart 예제를 컴파일했는데 에러가 납니다. | 김태준 | 2012-11-06 | 1,455 |
|
// S/W Environment : AVR Studio + WINAVR Compiler
// Target : M128
// Crystal: 16Mhz
//
// 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.NTC.co.kr
// example : UART Communication
#include <avr/io.h>
#include <avr/interrupt.h>
#include "d:/WinAVR-20100110/avr/include/avr/iom128.h"
#include <stdio.h>
void tx0Char(char message);
void tx1Char(char message);
int putchar(char c);
int getchar(void);
void port_init(void);
void uart0_init(void);
void uart1_init(void);
void init_devices(void);
void delay(int n);
static int Putchar(char c, FILE *stream);
static int Putchar(char c, FILE *stream)
{
tx0Char(c);
tx1Char(c);
return 0;
}
// printf 함수에서 사용할 putchar 에 UART0와 UART1으로
// 데이터를 보내도록 하였다.
int putchar(char c)
{
tx0Char(c);
tx1Char(c);
return c;
}
// UART0 을 이용한 출력
void tx0Char(char message)
{
while (((UCSR0A>>UDRE0)&0x01) == 0) ; // UDRE, data register empty
UDR0 = message;
}
// UART1 을 이용한 출력
void tx1Char(char message)
{
while (((UCSR1A>>UDRE1)&0x01) == 0) ; // UDRE, data register empty
UDR1 = message;
}
void port_init(void)
{
PORTA = 0x00;
DDRA = 0x83;
PORTB = 0x00;
DDRB = 0x00;
PORTC = 0x00; //m103 output only
DDRC = 0x00;
PORTD = 0x00;
DDRD = 0x00;
PORTE = 0x02;
DDRE = 0x00;
PORTF = 0x00;
DDRF = 0xff;
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;
}
//UART1 initialize
// desired baud rate:9600
// actual baud rate:9615 (0.2%)
// char size: 8 bit
// parity: Disabled
void uart1_init(void)
{
UCSR1B = 0x00; //disable while setting baud rate
UCSR1A = 0x00;
UCSR1C = 0x06;
// UBRR1L = 0x2F; //set baud rate lo 7.3728 MHz
// UBRR1L = 0x47; //set baud rate lo 11.0592 Mhz
UBRR1L = 0x67; //set baud rate lo 16Mhz
UBRR1H = 0x00; //set baud rate hi
UCSR1B = 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(); // UART 0 초기화
uart1_init(); // UART 1 초기화
fdevopen(Putchar,0);
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 n)
{
volatile int i,j;
for(i=1;i<n;i++)
{
for(j=1;j<600;j++);
}
}
int main (void)
{
int i=0;
init_devices();
//insert your functional code here...
//uart0_init();
printf("\n\r\ntesting...\n\r");
printf("printf 테스트 프로그램...\n\r");
while(1){
printf("테스트 i : %d\n\r",i);
i++;
PORTA = i;
PORTG = i; // LED 출력
delay(100);
}
return 0;
}
위의 소스입니다.
컴파일했더니
TESTUART.c:21: error: expected declaration specifiers or '...' before '(' token
TESTUART.c:21: error: conflicting types for 'fputc'
TESTUART.c:22:17: error: macro "getchar" passed 1 arguments, but takes just 0
TESTUART.c:22: error: 'getchar' redeclared as different kind of symbol
d:/winavr-20100110/lib/gcc/../../avr/include/stdio.h:779: error: previous declaration of 'getchar' was here
TESTUART.c:41: error: expected declaration specifiers or '...' before '(' token
TESTUART.c:41: error: conflicting types for 'fputc'
make: *** [TESTUART.o] Error 1
Build failed with 7 errors and 0 warnings...
이런 에러가 뜹니다.
왜그런가요?
위에 iom128.h 에 대한 헤더파일 부분은 주소가 달라서 수정을 했습니다.
관리자 답변
안녕하세요?
자료실에서 다음 자료를 참고하세요.
AVR Studio + WINAVR은 UART 출력할 때 좀 소스가 다른 부분이 있습니다.
fdevopen을 해줘야 해서요. 다음을 참고하세요.
- 다음 -
[일반] [소스] UART0와 1번으로 데이터 출력하기 - AVR Studio + WINAVR용
수고하세요.
>
>
> // S/W Environment : AVR Studio + WINAVR Compiler
> // Target : M128
> // Crystal: 16Mhz
> //
> // 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.NTC.co.kr
> // example : UART Communication
>
> #include <avr/io.h>
> #include <avr/interrupt.h>
> #include "d:/WinAVR-20100110/avr/include/avr/iom128.h"
> #include <stdio.h>
>
> void tx0Char(char message);
> void tx1Char(char message);
>
>
> int putchar(char c);
> int getchar(void);
> void port_init(void);
> void uart0_init(void);
> void uart1_init(void);
> void init_devices(void);
> void delay(int n);
> static int Putchar(char c, FILE *stream);
>
> static int Putchar(char c, FILE *stream)
> {
> tx0Char(c);
> tx1Char(c);
> return 0;
>
> }
>
>
> // printf 함수에서 사용할 putchar 에 UART0와 UART1으로
> // 데이터를 보내도록 하였다.
> int putchar(char c)
> {
> tx0Char(c);
> tx1Char(c);
> return c;
> }
>
> // UART0 을 이용한 출력
> void tx0Char(char message)
> {
> while (((UCSR0A>>UDRE0)&0x01) == 0) ; // UDRE, data register empty
> UDR0 = message;
> }
>
> // UART1 을 이용한 출력
> void tx1Char(char message)
> {
> while (((UCSR1A>>UDRE1)&0x01) == 0) ; // UDRE, data register empty
> UDR1 = message;
> }
>
>
> void port_init(void)
> {
> PORTA = 0x00;
> DDRA = 0x83;
> PORTB = 0x00;
> DDRB = 0x00;
> PORTC = 0x00; //m103 output only
> DDRC = 0x00;
> PORTD = 0x00;
> DDRD = 0x00;
> PORTE = 0x02;
> DDRE = 0x00;
> PORTF = 0x00;
> DDRF = 0xff;
> 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;
> }
>
> //UART1 initialize
> // desired baud rate:9600
> // actual baud rate:9615 (0.2%)
> // char size: 8 bit
> // parity: Disabled
> void uart1_init(void)
> {
> UCSR1B = 0x00; //disable while setting baud rate
> UCSR1A = 0x00;
> UCSR1C = 0x06;
> // UBRR1L = 0x2F; //set baud rate lo 7.3728 MHz
> // UBRR1L = 0x47; //set baud rate lo 11.0592 Mhz
> UBRR1L = 0x67; //set baud rate lo 16Mhz
> UBRR1H = 0x00; //set baud rate hi
> UCSR1B = 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(); // UART 0 초기화
> uart1_init(); // UART 1 초기화
> fdevopen(Putchar,0);
>
> 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 n)
> {
> volatile int i,j;
> for(i=1;i<n;i++)
> {
> for(j=1;j<600;j++);
> }
> }
>
>
>
> int main (void)
> {
> int i=0;
> init_devices();
>
> //insert your functional code here...
> //uart0_init();
> printf("\n\r\ntesting...\n\r");
> printf("printf 테스트 프로그램...\n\r");
> while(1){
>
> printf("테스트 i : %d\n\r",i);
> i++;
> PORTA = i;
> PORTG = i; // LED 출력
> delay(100);
>
> }
> return 0;
> }
>
>
>
>
> 위의 소스입니다.
>
> 컴파일했더니
>
>
> TESTUART.c:21: error: expected declaration specifiers or '...' before '(' token
> TESTUART.c:21: error: conflicting types for 'fputc'
> TESTUART.c:22:17: error: macro "getchar" passed 1 arguments, but takes just 0
> TESTUART.c:22: error: 'getchar' redeclared as different kind of symbol
> d:/winavr-20100110/lib/gcc/../../avr/include/stdio.h:779: error: previous declaration of 'getchar' was here
> TESTUART.c:41: error: expected declaration specifiers or '...' before '(' token
> TESTUART.c:41: error: conflicting types for 'fputc'
> make: *** [TESTUART.o] Error 1
> Build failed with 7 errors and 0 warnings...
>
>
> 이런 에러가 뜹니다.
>
> 왜그런가요?
>
> 위에 iom128.h 에 대한 헤더파일 부분은 주소가 달라서 수정을 했습니다.
>
|
||||
| 7705 | 답변완료128 모듈로 rs-232 통신이 안됩니다. | 김태준 | 2012-11-06 | 1,336 |
|
하이퍼터미널로 문자를 송신할려고 하는데요.
uart 0을 사용해서 동작시키려고 합니다.
하이퍼터미널에 문자를 쓰면 avr 의 led가 깜빡이도록 해놨는데 그건 잘 됩니다.
그런데 avr에서 보낸 문자는 하이퍼터미널에 나타나지 않습니다.
송신이 안된다는거죠.
UART0, 1 모두 같은 현상입니다. 128이 수신만 되지 송신이 되지 않습니다.
원래 제품설명에 max232 가 내장되어 있다고 하는데 밑에 보니깐 ilx3232란 칩이 보입니다.
이건 전압레벨이 낮은걸로 알고 있는데 이걸로 PC와 RS232 통신이 가능한건가요?
또, 모듈에 달려있는 UART 단자 3핀의 것을 별도로 만든 MAX232 모듈에 연결한 후
PC와 RS232 통신을 하면 그것또한 제대로 작동하지 않습니다.
어떻게 해결해야 하죠?
관리자 답변
안녕하세요?
소스를 잘못 작성한 것 같네요.
하드웨어는 아무런 이상 없습니다.
이미 많은 분들이 사용하셨고, 저희 제품은 검증된 제품입니다.
소스 작성을 잘 하시면 될 것 같습니다.
혹시, 송신하는 선 연결이 끊어졌는지 확인해 보세요.
본사의 printf 예제를 한 번 넣어서 해보세요.
수고하세요.
>
>
> 하이퍼터미널로 문자를 송신할려고 하는데요.
>
> uart 0을 사용해서 동작시키려고 합니다.
>
> 하이퍼터미널에 문자를 쓰면 avr 의 led가 깜빡이도록 해놨는데 그건 잘 됩니다.
>
> 그런데 avr에서 보낸 문자는 하이퍼터미널에 나타나지 않습니다.
>
> 송신이 안된다는거죠.
>
> UART0, 1 모두 같은 현상입니다. 128이 수신만 되지 송신이 되지 않습니다.
>
>
> 원래 제품설명에 max232 가 내장되어 있다고 하는데 밑에 보니깐 ilx3232란 칩이 보입니다.
>
> 이건 전압레벨이 낮은걸로 알고 있는데 이걸로 PC와 RS232 통신이 가능한건가요?
>
>
> 또, 모듈에 달려있는 UART 단자 3핀의 것을 별도로 만든 MAX232 모듈에 연결한 후
>
> PC와 RS232 통신을 하면 그것또한 제대로 작동하지 않습니다.
>
> 어떻게 해결해야 하죠?
>
|
||||
| 7704 | 답변완료ATtiny13A 다시 질문드립니다. | 공재인 | 2012-11-05 | 1,523 |
|
안녕하세요 몇일전에 ATtiny13A가 USB-ISP로 라이팅이 되는지 질문했었는데요.
답변에 퓨즈비트를 조심하라는 글이 있어서 다시 한번 질문해봅니다.
ATmega128을 라이팅할 때는 퓨즈비트쪽은 건드리지 않고 라이팅을 했었는데요.
ATtiny13A는 특별하게 설정해줘야 하는부분이 있는건가요 ??
가능하시다면 어떤 퓨즈비트를 설정해줘야하는지 답변 부탁드립니다 ^^;
프로그램은 AVR stdio4.13 을 사용하고요, USB-ISP 와 ATtiny13A를 사용합니다.
그리고 이것을 이용해서 1개의 ADC를 입력받아서 1개의 PWM파형을 출력하려고 합니다.
관리자 답변
안녕하세요? 고객님,
특별한 것은 없습니다만, SPIEN을 건들지 말라는 것이었구요.
클럭 소스 잘 선택하셔서, 회로와 맞는 것으로 선택하셔야 적절한 속도로 사용 가능합니다.
메모리도 몇 안되어서, 프로그램할 때, 몇줄 적기가 어려우니, 컴파일하실 때, 코드 최적화 잘 하시구요.
이럴 때는 상용 컴파일러 쓰는 게 매우 유리합니다.
예전에 퓨즈 잘못썻다가, 핀이 몇개 안되서 공용으로 쓰다보니, 다시 살리기가 쉽지 않아서요.
이정도 쓰면서 거의 내부 클럭 쓰다 보니,
클럭핀도 나와 있지 않고 해서, 살리느라 애먹었던 기억이 있습니다.
결국 다시 칩을 땜해서 썻지요.
수고하세요.
>
>
> 안녕하세요 몇일전에 ATtiny13A가 USB-ISP로 라이팅이 되는지 질문했었는데요.
> 답변에 퓨즈비트를 조심하라는 글이 있어서 다시 한번 질문해봅니다.
>
>
> ATmega128을 라이팅할 때는 퓨즈비트쪽은 건드리지 않고 라이팅을 했었는데요.
> ATtiny13A는 특별하게 설정해줘야 하는부분이 있는건가요 ??
>
> 가능하시다면 어떤 퓨즈비트를 설정해줘야하는지 답변 부탁드립니다 ^^;
>
> 프로그램은 AVR stdio4.13 을 사용하고요, USB-ISP 와 ATtiny13A를 사용합니다.
> 그리고 이것을 이용해서 1개의 ADC를 입력받아서 1개의 PWM파형을 출력하려고 합니다.
>
|
||||
