Q&A
| 번호 | 제목 | 작성자 | 등록일 | 조회 |
|---|---|---|---|---|
| 503 | 답변완료기기를 구입하려고 하는데;; | 하정웅 | 2007-08-27 | 2,838 |
|
안녕하세요~
용산 에스와이전자에 왔다가 우연히 newtc 를 알게 되어서 홈페이지에 들렸다가 질문을 드립니다.
저희가 지금 usb 에 연결을 하여 dc 기어드 모터 4개를 제어하여 2곳에서 각각 위,아래,좌,우 로 포인터를 이동하게끔 하려고 합니다.
제가 생각하는게 마치 머리 하나에 팔 두개인데 팔이 각각 위,아래,좌,우 로 따로따로 움직인다고 생각하시면 됩니다.
그런데 어떻게 합쳐야 할지 몰라서 이렇게 문의를 드립니다.
usb 연결은 이곳에서 파는 USB-ISP <AD-USBISP> 를 구입하여 하면 될거 같은데, 이 키트가 USB를 통하여 전원도 공급 하는지 궁금합니다.
또 만약 전원이 공급 되면 그 전원으로 DC기어드 모터를 제어 하는게 가능한지 궁금합니다.
판매하시는 avr 키트 중에서 제가 생각하는 것과 비슷한 모터 제어 키트가 있는지 궁금합니다~
답변 꼭 부탁드립니다~
AVR을 처음 접하는데 너무 복잡해서 뭔지 잘 모르겠네요.. ㅜㅜ
그리구 만약 제가 생각하는 것 보다 더 좋은 방법이 있으시다면 조언 부탁드립니다~
방법을 자세히 알려주시면 너무너무 감사드리겠습니다~~ ^^
관리자 답변
안녕하세요? 저희 뉴테크놀로지 컴패니를 방문해 주셔서 감사드립니다.
우선, 회사를 방문하시는 것이 좋을 것 같습니다.
말로는 설명 들어도 무슨 말인지 잘 모르겠군요.
직접 보고 말을 하는 게 좋을 거 같습니다.
시간 약속 하시고, 한 번 방문하시기 바랍니다.
감사합니다.
|
||||
| 502 | 답변완료AD-USBISP 제품은 AT89S52 ISP에 지원이되는지요 | 김태찬 | 2007-08-27 | 2,855 |
|
안녕하세요.
몇칠전에 AD-USBISP을 샀는데 이것을 가지고 AT89S52로 다운로드 할려고 하는데 안되네요. AT89S52 ISP는 지원 안됩니까?
단변 부탁 드립니다.
그럼 수고하세요.
관리자 답변
안녕하세요? 저희 뉴테크놀로지 컴패니 제품을 이용해 주셔서 감사드립니다.
저희 USBISP는 AVR 전용입니다.
아직 89S52에서는 테스트는 해 보지 않았습니다.
STK-500에 적용되는 프로토콜을 따르고 있으므로,
89S52에서 구워지는 USB나 시리얼 방식 툴을 아직 구하지 못했거든요.
아직은 찾지 못했으므로, 89S52에서는 ISPPRO와 같은 툴을 이용하시기 바랍니다.
감사합니다.
|
||||
| 501 | 답변완료스테핑모터 구동 질문있습니다. | 이민성 | 2007-08-27 | 2,930 |
|
NTC에서 산 AM-MS2(3A용)을 이용하여 스텝모터(스테핑 모터(9kg급)
SE-SM9)를 돌려 보고 있는데 초보라서 잘 안되고 있습니다.
데이터시트를 봐도 이해가 안 가고요!~ 제가 코드비전으로 프로그램을
짜야 하는데 어떻게 해야 하는지요? 정방향과 역방향으로 돌려보고 싶은데..
코드비전된 프로그램예제는 없는것 같네요!
코드비전으론 어떻게 짜야 되는지 알려주시면 감사하겠습니다.!
빠른 답변 부탁드립니다. 수고 하십시오!
관리자 답변
안녕하세요? 고객님,
죄송하지만, 저희는 codevision 예제는 제공하고 있지 않습니다.ICCAVR에서 주어진 예제를 참고하셔서
특히 main 의 while문 바로 위와 안쪽을 참고하셔서 쓰시면 될 것 같습니다.
감사합니다.
|
||||
| 500 | 답변완료밑에 글쓸때 이름을 안써서요.. | 이한기 | 2007-08-24 | 2,822 |
|
스태핑모터를 이용해서 라인트레이서를 만들려고 하는데
바퀴를 스테핑 모터에 넣자말자 빼지지가 않는데 원래 빼지지 않는 건가요?
아직 나사로 고정시키지도 않았는데 난감하네요
그리고 다른 바퀴하나는 스테핑 모터에 고정되지도 않고 헐렁하게 그냥 빠져버리네요..어떻게 수리되는지 답변부탁드립니다...
관리자 답변
스테핑모터 바퀴 고정 할려면 일자 드라이버 안되고...
오각나사를 필요합니다. 없으면 사야되고...
바퀴휠고정할려면 가운데에서 작은 원있잖아.. ..큰원말고..
조그마한 검은점이 있어...거기에 오각나사로 고정하면 됩니다.
|
||||
| 499 | 답변완료바퀴때문에 | lee | 2007-08-24 | 3,244 |
|
스태핑모터를 이용해서 라인트레이서를 만들려고 하는데
바퀴를 스테핑 모터에 넣자말자 빼지지가 않는데 원래 빼지지 않는 건가요?
아직 나사로 고정시키지도 않았는데 난감하네요
그리고 다른 바퀴하나는 스테핑 모터에 고정되지도 않고 헐렁하게 그냥 빠져버리네요..어떻게 수리되는지 답변부탁드립니다.
관리자 답변
스테핑모터 바퀴 고정 할려면 일자 드라이버 안되고...
오각나사를 필요합니다. 없으면 사야되고...
바퀴휠고정할려면 가운데에서 작은 원있잖아.. ..큰원말고..
조그마한 검은점이 있어...거기에 오각나사로 고정하면 됩니다.
|
||||
| 498 | 답변완료스테핑모터.. | 루카리오 | 2007-08-24 | 3,067 |
|
안녕하세요.
저번에 디바이스마트 AM-MS2 구입했습니다.
소스와 연결해야 하는 법 필요해서 질문을 올리게 되었습니다.
MCU는 ATmega 8515 · Crystal는 16Mhz
스테핑모터는 디바이스마트에서 구입한 SST42D1100
컴파일러는 CodeVisionAVR
그리고 소스는 최고 속도 내게 주시고....설명해주면 정말 감사할것 같습니다.
답변은 메일로 부탁드립니다.
관리자 답변
안녕하세요? 저희 뉴테크놀로지 컴패니 제품을 이용해 주셔서 감사드립니다.
저희 회사에서는 기본 소스만 제공하고 있습니다.
ICCAVR 을 이용한 소스입니다. 예제는 첨부로 올라와 있습니다.
감사합니다.
p.s : 앞으로 글 올리실 때 본명으로 올려주세요.
>안녕하세요.
>
>저번에 디바이스마트 AM-MS2 구입했습니다.
>
>소스와 연결해야 하는 법 필요해서 질문을 올리게 되었습니다.
>
>MCU는 ATmega 8515 · Crystal는 16Mhz
>
>스테핑모터는 디바이스마트에서 구입한 SST42D1100
>
>컴파일러는 CodeVisionAVR
>
>그리고 소스는 최고 속도 내게 주시고....설명해주면 정말 감사할것 같습니다.
>
>답변은 메일로 부탁드립니다.
>
>
|
||||
| 497 | 답변완료ATMEGA128 Vref에 대한 질문입니다. | 이강 | 2007-08-23 | 2,880 |
|
안녕하세요. 제가 측정하려는 센서의 출력이 대략 5.8 V 인데요 ADC를 이용해 이것을 읽으려합니다. 5V이하로 변화가 생길 경우만을 측정할 수 있으면 되거든요.
1. Vref에 입력할 수 있는 최대 전압은 몇이지요?
2. Vref에 5V를 입력하고 ADC단자에 5.8V를 입력하면 모듈에 무리가 가지 않을까요?
그럼 답변 부탁드리겠습니다^^
관리자 답변
안녕하세요?
0 - VCC ADC Input Voltage Range 입니다.
감사합니다.
|
||||
| 496 | 답변완료좀전에 전화 드렸던 사람입니다.(디버깅보드 회로도요) | 윤희선 | 2007-08-23 | 2,676 |
|
회로도좀 보내주세요...
PCB는 저희가 따로 만들어서 사용하겠습니다.
그럼 수고하세요.
[email protected]
관리자 답변
안녕하세요? 뉴테크놀로지 컴패니를 방문해 주셔서 감사합니다
회로도 첨부로 올려드렸습니다.
감사합니다.
>회로도좀 보내주세요...
>PCB는 저희가 따로 만들어서 사용하겠습니다.
>그럼 수고하세요.
>
>[email protected]
>
|
||||
| 495 | 답변완료KD-128Pro ATMega128 개발 보드 동작 관련 | 조시형 | 2007-08-23 | 2,707 |
|
안녕하세요. 엊그제 ATMega128보드를 엘레파츠를 통해서 구매를 해서 테스트를 진행 중입니다.
귀사 튜토리얼에 나와 있듯이 ImageCraft사의 ICCAVR을 사용했습니다.
그런데, 7-Segment의 동작을 테스트 하던 와중에 두 자리 수에 불이 들어 오지 않는 현상이 생기더군요.
7-Segment는 Common Cathode 타입으로 D0, D1, D2, D4로 각 자리를 선택하게 되어 있고, 이는 PortC의 PC0, PC1, PC2, PC3에 할당되어 있더군요.
PC0, PC1에 할당되어 있는 부분의 7-Segment는 불이 들어 오지만, 나머지 두 부분이 들어 오지 않아서 DVM으로 해당 PortC의 0,1,2,3번 Bit에 해당되는 부분의 전압을 DVM을 통해서 측정 해 보니, PC0, PC1는 0.3v 정도, PC2, PC3는 0.9v정도의 전압이 인가되고 있더군요.
이 부분은 아래의 프로그램 처럼 했을 경우입니다.
PORTC = 0x00 로 두면, PORTC 출력이 모두 Low Level인데요. 이게 Low Level이 제대로 되지 않는 것 같습니다.
그래서 PORTC = 0xFF로 두면 모두 High Level이 출력되야 하는데, 이는 제대로 다 출력이 잘 되는 군요.
뭐가 문제일까요? AVR ATMega128이 문제가 있는 것은 아닌가요?
첨부로 사용했던 프로그램 첨부 합니다.
관리자 답변
안녕하세요? 저희 뉴테크놀로지 컴패니 제품을 이용해 주셔서 감사드립니다.
소스 상에 DDRC = 0xFF; 로 두시면 모두다 출력이 됩니다.
감사합니다.
> 안녕하세요. 엊그제 ATMega128보드를 엘레파츠를 통해서 구매를 해서 테스트를 진행 중입니다.
> 귀사 튜토리얼에 나와 있듯이 ImageCraft사의 ICCAVR을 사용했습니다.
> 그런데, 7-Segment의 동작을 테스트 하던 와중에 두 자리 수에 불이 들어 오지 않는 현상이 생기더군요.
> 7-Segment는 Common Cathode 타입으로 D0, D1, D2, D4로 각 자리를 선택하게 되어 있고, 이는 PortC의 PC0, PC1, PC2, PC3에 할당되어 있더군요.
> PC0, PC1에 할당되어 있는 부분의 7-Segment는 불이 들어 오지만, 나머지 두 부분이 들어 오지 않아서 DVM으로 해당 PortC의 0,1,2,3번 Bit에 해당되는 부분의 전압을 DVM을 통해서 측정 해 보니, PC0, PC1는 0.3v 정도, PC2, PC3는 0.9v정도의 전압이 인가되고 있더군요.
> 이 부분은 아래의 프로그램 처럼 했을 경우입니다.
> PORTC = 0x00 로 두면, PORTC 출력이 모두 Low Level인데요. 이게 Low Level이 제대로 되지 않는 것 같습니다.
> 그래서 PORTC = 0xFF로 두면 모두 High Level이 출력되야 하는데, 이는 제대로 다 출력이 잘 되는 군요.
> 뭐가 문제일까요? AVR ATMega128이 문제가 있는 것은 아닌가요?
> 첨부로 사용했던 프로그램 첨부 합니다.
|
||||
| 494 | 답변완료3축 가속도 센서를 사용하려고 하는데요.. | 이동희 | 2007-08-22 | 2,740 |
|
ATmega128을 이용해서 각도를 계산하려고 하는데요.. 잘 계산이 되질 않네요.
2축을 사용해서.. x축과 z축을 사용하여 계산하고 싶습니다.
세그웨이 로봇을 만들고 싶은데요.. 100Hz 정도 주기로 기울기를 측정하고 싶은데... 잘 되지 않네요. 소스나 계산 방법을 구하고 싶네요. freescale사 홈피에서 어플리케이션 노트까지 봤는데.. 잘 모르겠습니다. 꼭 도와주세요.
관리자 답변
안녕하세요? 동희님,
자료실에 보면 가속도센서를 이용한 계산 법 등이 파워포인트 자료로 소개되어 있습니다.
참고하세요.
감사합니다.
|
||||
| 493 | 답변완료외부스위치를 통해 5V가 인가 되었을때 컴퓨터 PC로 전송하는 방법 | 이병성 | 2007-08-20 | 2,672 |
|
외부에서 5V 신호가 0V로 변화할때 ATMEGA128 pro 개발보드에 입력되게 하여
UART0를 통하여 PC로 변화여부를 나타내는 작업을 하려 합니다.
어떤 방식으로 접근해야 하는지 감이 안잡혀서 조언부탁드리려
글올립니다. 답변 부탁드립니다.
관리자 답변
안녕하세요? 저희 뉴테크놀로지 컴패니를 방문해 주셔서 감사합니다.
우선, 포트로 입력 받으시구요.
(입력 받으실 때, 보호 회로를 좀 넣어 주시면 더 좋겠구요.)
폴링으로나 외부인터럽트로 입력 감지하고 계시다가
변화 되는 것이 보이면, 시리얼로 printf 등으로 UART0에 출력해 주시면 되겠습니다.
감사합니다.
|
||||
| 492 | 답변완료[긴급]스텝모터 드라이브(구동부)문의 | 정의태 | 2007-08-17 | 3,151 |
|
이번에 제가 스텝모터 KH56QM2-903모델을
사용하려고 하는데요
어떤 드라이브를 사야할지 잘 모르겠습니다.
빠른답변 부탁드립니다.
관리자 답변
안녕하세요? 저희 뉴테크놀로지 컴패니를 방문해 주셔서 감사드립니다.
우선, 저희 제품 중에 AM-CS2P 또는 AM-MS2를 이용하시면 될 것 같습니다.
소음도 제거해 가면서, 클럭 구동으로 마이크로스텝으로 섬세하게 제어 하시려면 AM-MS2를 사용하시고,
그렇지 않고, 저렴하게 상을 직접 만들어 주면서 해보고 싶으시면 AM-CS2P를 추천해 드립니다.
Q&A에 가 보시면, 구동 소스가 올라와 있습니다.
감사합니다.
|
||||
| 491 | 답변완료안녕하세요 사장님 | 정영웅 | 2007-08-17 | 2,715 |
|
안녕하세요 사장님
보내주신 물품들을 잘 받았습니다. 적외선센서를 아날로그에서 디지털로
바꾸니 일단 뽀대는 나네요;;ㅋ
제 메일 주소로 디지털센서 샘플 소스 좀 부탁드립니다^^
처음부터 다시 만들려니 적외선센서부터 코딩을 잘해야겠네요ㅋ
날씨가 많이 더운데 수고하세요~
관리자 답변
안녕하세요? 영웅님,
샘플 소스는 회사 들어가는 데로 바로 보내드리도록 하겠습니다. 이쁘게 만들어 사진 좀 올려 주세요.
감사합니다.
|
||||
| 490 | 답변완료내일 방문하려고 하는데요!! | 나승연 | 2007-08-16 | 2,612 |
|
몇시쯤 가는 게 좋을까요?
라인트레이서 부품사고, ISP A/S 받으려고 하는데
언제가 적당한가요?
연락처 : 010-2759-2083
관리자 답변
안녕하세요? 저희 뉴테크놀로지 컴패니를 방문해 주셔서 감사드립니다.
A/S 건은 오전 10시~오후 5시 사이에 오셔야 합니다.
감사합니다.
|
||||
| 489 | 답변완료조도센서를 adc에 물렸을 때 am128-pro 모듈이 리셋이 됩니다. | 이유석 | 2007-08-16 | 3,283 |
|
안녕하세요.
현재 조도센서(CdS)를 이용해서 adc로 입력을 받고 있습니다.
그런데 uart0로 뿌려주다가 중간에 리셋이 되는 현상이 생기고 있습니다.
그리고 리셋되면서 동작하다가 약 5분 정도 경과하면 다운이 됩니다.
모듈을 새로 사서 테스트해봐도 같은 증상이 발생합니다.
원인을 잘 모르겠는데 도와주세요..^^;
아래는 소스코드입니다. 코드비전에서 작성되었고 퓨즈비트 0xFFD9EF 로 되어있습니다.
------------------------------------------------------------------
/*****************************************************
This program was produced by the
CodeWizardAVR V1.24.8d Professional
Automatic Program Generator
?Copyright 1998-2006 Pavel Haiduc, HP InfoTech s.r.l.
http://www.hpinfotech.com
Project :
Version :
Date : 2007-08-13
Author : F4CG
Company : F4CG
Comments:
Chip type : ATmega128
Program type : Application
Clock frequency : 16.000000 MHz
Memory model : Small
External SRAM size : 0
Data Stack size : 1024
*****************************************************/
#include <mega128.h>
//uart관련
#define RXB8 1
#define TXB8 0
#define UPE 2
#define OVR 3
#define FE 4
#define UDRE 5
#define RXC 7
//uart관련
#define FRAMING_ERROR (1<<FE)
#define PARITY_ERROR (1<<UPE)
#define DATA_OVERRUN (1<<OVR)
#define DATA_REGISTER_EMPTY (1<<UDRE)
#define RX_COMPLETE (1<<RXC)
//메인함수
#define WORKING 1
#define REST 0
#define SUCCESS 1
#define FAIL 0
#define BYTE unsigned char
//----------------------------------------------------
// Delay 함수
//----------------------------------------------------
void Delay_us(unsigned char time_us)
{
register unsigned char i;
for ( i = 0 ; i < time_us ; i++ )
{
#asm
PUSH R0;
POP R0;
PUSH R0;
POP R0;
#endasm
}
}
void Delay_ms(unsigned char time_ms)
{
register unsigned int i;
for ( i = 0 ; i < time_ms ; i++ )
{
Delay_us(250);
Delay_us(250);
Delay_us(250);
Delay_us(250);
}
}
void Delay_s(unsigned char time_s)
{
register unsigned int i;
for ( i = 0 ; i < time_s ; i++ )
{
Delay_ms(250);
Delay_ms(250);
Delay_ms(250);
Delay_ms(250);
}
}
//----------------------------------------------------
//----------------------------------------------------
// 시리얼포트 관련
//----------------------------------------------------
// Get a character from the USART0 Receiver
#pragma used+
char getchar0(void)
{
char status,data;
while (1)
{
while (((status=UCSR0A) & RX_COMPLETE)==0);
data=UDR0;
if ((status & (FRAMING_ERROR | PARITY_ERROR | DATA_OVERRUN))==0)
return data;
};
}
#pragma used-
// Write a character to the USART0 Transmitter
#pragma used+
void putchar0(char c)
{
while ((UCSR0A & DATA_REGISTER_EMPTY)==0);
UDR0=c;
}
#pragma used-
// Get a character from the USART1 Receiver
#pragma used+
char getchar1(void)
{
char status,data;
while (1)
{
while (((status=UCSR1A) & RX_COMPLETE)==0);
data=UDR1;
if ((status & (FRAMING_ERROR | PARITY_ERROR | DATA_OVERRUN))==0)
return data;
};
}
#pragma used-
// Write a character to the USART1 Transmitter
#pragma used+
void putchar1(char c)
{
while ((UCSR1A & DATA_REGISTER_EMPTY)==0);
UDR1=c;
}
#pragma used-
//----------------------------------------------------
// Standard Input/Output functions
#include <stdio.h>
#define ADC_VREF_TYPE 0xC0
// Read the AD conversion result
unsigned int read_adc(unsigned char adc_input)
{
ADMUX=adc_input|ADC_VREF_TYPE;
// Start the AD conversion
ADCSRA|=0x40;
// Wait for the AD conversion to complete
while ((ADCSRA & 0x10)==0);
ADCSRA|=0x10;
return ADCW;
}
// Declare your global variables here
unsigned int ad2 = 0;
unsigned int time_W = 0;
unsigned char Init_msg[13] = {'S', 'y', 's', 't', 'e',
'm', ' ', 'I', 'n', 'i',
't', '.', '.'};
//unsigned int bak = 0;
void main(void)
{
// Declare your local variables here
int i;
//printf("\\nInit\\n\\r");
// Input/Output Ports initialization
// Port A initialization
// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In
// State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T
PORTA=0x00;
DDRA=0xFF;
// Port B initialization
// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In
// State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T
PORTB=0x00;
DDRB=0x00;
// Port C initialization
// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In
// State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T
PORTC=0x00;
DDRC=0x00;
// Port D initialization
// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In
// State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T
PORTD=0x00;
DDRD=0x00;
// Port E initialization
// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In
// State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T
PORTE=0x00;
DDRE=0x00;
// Port F initialization
// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In
// State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T
PORTF=0x00;
DDRF=0x00;
// Port G initialization
// Func4=In Func3=In Func2=In Func1=In Func0=In
// State4=T State3=T State2=T State1=T State0=T
PORTG=0x00;
DDRG=0x00;
// Timer/Counter 0 initialization
// Clock source: System Clock
// Clock value: Timer 0 Stopped
// Mode: Normal top=FFh
// OC0 output: Disconnected
ASSR=0x00;
TCCR0=0x00;
TCNT0=0x00;
OCR0=0x00;
// Timer/Counter 1 initialization
// Clock source: System Clock
// Clock value: Timer 1 Stopped
// Mode: Normal top=FFFFh
// OC1A output: Discon.
// OC1B output: Discon.
// OC1C output: Discon.
// Noise Canceler: Off
// Input Capture on Falling Edge
// Timer 1 Overflow Interrupt: Off
// Input Capture Interrupt: Off
// Compare A Match Interrupt: Off
// Compare B Match Interrupt: Off
// Compare C Match Interrupt: Off
TCCR1A=0x00;
TCCR1B=0x00;
TCNT1H=0x00;
TCNT1L=0x00;
ICR1H=0x00;
ICR1L=0x00;
OCR1AH=0x00;
OCR1AL=0x00;
OCR1BH=0x00;
OCR1BL=0x00;
OCR1CH=0x00;
OCR1CL=0x00;
// Timer/Counter 2 initialization
// Clock source: System Clock
// Clock value: Timer 2 Stopped
// Mode: Normal top=FFh
// OC2 output: Disconnected
TCCR2=0x00;
TCNT2=0x00;
OCR2=0x00;
// Timer/Counter 3 initialization
// Clock source: System Clock
// Clock value: Timer 3 Stopped
// Mode: Normal top=FFFFh
// Noise Canceler: Off
// Input Capture on Falling Edge
// OC3A output: Discon.
// OC3B output: Discon.
// OC3C output: Discon.
// Timer 3 Overflow Interrupt: Off
// Input Capture Interrupt: Off
// Compare A Match Interrupt: Off
// Compare B Match Interrupt: Off
// Compare C Match Interrupt: Off
TCCR3A=0x00;
TCCR3B=0x00;
TCNT3H=0x00;
TCNT3L=0x00;
ICR3H=0x00;
ICR3L=0x00;
OCR3AH=0x00;
OCR3AL=0x00;
OCR3BH=0x00;
OCR3BL=0x00;
OCR3CH=0x00;
OCR3CL=0x00;
// External Interrupt(s) initialization
// INT0: Off
// INT1: Off
// INT2: Off
// INT3: Off
// INT4: Off
// INT5: Off
// INT6: Off
// INT7: Off
EICRA=0x00;
EICRB=0x00;
EIMSK=0x00;
// Timer(s)/Counter(s) Interrupt(s) initialization
TIMSK=0x00;
ETIMSK=0x00;
// USART0 initialization
// Communication Parameters: 8 Data, 1 Stop, No Parity
// USART0 Receiver: On
// USART0 Transmitter: On
// USART0 Mode: Asynchronous
// USART0 Baud rate: 19200
UCSR0A=0x00;
UCSR0B=0x18;
UCSR0C=0x06;
UBRR0H=0x00;
UBRR0L=0x33;
// USART1 initialization
// Communication Parameters: 8 Data, 1 Stop, No Parity
// USART1 Receiver: On
// USART1 Transmitter: On
// USART1 Mode: Asynchronous
// USART1 Baud rate: 19200
UCSR1A=0x00;
UCSR1B=0x18;
UCSR1C=0x06;
UBRR1H=0x00;
UBRR1L=0x33;
// Analog Comparator initialization
// Analog Comparator: Off
// Analog Comparator Input Capture by Timer/Counter 1: Off
ACSR=0x80;
SFIOR=0x00;
// ADC initialization
// ADC Clock frequency: 1000.000 kHz
// ADC Voltage Reference: internal AREF pin
ADMUX=ADC_VREF_TYPE;
ADCSRA=0x84;
putchar0('*'); //보드초기화 되는지 감시하기 위해서...너 나오지 말라구..-_-
while(1)
{
printf("%d\\t", time_W); //디버깅용. 몇초나 버티나 보자.ㄲㄲ
ad2 = read_adc(0x04);
Delay_ms(100);
if ( ad2 == 0x03FF ) //형광등불빛 아래에 있을 때.
{
PORTA=0xFF;
putchar0('!');
printf("\\t%x\\n\\r", ad2);
}
else //손으로 가렸을 때.
{
PORTA=0x00;
putchar0('-');
printf("\\t%x\\n\\r", ad2);
}
//1초간 쉬자.
Delay_ms(250);
Delay_ms(250);
Delay_ms(250);
Delay_ms(250);
time_W++;
if (time_W == 127)
time_W = 0;
}
}
관리자 답변
XDIV = 0x00; //xtal divider
XMCRA = 0x00; //external memory
MCUCR = 0x00;
이런 것들이 빠져 있네요.
참고하세요.
|
||||
