로그인 | 회원가입 | 주문 조회
총 10,748개의 질문이 있습니다.
번호 제목 작성자 등록일 조회
5078 답변완료포트이용 정혜현 2010-05-09 1,467
안녕하세요 예제소스에서 모터는 C 릴레이보드도 C에 되어있길래 저는 지금 릴레이보드를 포트 C 모터모듈은 포트 A에 연결하였는데 이래도 되는거죠? 이상하게........ PORTC=0x00; 해놓고 다른 별다른 설정안했는데 그리고 그냥 모터만 동작시킬려고 PORTA를 제어했더니.. 갑자기 팬이 돌아가서요;; 혹시 포트를 제가 잘못하용한건지 궁금해서 질문합니다. ㅜㅜ //ICC-AVR application builder : 2005-05-06 오후 10:36:45 // Target : M128 // Crystal: 16Mhz #include <iom128v.h> #include <macros.h> void port_init(void) { PORTA = 0x00; DDRA = 0x00; 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 = 0x03; } //UART0 initialize // desired baud rate: 9600 // actual: baud rate:9600 (0.0%) // char size: 8 bit // parity: Disabled void uart0_init(void) { UCSR0B = 0x00; //disable while setting baud rate UCSR0A = 0x00; UCSR0C = 0x06; // UBRR0L = 0x2F; //set baud rate lo 7.3728 MHz // UBRR0L = 0x47; //set baud rate lo 11.0592 Mhz UBRR0L = 0x67; //set baud rate lo 16Mhz UBRR0H = 0x00; //set baud rate hi UCSR0B = 0x08; } //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 초기화 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 } #define MOTOR_PORT PORTA #define MOTOR_DDR DDRA #define PWM1_ON (MOTOR_PORT|=0x01) #define PWM1_OFF (MOTOR_PORT&=0xFE) #define DIR1_ON (MOTOR_PORT|=0x02) #define DIR1_OFF (MOTOR_PORT&=0xFD) #define ENABLE1_OFF (MOTOR_PORT|=0x04) #define ENABLE1_ON (MOTOR_PORT&=0xFB) #define PWM2_ON (MOTOR_PORT|=0x10) #define PWM2_OFF (MOTOR_PORT&=0xEF) #define DIR2_ON (MOTOR_PORT|=0x20) #define DIR2_OFF (MOTOR_PORT&=0xDF) #define ENABLE2_ON (MOTOR_PORT|=0x40) #define ENABLE2_OFF (MOTOR_PORT&=0xBF) \\ void main (void) { int i, d, count=1; init_devices(); delay(1000); delay(1000); MOTOR_DDR = 0xff; // 모터포트 초기화 ENABLE1_ON; DIR1_ON; for(i=0; i<10; i++) { PWM1_ON; delay(1000); PWM1_OFF; delay(10000); } ENABLE1_OFF; PWM1_OFF; delay(10000000); } // 시간 지연 함수 void delay(int n) { volatile int i,j; for(i=0;i<n;i++) { for(j=0;j<100;j++); } } 이렇게 했는데 이상하게 PORTC에 연결된 릴레이보드가 동작해서 팬이 구동이 됩니다;; PORTC출력설정을 하지 않은것 같은데;; 혹시 외그러는걸까요;;
관리자 답변 NEWTC · 2010-05-09
안녕하세요? 고객님, 저희 뉴티씨를 이용하여 주셔서 감사합니다. KD-128PRO-C 킷트를 사용하시는 것 같네요. 맞나요? 그 킷트의 경우, 포트 A와 C 포트가 세븐세그먼트에 연결되어 있습니다. 그래서, 풀업된 효과를 가져옵니다. 그런 것들의 영향을 받지 않으려면, AB-M128-B(소형) 보드를 이용하시면, 포트에 아무것도 붙어있지 않으므로, 어떤 영향도 받지 않아서 좋습니다. 그래서, 프로젝트 시에는 이 보드를 사용하는 것도 좋습니다. 수고하세요. >안녕하세요 >예제소스에서 모터는 C >릴레이보드도 C에 되어있길래 > >저는 지금 릴레이보드를 포트 C >모터모듈은 포트 A에 연결하였는데 이래도 되는거죠? > >이상하게........ >PORTC=0x00; > >해놓고 다른 별다른 설정안했는데 >그리고 그냥 모터만 동작시킬려고 PORTA를 제어했더니.. > >갑자기 팬이 돌아가서요;; > >혹시 포트를 제가 잘못하용한건지 궁금해서 질문합니다. ㅜㅜ > > > >//ICC-AVR application builder : 2005-05-06 오후 10:36:45 >// Target : M128 >// Crystal: 16Mhz > >#include <iom128v.h> >#include <macros.h> > >void port_init(void) >{ > PORTA = 0x00; > DDRA = 0x00; > 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 = 0x03; >} > >//UART0 initialize >// desired baud rate: 9600 >// actual: baud rate:9600 (0.0%) >// char size: 8 bit >// parity: Disabled >void uart0_init(void) >{ > UCSR0B = 0x00; //disable while setting baud rate > UCSR0A = 0x00; > UCSR0C = 0x06; >// UBRR0L = 0x2F; //set baud rate lo 7.3728 MHz >// UBRR0L = 0x47; //set baud rate lo 11.0592 Mhz > UBRR0L = 0x67; //set baud rate lo 16Mhz > > UBRR0H = 0x00; //set baud rate hi > UCSR0B = 0x08; >} > >//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 초기화 > > 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 >} > >#define MOTOR_PORT PORTA >#define MOTOR_DDR DDRA >#define PWM1_ON (MOTOR_PORT|=0x01) >#define PWM1_OFF (MOTOR_PORT&=0xFE) >#define DIR1_ON (MOTOR_PORT|=0x02) >#define DIR1_OFF (MOTOR_PORT&=0xFD) >#define ENABLE1_OFF (MOTOR_PORT|=0x04) >#define ENABLE1_ON (MOTOR_PORT&=0xFB) >#define PWM2_ON (MOTOR_PORT|=0x10) >#define PWM2_OFF (MOTOR_PORT&=0xEF) >#define DIR2_ON (MOTOR_PORT|=0x20) >#define DIR2_OFF (MOTOR_PORT&=0xDF) >#define ENABLE2_ON (MOTOR_PORT|=0x40) >#define ENABLE2_OFF (MOTOR_PORT&=0xBF) > >\\ > >void main (void) >{ > int i, d, count=1; > init_devices(); > > delay(1000); > delay(1000); > > MOTOR_DDR = 0xff; // 모터포트 초기화 > ENABLE1_ON; > DIR1_ON; > for(i=0; i<10; i++) > { > PWM1_ON; > delay(1000); > PWM1_OFF; > delay(10000); > } > ENABLE1_OFF; > PWM1_OFF; > delay(10000000); > >} > >// 시간 지연 함수 >void delay(int n) >{ > volatile int i,j; > for(i=0;i<n;i++) > { > for(j=0;j<100;j++); > } >} > > >이렇게 했는데 이상하게 PORTC에 연결된 릴레이보드가 동작해서 팬이 구동이 됩니다;; >PORTC출력설정을 하지 않은것 같은데;; >혹시 외그러는걸까요;;
5077 답변완료모터모듈 정혜현 2010-05-09 1,407
안녕하세요 AM-DC2-2D 모터 모듈을 사용하고있습니다. 이걸통해 DC모터 두개를 동시에 제어하려고 합니다. 문개폐를 하고 싶어서 종이를 돌돌마는식으로 문을 열고닫을려고하는데 그럴려면 DC모터두개를 동시에 같은방향으로 돌려야 합니다. 예제파일을 돌려보았습니다. #define MOTOR_PORT PORTC #define MOTOR_DDR DDRC #define PWM1_ON (MOTOR_PORT|=0x01) #define PWM1_OFF (MOTOR_PORT&=0xFE) #define DIR1_ON (MOTOR_PORT|=0x02) #define DIR1_OFF (MOTOR_PORT&=0xFD) #define ENABLE1_OFF (MOTOR_PORT|=0x04) #define ENABLE1_ON (MOTOR_PORT&=0xFB) #define PWM2_ON (MOTOR_PORT|=0x10) #define PWM2_OFF (MOTOR_PORT&=0xEF) #define DIR2_ON (MOTOR_PORT|=0x20) #define DIR2_OFF (MOTOR_PORT&=0xDF) #define ENABLE2_ON (MOTOR_PORT|=0x40) #define ENABLE2_OFF (MOTOR_PORT&=0xBF) void main (void) { int i, d, count=1; init_devices(); delay(1000); delay(1000); MOTOR_DDR = 0xff; // 모터포트 초기화 ENABLE1_ON; ENABLE2_ON; while(1){ // DIR1_ON; // Ch1 정방향 DIR2_ON; // Ch2 정방향 for(d=0; d<10; d++){ // 10 단계로 속도 조절 for(i=0; i<1000; i++){ // 100 번 PWM 발생 PWM1_ON; // PWM1 신호 1 PWM2_ON; // PWM2 신호 1 delay(10-d); PWM1_OFF; // PWM1 신호 0 PWM2_OFF; // PWM2 신호 0 delay(d); } } DIR1_OFF; // Ch1 역방향 DIR2_OFF; // Ch2 역방향 for(d=0; d<10; d++){ // 10 단계로 속도 조절 for(i=0; i<1000; i++){ // 100 번 PWM 발생 PWM1_ON; // PWM1 신호 1 PWM2_ON; // PWM2 신호 1 delay(10-d); PWM1_OFF; // PWM1 신호 0 PWM2_OFF; // PWM2 신호 0 delay(d); } } } } 이런식으로 되어이짜나요 그러면 ch1 ch2 동시에 DC모터가 연결되었으면 모터가 다 같이 돌아가야하는거아닌가요 ㅜㅜ? 이상해요 한개만돌아가요 어쩔땐 ch1만 돌아가고 어쩔댄 ch2만돌아가고 막 자기멋대로에요 어떨땐 ch2만 동작하게했을때 ch1에 관련된걸 다 주석처리하고 실행을해도 돌아갈때도있고 안돌아갈때도있고 이러고 마찬가지 반대로 ch1만 동작하게 했을대 ch2에 관련된걸 다 주석처리하고 실행을해도 돌아갈때있고 안돌아갈때가있어요 도대체 외그러는걸까요 ㅜㅜ? 아무리 찾아바도 모르겠네요 ㅜㅜ 참고로 저희가 구동하려는 DC모터는 http://www.devicemart.co.kr/mart7/mall.php?cat=017012002&query=view&no=33521
관리자 답변 NEWTC · 2010-05-09
안녕하세요? 고객님, 저희 뉴티씨를 이용하여 주셔서 감사합니다. PWM 하는 부분이 main문에서 하게 되면, 중간중간에 인터럽트 함수 등이 실행되거나 시스템이 다른 동작을 할 경우, 불안정하게 동작하게 됩니다. 따라서, 아래와 같이 PWM을 타이머를 이용하여 하는 게 좋겠습니다. - 아래 - http://www.newtc.co.kr/board/view.php?id=pds&page=1&sn1=&divpage=1&sn=off&ss=on&sc=off&keyword=DC&select_arrange=headnum&desc=asc&no=312 수고하세요. >안녕하세요 > >AM-DC2-2D 모터 모듈을 사용하고있습니다. >이걸통해 >DC모터 두개를 동시에 제어하려고 합니다. > >문개폐를 하고 싶어서 종이를 돌돌마는식으로 문을 열고닫을려고하는데 > >그럴려면 DC모터두개를 동시에 같은방향으로 돌려야 합니다. > >예제파일을 돌려보았습니다. > > >#define MOTOR_PORT PORTC >#define MOTOR_DDR DDRC >#define PWM1_ON (MOTOR_PORT|=0x01) >#define PWM1_OFF (MOTOR_PORT&=0xFE) >#define DIR1_ON (MOTOR_PORT|=0x02) >#define DIR1_OFF (MOTOR_PORT&=0xFD) >#define ENABLE1_OFF (MOTOR_PORT|=0x04) >#define ENABLE1_ON (MOTOR_PORT&=0xFB) >#define PWM2_ON (MOTOR_PORT|=0x10) >#define PWM2_OFF (MOTOR_PORT&=0xEF) >#define DIR2_ON (MOTOR_PORT|=0x20) >#define DIR2_OFF (MOTOR_PORT&=0xDF) >#define ENABLE2_ON (MOTOR_PORT|=0x40) >#define ENABLE2_OFF (MOTOR_PORT&=0xBF) > > > >void main (void) >{ > int i, d, count=1; > init_devices(); > > delay(1000); > delay(1000); > > MOTOR_DDR = 0xff; // 모터포트 초기화 > ENABLE1_ON; > ENABLE2_ON; > > while(1){ > // > > DIR1_ON; // Ch1 정방향 > DIR2_ON; // Ch2 정방향 > for(d=0; d<10; d++){ // 10 단계로 속도 조절 > for(i=0; i<1000; i++){ // 100 번 PWM 발생 > PWM1_ON; // PWM1 신호 1 > PWM2_ON; // PWM2 신호 1 > delay(10-d); > PWM1_OFF; // PWM1 신호 0 > PWM2_OFF; // PWM2 신호 0 > delay(d); > } > > } > > DIR1_OFF; // Ch1 역방향 > DIR2_OFF; // Ch2 역방향 > for(d=0; d<10; d++){ // 10 단계로 속도 조절 > for(i=0; i<1000; i++){ // 100 번 PWM 발생 > PWM1_ON; // PWM1 신호 1 > PWM2_ON; // PWM2 신호 1 > delay(10-d); > PWM1_OFF; // PWM1 신호 0 > PWM2_OFF; // PWM2 신호 0 > delay(d); > } > } > } > >} > > >이런식으로 되어이짜나요 > >그러면 ch1 ch2 동시에 DC모터가 연결되었으면 모터가 다 같이 돌아가야하는거아닌가요 ㅜㅜ? >이상해요 한개만돌아가요 >어쩔땐 ch1만 돌아가고 어쩔댄 ch2만돌아가고 >막 자기멋대로에요 >어떨땐 ch2만 동작하게했을때 ch1에 관련된걸 다 주석처리하고 실행을해도 >돌아갈때도있고 안돌아갈때도있고 이러고 >마찬가지 반대로 ch1만 동작하게 했을대 ch2에 관련된걸 다 주석처리하고 실행을해도 >돌아갈때있고 안돌아갈때가있어요 > >도대체 외그러는걸까요 ㅜㅜ? >아무리 찾아바도 모르겠네요 ㅜㅜ > > >참고로 저희가 구동하려는 DC모터는 >http://www.devicemart.co.kr/mart7/mall.php?cat=017012002&query=view&no=33521 > >
5076 답변완료WINAVR에서 AD-USBISP사용 avrdude관련 김인호 2010-05-09 1,376
안녕하세요. 귀사의 USBISP사용자입니다. AVR studio를 사용해서 다운로드는 됩니다만. Winavr만을 사용해서 프로그램을 다운시키려 합니다. 물론 usbsip가 연결된포트확인 후 Makefile수정하였습니다. avrdude -p atmega8 -P com3 -c stk500 -U flash:w:main.hex avrdude: stk500_getsync(): not in sync: resp=0x00 make.exe: *** [program] Error -1073741819 이런 메시지를 출력하네요. Makefile을 첨부하였습니다. 도와주세요!!!
관리자 답변 NEWTC · 2010-05-09
안녕하세요? 고객님, 아래와 같이 STK500v2로 놓고 해보세요. - 아래 - # Programming support using avrdude. Settings and variables. # Programming hardware: alf avr910 avrisp bascom bsd # dt006 pavr picoweb pony-stk200 sp12 stk200 stk500 # # Type: avrdude -c ? # to get a full listing. # AVRDUDE_PROGRAMMER = stk500v2 # com1 = serial port. Use lpt1 to connect to parallel port. AVRDUDE_PORT = com5 # programmer connected to serial device #AVRDUDE_PORT = /dev/ttyS0 # programmer connected to serial device AVRDUDE_WRITE_FLASH = -U flash:w:$(TARGET).hex #AVRDUDE_WRITE_EEPROM = -U eeprom:w:$(TARGET).eep # Uncomment the following if you want avrdude's erase cycle counter. # Note that this counter needs to be initialized first using -Yn, # see avrdude manual. #AVRDUDE_ERASE_COUNTER = -y # Uncomment the following if you do /not/ wish a verification to be # performed after programming the device. #AVRDUDE_NO_VERIFY = -V # Increase verbosity level. Please use this when submitting bug # reports about avrdude. See <http://savannah.nongnu.org/projects/avrdude> # to submit bug reports. #AVRDUDE_VERBOSE = -v -v AVRDUDE_FLAGS = -p $(MCU) -P $(AVRDUDE_PORT) -c $(AVRDUDE_PROGRAMMER) AVRDUDE_FLAGS += $(AVRDUDE_NO_VERIFY) AVRDUDE_FLAGS += $(AVRDUDE_VERBOSE) AVRDUDE_FLAGS += $(AVRDUDE_ERASE_COUNTER) 수고하세요. >안녕하세요. >귀사의 USBISP사용자입니다. > >AVR studio를 사용해서 다운로드는 됩니다만. > >Winavr만을 사용해서 프로그램을 다운시키려 합니다. >물론 usbsip가 연결된포트확인 후 Makefile수정하였습니다. > >avrdude -p atmega8 -P com3 -c stk500 -U flash:w:main.hex >avrdude: stk500_getsync(): not in sync: resp=0x00 >make.exe: *** [program] Error -1073741819 > >이런 메시지를 출력하네요. > >Makefile을 첨부하였습니다. > >도와주세요!!!
5075 답변완료ATtiny13을 처음 사용하는대요 이문학 2010-05-09 1,287
ATtiny13을 처음 사용하는대요 장비명 : AD-USBISP S/W : AVR STUDIO 4.17 최초에 장비를 연결하고 AVR STUDIO WRITE 화면 MAIN에서 Device and Signature Byte 화면에서 최초에 read Signature을 클릭하면 디바이스 코드 : 0X1E 0X90 0X07이라고 표시가 됩니다. 그러나 프로그램을 라이트하고나면 디바이스 코드가를 읽으면 : 0X00 0X00 0X00 표시되고 아래 화면에 wARNING : Signature does not match selected device! 라고 화면에 표시가 됩니다 정상일때는 MISO 신호가 0V~5V로 레벨로 변화하나 에러가 나고 부터는 0~0.5V밖에 변화가 생기질 않습니다. MISO 신호가 죽어버린건지 궁굼함. USB-ISP 장비가 tiny13을 지원을 못하는것인지 확인을 부탁드립니다. 참고로 atmega16이나 atmega128은 잘 사용하고 있습니다. 빠른 답변부탁드립니다. 감사합니다.
관리자 답변 NEWTC · 2010-05-09
안녕하세요? 고객님, 저희 뉴티씨 제품을 이용하여 주셔서 감사합니다. tiny13도 지원됩니다. ISP Mode로 놓고 사용하시면 됩니다. 아무래도 tiny13 쪽이 망가진 게 아닌가 싶은데요. 퓨즈비트 설정을 중간에 잘못하신게 아닌지요? USBISP 버전은 어떻게 되시는 지요? V03이 아니시라면, 펌웨어 업그레이드를 권장해 드립니다. V03이 아닌 경우 본사로 보내서 펌웨어 업그레이드 받아서 사용하시면 좀 더 빠르고, 정확한 기능으로 사용하실 수 있습니다. 수고하세요. >ATtiny13을 처음 사용하는대요 > >장비명 : AD-USBISP >S/W : AVR STUDIO 4.17 > >최초에 장비를 연결하고 >AVR STUDIO WRITE 화면 MAIN에서 >Device and Signature Byte 화면에서 >최초에 read Signature을 클릭하면 >디바이스 코드 : 0X1E 0X90 0X07이라고 표시가 됩니다. >그러나 프로그램을 라이트하고나면 > >디바이스 코드가를 읽으면 : 0X00 0X00 0X00 표시되고 >아래 화면에 >wARNING : Signature does not match selected device! >라고 화면에 표시가 됩니다 > >정상일때는 MISO 신호가 0V~5V로 레벨로 변화하나 >에러가 나고 부터는 0~0.5V밖에 변화가 생기질 않습니다. >MISO 신호가 죽어버린건지 궁굼함. > >USB-ISP 장비가 tiny13을 지원을 못하는것인지 >확인을 부탁드립니다. > >참고로 atmega16이나 atmega128은 잘 사용하고 있습니다. > >빠른 답변부탁드립니다. > >감사합니다. >
5074 답변완료ad_usbisp_v03 포트설정 정유준 2010-05-08 1,384
드라이버 설치까지 다 했는데 장치관리자에 포트 설정이 안되있어요.
관리자 답변 NEWTC · 2010-05-09
안녕하세요? 고객님, 드라이버 프로그램을 깔았다는 얘기인데요. PC에 따라서 바로 잡히지 않는 경우가 있습니다. 그럴 때는 USBISP를 뺏다가 꼽으시면, 다시 설치가 안되었다고 다시 잡아달라고 뜰 겁니다. 그러면, c:\\NEWTC\\DriverInstall\\x86 폴더에 Silabser.sys가 있으니, 그 쪽으로 폴더를 지정하여 주면 됩니다. 그러면 설치가 잘 될겁니다. 혹 안되시면, 안되시는 화면에서 캡쳐하여 올려주세요~ 수고하세요. >드라이버 설치까지 다 했는데 장치관리자에 포트 설정이 안되있어요.
5073 답변완료글 10431에서 몇 가지 질문합니다. 이석근 2010-05-08 1,292
먼저 폴링과 인터럽트의 개념을 생각해 볼때, 폴링은 라인트레이서가 라인를 따라 가다가 리모콘을 눌렀을 경우, 그 일을(리몬콘으로 받은 대이터) 잠시 대기 시켜놓고, 라인트레이서의 라인이 없을 경우에 동작 하는거 아닙니까??? 범용I/O를(핀이 있는 곳 이면) 폴링 방식으로 어떻게 사용 하는지가 궁금합니다. 제 짧은 생각으론 먼저 제기 했던 폴링의 의미가 일단 주어진 일을 다해놓고 대기&#46124;던 일을 처리 하는 것이므로 이벤트가 걸릴것 같지 않습니다. 올려 주신 소스가 어려워서 이해 하기가 쉽지 않네요. 간단하게나마 주석을 달아 주셨으면 감사하겠습니다.
관리자 답변 NEWTC · 2010-05-09
안녕하세요? 올린 소스는 단순합니다. while ( 1 ) { if ( IR_IN == IR_LOW ){ data = Ir_Data_Out ( ); switch( data ){ case 0x4 : Input =0x10; break; case 0x5 : Input =0x20; 즉, IR 신호가 들어오면 Ir_Data_Out ()함수에서 무슨 데이터가 들어왔는 지 판단해서, data라는 변수로 넘겨준 후에, data 값이 뭔지에 따라서, Input값을 바꿔주는 식으로 진행됩니다. 이 과정은 항상 빠른 속도로 감시하고 있는 폴링으로 이루어지게 되죠. 그런 후에, Timer0 오버플로우 인터럽트 함수에서 Input값에 따라서, switch문을 판단해서 모터 동작을 달리 해주는 것입니다. 아래와 같이요. #pragma interrupt_handler timer0_ovf_isr:17 void timer0_ovf_isr(void) { ........... switch(Input){ //printf("[0x%x]",Input); case 0x01: Status=0; S_MOTOR = 0xff; break; case 0x02: Status=0; S_MOTOR = 0x11; 수고하세요. >먼저 폴링과 인터럽트의 개념을 생각해 볼때, > >폴링은 라인트레이서가 라인를 따라 가다가 리모콘을 눌렀을 경우, > >그 일을(리몬콘으로 받은 대이터) 잠시 대기 시켜놓고, > >라인트레이서의 라인이 없을 경우에 동작 하는거 아닙니까??? > >범용I/O를(핀이 있는 곳 이면) 폴링 방식으로 어떻게 사용 하는지가 궁금합니다. > >제 짧은 생각으론 먼저 제기 했던 폴링의 의미가 일단 주어진 일을 다해놓고 대기&#46124;던 일을 처리 > >하는 것이므로 이벤트가 걸릴것 같지 않습니다. > >올려 주신 소스가 어려워서 이해 하기가 쉽지 않네요. > >간단하게나마 주석을 달아 주셨으면 감사하겠습니다. > > > >
5072 답변완료내부 메모리 질문입니다. 소광래 2010-05-07 1,385
AB-M128-B를 사용중입니다. 프로그램을 넣어도 MCU가 동작하지 않는데요 pony prog2000으로 device 와 flash 그리고 eeprom을 읽으면 020000부터 이상한 값들이 들어가있는데요 아무리 이레이져 해도 이 윗부분은 깨끗하게 지워지는데 이부분은 안지워지내요 어떻게 지울수 있죠? 이부분에 이상한 값들이 기록되어있어서 프로그램을 짜서 넣어도 동작하지 않는것 같아서 이렇게 질문 드립니다.
관리자 답변 소광래 · 2010-05-07
어떻게 어떻게 해서 다 지웠는데 device 를 read 하면 모두 ff 상태이고 옆에나오는 "..... "도 전부 "....."인데 MCU가 동작 안하는 이유는 무엇때문일까요??;; 잘동작 하던게 이러니깐 답다해 죽겠네요....
5071 답변완료USB-ISP V03을 사용하는데 ATmega2560에서 다운로드가 안되네요 정재원 2010-05-07 1,275
USB-ISP V03을 사용하는데 ATmega2560에서 다운로드가 안되네요 avrstudio4 사용중이구요 헥사파일이 다운로딩이 되지 않고 에러가 계속 뜨네요 2560 지원이 안되는건가요? 페러럴포트용 isp를 사용해서 포니프로그로는 정상적으로 다운로드가 되거든요 USB-ISP V03는 avrstudio에서 안되네요;
관리자 답변 NEWTC · 2010-05-10
안녕하세요? 고객님, 저희 뉴티씨 제품을 이용하여 주셔서 감사합니다. 답변이 늦어서 죄송합니다. 질문이 너무 많아서, 간혹 지나가는 경우가 있습니다. 하지만, 이제라도 발견이 되어서 다행입니다. 본사에서도 KD-2560PRO 라는 킷트를 판매중입니다. 거기에 USBISP가 들어가 있습니다. 2560에서도 잘 동작하기 때문에 판매하는 거죠. 고객님의 경우 뭔가 ISP 핀연결에 문제가 있지 않나 싶습니다. 핀이름들을 보고, 제대로 연결한 것이 맞는 지 확인하여 보세요. 수고하세요. >USB-ISP V03을 사용하는데 ATmega2560에서 다운로드가 안되네요 >avrstudio4 사용중이구요 >헥사파일이 다운로딩이 되지 않고 에러가 계속 뜨네요 >2560 지원이 안되는건가요? > >페러럴포트용 isp를 사용해서 포니프로그로는 정상적으로 다운로드가 되거든요 >USB-ISP V03는 avrstudio에서 안되네요; >
5070 답변완료atmega128 프로그램을 넣으려고 하는데 김광록 2010-05-07 1,431
처음에 플래쉬 프로그래밍이라고 들어가는것 같은데 그 이후에 이러한 메시지가 뜹니다.
관리자 답변 NEWTC · 2010-05-07
안녕하세요 저 경고문구는 다운로드할때 프로그램 올 버튼을 사용하시듯 합니다. eeprom 및 플래쉬메모리에 전부 다운로드하는 버튼입니다. eeprom 경고는 들어갈 데이터가 없어서 생긴것입니다. 보통 플래쉬를 사용하기 때문입니다. 무시하시거나 툴바에 프로그램 플래쉬 라이트를 선택하시면 됩니다. 수고하세요 >처음에 플래쉬 프로그래밍이라고 들어가는것 같은데 그 이후에 이러한 메시지가 뜹니다.
5069 답변완료아트메가 독립전원.. 노영래 2010-05-07 1,285
안녕하세요 ^^..또 질문을 드리게 되네요.. 굵은선 으로 바꿔도 모터가 안돌아서.. TR로 전류를 증폭하는걸 찾고있는데 회로도쪽은 너무약해서... 참 이게 아니지.. 질문드리겠습니다.. Pro키트 우측하단과 우측상단쯤에 독립전원이라고 해야하나.. 5V 2개와 12V 두개가 있는데요.. 그거 출력되는 전류이 몇 mA 인가요?? 그리고 왼쪽 상단에 전원 어탭터 꼽는 부분아래.. DC MOTOR 라고 있던데요.. 그건 몇 볼트고, 전류는 얼마나 될까요?? 감사합니다! 수고하셨어요(?)!!!
관리자 답변 NEWTC · 2010-05-07
안녕하세요? 고객님, 소프트웨어적으로 Enable은 하셨는 지요? DC Input 이라고 적힌 것을 말씀하시나 보네요. 그건 아답타의 전압이 그대로 나오는 겁니다. 그냥 선으로 이어져 있습니다. 아답타의 용량이 얼마냐에 관련 되겠지요. 모터를 돌릴 &#46468;는 모터 돌리는 데, 충분한 전원을 넣어줘야 합니다. 전압, 전류가 다 맞아야 해요. 다시 좀 더 자세히 올려 주세요. 수고하세요. >안녕하세요 ^^..또 질문을 드리게 되네요.. >굵은선 으로 바꿔도 모터가 안돌아서.. >TR로 전류를 증폭하는걸 찾고있는데 >회로도쪽은 너무약해서... 참 이게 아니지.. > >질문드리겠습니다.. >Pro키트 우측하단과 우측상단쯤에 독립전원이라고 해야하나.. >5V 2개와 12V 두개가 있는데요.. >그거 출력되는 전류이 몇 mA 인가요?? > >그리고 왼쪽 상단에 전원 어탭터 꼽는 부분아래.. >DC MOTOR 라고 있던데요.. >그건 몇 볼트고, 전류는 얼마나 될까요?? > >감사합니다! 수고하셨어요(?)!!!
5068 답변완료질문입니다ㅠ 이기우 2010-05-07 1,292
안녕하세요 개발보드 소형 사용중입니다 궁금한건 그라운드가 여러개 있잖아요 각 포트마다도 있고 근데 어차피 5v이건 12v 이건 맨처음 들어오는 아답터의 그라운드로 다 똑같은거죠?
관리자 답변 NEWTC · 2010-05-07
안녕하세요 DC일경우만, 5볼트, 12볼트, 어떤한 DC전압이라도 그라운드를 공통으로 묶어서 사용해야합니다. GND는 전위차의 기준점이 됩니다. 그래야 5볼트,12볼트 전위차에 의해 전압이 생겨납니다. 수고하세요 >안녕하세요 >개발보드 소형 사용중입니다 >궁금한건 >그라운드가 여러개 있잖아요 각 포트마다도 있고 >근데 어차피 5v이건 12v 이건 >맨처음 들어오는 아답터의 그라운드로 다 똑같은거죠? > >
5067 답변완료노란색 LED 두개가 자꾸 둘다 불이 들어와있습니다. 김정치 2010-05-07 1,315
AB-M128-B를 사용하고 있고요 이거때문에 프로그램을 넣어도 실행이 안되는것 같은데 어디가 문제인거죠?
관리자 답변 NEWTC · 2010-05-07
안녕하세요 질문이 이해가 잘 안됩니다. http://newtc.co.kr/board/view.php?id=qna&page=1&sn1=&divpage=3&sn=off&ss=on&sc=on&select_arrange=headnum&desc=asc&no=3119 위 링크를 보시고 질문을 해주시길 바랍니다. 수고하세요 >AB-M128-B를 사용하고 있고요 >이거때문에 프로그램을 넣어도 실행이 안되는것 같은데 어디가 문제인거죠?
5066 답변완료문의드립니다. 최종열 2010-05-07 1,361
저희가 이번에 연구과제를 gps를 이용한 자율주행 자동차를 제작할려고 합니다. 혹시 여기서 gps정보를 받아 그 위치까지 주행가능한 제품구매가 가능한지 궁금합니다.
관리자 답변 NEWTC · 2010-05-07
안녕하세요 본사에서는 gps정보를 받아 그 위치까지 주행가능한 제품은 없습니다.^^; 수고하세요 >저희가 이번에 연구과제를 >gps를 이용한 자율주행 자동차를 제작할려고 합니다. >혹시 여기서 gps정보를 받아 그 위치까지 주행가능한 제품구매가 가능한지 궁금합니다.
5065 답변완료3축 가속도 센서 이동 거리 계산 성길호 2010-05-07 1,885
안녕하세요. 3축 가속도 센서에서 이동거리 계산하는 법을 칩개발사에서 자료를 적용해서 했는데요. 잘 안되네요.. 우선, 센서 출력 데이터에다 캘리브레이션 데이터를 뱄고요. 이 데이터를 가속도라고 생각하고, 속도에다 적분했고요.. 속도를 갖고 거리를 계산해서 적분했는데요.. 처음 이동위치인지, 다른 위치인지 알수가 없어서요... 거리 이동은 되는것 같은데, 어느 위치에 가 있는지를 모르겠네요.. 질문이 잘 되었나 모르겠네요. 쉽게 이야기하면 제가 손으로 센서를 잡고 위로 올렸다가 제자리로 돌아오는 것인데요 Z축만 이용을 하고요 2차원 그래프로 Y축으로 표시하는데 할때마다 달라요.
관리자 답변 NEWTC · 2010-05-07
안녕하세요? 고객님, 읽어보면 동적 가속도만 남겨서, 적분하여 값을 얻으시려는 것 같습니다. 아래를 참고하셔서, 데이터 값을 보정하여 사용하셔야 합니다. 가속도 센서가 아무리 잘만들어도, 이동, 온도, 압력 등에 의하여 약간씩 특어지게 되는 데, 결과 값이 많이 달라지게 됩니다. 아래를 참고 바랍니다. - 아래 - http://www.newtc.co.kr/board/view.php?id=faq&page=2&sn1=&divpage=1&sn=off&ss=on&sc=on&select_arrange=headnum&desc=asc&no=26 수고하세요. >안녕하세요. > >3축 가속도 센서에서 이동거리 계산하는 법을 칩개발사에서 자료를 적용해서 했는데요. >잘 안되네요.. > >우선, 센서 출력 데이터에다 캘리브레이션 데이터를 뱄고요. >이 데이터를 가속도라고 생각하고, 속도에다 적분했고요.. >속도를 갖고 거리를 계산해서 적분했는데요.. > >처음 이동위치인지, 다른 위치인지 알수가 없어서요... >거리 이동은 되는것 같은데, 어느 위치에 가 있는지를 모르겠네요.. > >질문이 잘 되었나 모르겠네요. > >쉽게 이야기하면 제가 손으로 센서를 잡고 위로 올렸다가 제자리로 돌아오는 것인데요 >Z축만 이용을 하고요 2차원 그래프로 Y축으로 표시하는데 할때마다 달라요. >
5064 답변완료ICC AVR 관련 에러 질문 황인식 2010-05-07 1,397
AD-USBISP V03와 ATMEGA128 Pro A 구매해서 ICC AVR을 귀사의 메뉴얼 대로 하는데 첨부파일의 에러가 납니다. ISP보드의 드라이버는 "문제 발생시"의 파일로 깔았습니다. 빠른 답변 부탁드립니다.
관리자 답변 NEWTC · 2010-05-07
안녕하세요? 고객님, 저희 뉴티씨 제품을 이용하여 주셔서 감사합니다. 현재 상황으로 보면, 메뉴얼대로 진행되지 않았습니다. 수정해서 될 가능성이 많습니다.^^ 아래 USBISP 사용법 메뉴얼을 참고하세요. 따라하기로 되어 있습니다. - 아래 - http://www.newtc.co.kr/board/view.php?id=mega128_lecture&page=1&sn1=&divpage=1&sn=off&ss=on&sc=on&select_arrange=headnum&desc=asc&no=100 잘못된 부분은, ICCAVR 사용시에 일단 ATMEL의 AVR Studio를 설치하여야 하고(이건 하셨는 지 확인해 보세요.) 그리고, STK500으로 잡아야 하고, COM 포트도 맞춰야 하고, 아래에 AVR Studio의 STK500.exe 링크를 제대로 설정하여 알려 줘야 하고, -dAtmega128도 적어줘야 합니다. 메뉴얼 보면 자세히 나옵니다. 수고하세요. >AD-USBISP V03와 ATMEGA128 Pro A 구매해서 >ICC AVR을 귀사의 메뉴얼 대로 하는데 >첨부파일의 에러가 납니다. >ISP보드의 드라이버는 "문제 발생시"의 파일로 깔았습니다. >빠른 답변 부탁드립니다.