Q&A
| 번호 | 제목 | 작성자 | 등록일 | 조회 |
|---|---|---|---|---|
| 5673 | 답변완료Altera ByteBlaster II (FM-BB2) 제품 문의입니다. | 한대용 | 2010-09-09 | 1,286 |
|
1. 이제품을 보면 페러럴포트 연결부와 10핀 커넥터로 구성이 되있는데, 페러럴포트 연결부 내부에 바이트블러스터 관련 IC 회로들이 내장이 되있는건가요? 아니면 단순히 25핀 페러럴포트를 10핀으로 바꿔주는 역할만 하는건가요?
2. 이 제품을 다른 Altera FPGA(Cyclone III) 보드에서도 사용할 수 있나요?
관리자 답변
안녕하세요
1. 안에 신호레벨을 맞쳐주는 칩이 들어있습니다.
2. 이미지를 보시면 관련 디바이스들 입니다.
수고하세요
>1. 이제품을 보면 페러럴포트 연결부와 10핀 커넥터로 구성이 되있는데, 페러럴포트 연결부 내부에 바이트블러스터 관련 IC 회로들이 내장이 되있는건가요? 아니면 단순히 25핀 페러럴포트를 10핀으로 바꿔주는 역할만 하는건가요?
>
>2. 이 제품을 다른 Altera FPGA(Cyclone III) 보드에서도 사용할 수 있나요?
>
|
||||
| 5672 | 답변완료PORTC 출력에러 | 김용훈 | 2010-09-09 | 1,379 |
|
Atmega16을 이용하여 디지털 전압계를 만드는 중입니다. (ab-m16-b, icc-avr v7)
PORTC를 이용하여 FND(4401CSR)에 숫자를 표시하려는 데,
2 - 5번의 출력이 이상합니다.
2, 3, 5번은 1.5 - 2V, 4번은 0V 만을 출력합니다.
PORTC = 0x00; 이면
FND의 2,3,5번만 희미하게 불이 들어오고,
PORTC = 0xFF; 이면
FND의 2, 3, 4, 5번에 불이 불어오지 않습니다.
무엇이 문제일까요?
선의 연결, 프로그램을 단순화해서 테스트해보고, MCU를 바꿔봐도
마찬가지입니다.
해결방법 좀 알려주세요.
관리자 답변
안녕하세요? 고객님,
저희 뉴티씨 제품을 이용하여 주셔서 감사합니다.
우선, 가지고 계신 ATMEGA16 킷트에 TL8과 같은 LED 8개 있는 보드를 연결하여, 본사에서 제공하는 예제로 포트 출력의 이상 유무를 테스트 하는 것이 좋겠습니다.
그렇게 하면 16킷트 포트의 이상 유무를 테스트 하실 수 있겠구요.
포트로 출력하려면, DDRC = 0xff로 두셔야 합니다. 그 이후에, PORTC에 값을 출력하셔야 하지요.
혹시 그 부분이 안된건 아닌지 체크 바랍니다.
그런 이후에, 부가하신 세븐세그먼트 회로를 검사하는 게 좋겠습니다.
수고하세요.
>Atmega16을 이용하여 디지털 전압계를 만드는 중입니다. (ab-m16-b, icc-avr v7)
>
>PORTC를 이용하여 FND(4401CSR)에 숫자를 표시하려는 데,
>
>2 - 5번의 출력이 이상합니다.
>
>2, 3, 5번은 1.5 - 2V, 4번은 0V 만을 출력합니다.
>
>PORTC = 0x00; 이면
>FND의 2,3,5번만 희미하게 불이 들어오고,
>
>PORTC = 0xFF; 이면
>FND의 2, 3, 4, 5번에 불이 불어오지 않습니다.
>
>무엇이 문제일까요?
>
>선의 연결, 프로그램을 단순화해서 테스트해보고, MCU를 바꿔봐도
>
>마찬가지입니다.
>
>해결방법 좀 알려주세요.
>
>
|
||||
| 5671 | 답변완료AM-CS2P (3A용) 궁금한게 있습니다. | 박경환 | 2010-09-08 | 1,310 |
|
안녕하세요
귀하의 AM-CS2P(3A) 스텝모터 제어모듈을 구입한 사람입니다.
스텝모터 2개를 구동하려고 하는 데요.
저희는 엘리베이터 2기의 스텝모터를 우선순위를 이용하여 구동할 계획인데..
가능할까요?
관리자 답변
안녕하세요? 고객님,
반갑습니다.
하드웨어적으로 충분히 지원됩니다.
다만, 소스만 잘 짜시면 되겠습니다.
본사의 예제를 참고하여 소스를 작성하면 편리합니다.
다만, 엘리베이터에 사용할 스텝모터의 토크 계산을 잘 하고, 그에 적절한 전압 전류를 충분히 모듈에 공급해 주어야 합니다.
수고하세요.
>안녕하세요
>
>귀하의 AM-CS2P(3A) 스텝모터 제어모듈을 구입한 사람입니다.
>
>스텝모터 2개를 구동하려고 하는 데요.
>
>저희는 엘리베이터 2기의 스텝모터를 우선순위를 이용하여 구동할 계획인데..
>
>가능할까요?
>
>
|
||||
| 5670 | 답변완료자이로센서 각도에 관련된 질문요 | 황경빈 | 2010-09-08 | 1,399 |
|
안녕하세요^^
위드로봇사의 mygyro300spi제품을 사용하고 있는 동양공전 2학년입니다.
위 제품을 사용해서 spi통신을 이용해서 16진수로 각가속도를 받는것까지는 구현 했는데요
지금 필요한건 각 가속도가 아니라 현재 각도에요
그러려면 샘플링을 해야하는데, 샘플링을 하려고 타이머 인터럽트를 쓰려고 합니다
근데 SREG의 I비트를 사용해야 타이머 인터럽트를 사용할 수 있는데
'sei()'를 써서 전체 인터럽트를 허용 하니까 spi때문인지 마이컴이 계속 리셋 되버리네요
그래서 'cli()'를 사용해서 다시 비허용을 해도 효과가 없네요
아래는 제 개발 환경입니다
MCU : Atmega128
C program : WinAvr에서 제공하는 programmer's notepad
UART : 'uart to usb'제품을 이용한 하이퍼 터미널
이하는 여기서 제공해준 소스에 타이머 인터럽트를 적용한 소스 입니다
아래 소스의 문제점은 문자'r'을 입력했을때 MCU가 계속 리셋 되는 것 입니다.
#include <avr/io.h>
#include <avr/interrupt.h>
// PC와의 통신을 위해 사용하는 UART를 위한 핀 설정.
// 사용하는 AVR 칩셋에 따라 IO 핀이 다르며, 이 소스는 ATMega8535를 기준으로
// 작성되어있다. 다른 칩셋을 사용하고자하는 경우 이곳에서 적절히 설정하면
// 소스 내부에서 일괄 적용된다.
#define UART_PORT_DIR_R DDRD
#define UART_TX_DIR DDD1
#define UART_RX_DIR DDD0
// SPI 통신에 사용되는 핀 설정.
#define SPI_PORT_DIR_R DDRB
#define SPI_PORT_R PORTB
#define SPI_CS_DIR DDB4
#define SPI_CS PB4
#define SPI_SCLK_DIR DDB7
#define SPI_SCLK PB7
#define SPI_TX_DIR DDB5
#define SPI_TX PB5
#define SPI_RX_DIR DDB6
#define SPI_RX PB6
// bit mask macro
#define BM(n) (1 << n)
// PC와의 통신을 위한 UART를 초기화한다.
// 사용하는 칩셋과 clock에 따라 수정해야할 필요가 있다.
void UART_Init(void)
{
UCSRA = 0;
UCSRB = _BV(RXCIE)|_BV(RXEN)|_BV(TXEN);
UCSRC = _BV(UCSZ1)|_BV(UCSZ0);
UBRRL = (F_CPU/(9600*16L))-1;
UBRRH = 0;
}
// UART에서 한 바이트의 데이터를 수신하기까지 대기하며 기다린다.
unsigned char UART_GetChar(void)
{
while((UCSRA & BM(RXC)) == 0);
return UDR;
}
// UART를 통하여 한 바이트의 데이터를 송신한다.
void UART_PutChar(char data)
{
while((UCSRA & BM(UDRE)) == 0x00);
UDR = data;
}
void UART_Putstring(char *data)
{
while(*data)
{
UART_PutChar(*data);
data++;
}
}
#define SPI_CS_ASSERT() SPI_PORT_R &= ~BM(SPI_CS)
#define SPI_CS_DEASSERT() SPI_PORT_R |= BM(SPI_CS)
// SPI 통신 초기화.
void SPI_Init(void)
{
// CS, SCLK, TX - output, RX - input
SPI_PORT_DIR_R = BM(SPI_CS_DIR) | BM(SPI_SCLK_DIR) | BM(SPI_TX_DIR);
// CS 핀을 high로 설정한다 -> mygyro300SPI의 SPI 모듈 초기화.
SPI_CS_DEASSERT();
// SPI enable with master mode, CPOL=1, CPHA=0, clk=Fosc/8=1MHz
SPCR = BM(SPE) | BM(MSTR) | BM(CPOL) | BM(SPR0);
// clk=Fosc/8
SPSR = BM(SPI2X);
}
// 16비트로 구성된 명령을 송신하고, 그에따른 return 값을 읽어온다.
void SPI_Cmd(unsigned int cmd, unsigned int *data)
{
SPDR = cmd >> 8; // high byte를 먼저 송신.
while(!(SPSR & 0x80)); // 송신 완료될때까지 대기.
*data = SPDR << 8; // 수신된 데이터를 저장. 이 데이터는 high byte이다.
SPDR = cmd & 0xff; // low byte를 송신.
while(!(SPSR & 0x80)); // 송신 완료될때까지 대기.
*data |= SPDR; // 수신된 low byte를 저장.
}
void Tx_Hex1(char bSentData) //16진수 출력을 위한 함수
{
char bTmp;
bTmp =((char)(bSentData>>4)&0x0f) + 0X30;
if(bTmp > '9') bTmp += 7;
UART_PutChar(bTmp);
bTmp =(char)(bSentData & 0x0f) + 0X30;
if(bTmp > '9') bTmp += 7;
UART_PutChar(bTmp);
}
//
ISR(TIMER0_OVF_vect)
{
TCNT0 = 0X83; //256-125=131
cli();
}
void timer_init()
{
TCCR0 = 0x0B; //CTC mode, CK/64
OCR0 = 0xff; //255까지 카운터 후 리셋
TIMSK = 0x01; //오버 플로우 인터럽트 허용
}
//
int main(void)
{
unsigned char c, wait_cnt = 0, bTmp;
int data, temp;
UART_Init(); // UART 초기화.
SPI_Init(); // SPI 모듈 초기화.
UART_PutChar('\\f');
UART_Putstring("통신시작!!!\\n\\r");
timer_init();
sei();
while(1)
{
c = UART_GetChar(); // PC에서 명령이 들어올 때 까지 대기.
if (c == 'r') // 수신된 명령이 'r'이면
{
SPI_CS_ASSERT(); // CS를 low로 떨어트려서 SPI 통신 시작.
SPI_Cmd(0x8310, &data); // myGyro300SPI에서 각속도 값을 읽어온다.
SPI_CS_DEASSERT(); // CS를 high로 올려주면서 SPI 통신 종료.
data -= (0x800-0x1B);//0x1B는 실측을 통한 오차 보정용 상수
UART_Putstring("각속도 값 : ");
if(data < 0)
{
data = ~data;
UART_PutChar('-');
}
else
{
UART_PutChar('+');
}
Tx_Hex1(data>>8);
Tx_Hex1(data);
c=0;
}
}
}
어떻게 해야 두개의 인터럽트를 동시에 사용 할 수 있을까요?
제품 이상은 아니지만 그래도 성실한 답변 부탁드립니다
관리자 답변
안녕하세요?
본사에도 판매중인 자이로 센서가 있습니다. 타사 제품은 저희가 예제가 없어서, 도와드리기 어렵구요. 본사 제품 기준으로 각도를 계산해 내는 예제를 올려드립니다.
타사 제품은 아무래도 제조사에 문의하여 보시는 것이 좋겠습니다.
각속도를 뽑아내는 데 성공하셨다면, 아래의 본사 소스를 이용하여 각도로 환산해 내면 될 것 같습니다. 다만, 본사에서 소스 디버깅을 직접 해 드리지는 않음을 양해 해 주시기 바랍니다.
( 소스의 목적)
아래소스는 3.3V 기준 전압으로 0~3.3V 사이를 AD하여 계산하는 자이로센서로 각도 구하는 소스입니다. 5V 기준 전압시는 아래 소스 설명을 참고하여, 수정하여 사용하세요.
( 소스 설명 )
1. AVR adc 전압 스케일이 3.3 볼트 일때 vref(계산을 위해 mV 로변경)기준으로 계산합니다.
- 1024는 adc의 1024단계의 분해능을 의미
- 3300mV adc의 vref인 3.3V를 의미함
2. 1024 분해능에서 1 변동할때의 전압값(Vref = 3.3V) : 3300mV / 1024 = 3.22265625mV
* 참고적으로 1024 분해능에서 1 변동할때의 전압값(Vref = 5V)
( 0~5V 사이를 AD 하고, 실제로는 0~3.3V를 사용하므로, 분해능의 단계수를 다시 계산해야합니다. 즉, 3.3/(5/1024) = 675.84 단계 약 676 값이 3.3 볼트입니다. 0~3.3V의 값을 보려면, 0~676의 값으로 계산하면 됩니다.
1024 분해능에서 1 변동할때의 전압값(Vref = 5V) : 3300mV / 676 = 4.8816568mV
)
3. 감도(Sensitivity) 값 관련
AM-GYRO V01 ( 즉, IDG300)의 감도(Sensitivity) 2mV/degree/sec
AM-GYRO V02 (즉, IDG650)의 감도(Sensitivity) 0.5mV/degree/sec
4. 최종적인 각도 계산을 위한 Scale Vector 값 관련
AM-GYRO V01 ( 즉, IDG300) 이용시,
- 1024 분해능에서 1 변동할때의 각속도 값(Vref = 3.3V) :
3.22265625 mV / ( 2mV/degree/sec) = 1.611328125 degree/sec
- 1024 분해능에서 1 변동할때의 각속도 값(Vref = 5V) :
4.8816568mV / ( 2mV/degree/sec) = 2.4408284 degree/sec
AM-GYRO V02 ( 즉, IDG650) 이용시,
- 1024 분해능에서 1 변동할때의 각속도 값(Vref = 3.3V) :
3.22265625 mV / ( 0.5mV/degree/sec) = 6.4453125 degree/sec
- 1024 분해능에서 1 변동할때의 각속도 값(Vref = 5V) :
4.8816568mV / ( 0.5mV/degree/sec) = 9.7533136 degree/sec
5. 즉, 정리하여 보면, 각속도 구하는 기본식은
( 각속도 초기 adc값 - 센서 회전된 adc 값 ) * scale vector
여기서 adc 샘플링 시간을 누적시키면 각도가 됩니다.(적분)
adc 샘플링 주기가 예로 0.01초이면
degree += (( 각속도 초기 adc값 - 센서 회전된 adc 값 ) * scale vector ) * 0.01sec
수고하세요~
- 아래 -
#include <iom128v.h>
#include <macros.h>
#include <stdio.h>
#define SCALE_FACTOR 1.611328125
#define TIME 0.01
#define OFF_SET 458
//590.5611
int value = 0;
float value_sum = 0;
float offset;
float angular_acceleration[50];
float angular_average = 0;
float before_angle = 0;
float after_angle = 0;
float angle_factor = 0;
char adc_flag = 0;
char time_flag = 0;
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;
}
//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
}
#pragma interrupt_handler timer0_ovf_isr:iv_TIM0_OVF
void timer0_ovf_isr(void)
{
TCNT0 = 0x06; //reload counter value
PORTG ^= 1;
ADCSRA |= 0x40;
}
//TIMER1 initialize - prescale:8
// WGM: 0) Normal, TOP=0xFFFF
// desired value: 100Hz
// actual value: 100.000Hz (0.0%)
void timer1_init(void)
{
TCCR1B = 0x00; //stop
TCNT1H = 0xB1; //setup
TCNT1L = 0xE0;
OCR1AH = 0x4E;
OCR1AL = 0x20;
OCR1BH = 0x4E;
OCR1BL = 0x20;
OCR1CH = 0x4E;
OCR1CL = 0x20;
ICR1H = 0x4E;
ICR1L = 0x20;
TCCR1A = 0x00;
//TCCR1B = 0x02; //start Timer
}
#pragma interrupt_handler timer1_ovf_isr:iv_TIM1_OVF
void timer1_ovf_isr(void)
{
//TIMER1 has overflowed
TCNT1H = 0xB1; //reload counter high value
TCNT1L = 0xE0; //reload counter low value
//PORTG ^= 2;
time_flag = 1;
}
//UART0 initialize
// desired baud rate: 115200
// actual: baud rate:111111 (3.7%)
// char size: 8 bit
// parity: Disabled
void uart0_init(void)
{
UCSR0B = 0x00; //disable while setting baud rate
UCSR0A = 0x00;
UCSR0C = 0x06;
UBRR0L = 0x08; //set baud rate lo
UBRR0H = 0x00; //set baud rate hi
UCSR0B = 0x18;
}
// printf ?
int putchar(char c)
{
while (((UCSR0A>>UDRE0)&0x01) == 0) ; // UDRE, data register empty
UDR0 = c;
return c;
}
// scanf
int getchar(void)
{
while ((UCSR0A & 0x80) == 0);
return UDR0;
}
//ADC initialize
// Conversion time: 104uS
void adc_init(void)
{
ADCSRA = 0x00; //disable adc
ADMUX = 0x00; //select adc input 0
ACSR = 0x80;
ADCSRA = 0x8F;
}
#pragma interrupt_handler adc_isr:iv_ADC
void adc_isr( void )
{
//conversion complete, read value (int) using...
value = ADCL; //Read 8 low bits first (important)
value |= ( int )ADCH << 8; //read 2 high bits and shift into top byte
adc_flag++;
value_sum += value;
if(adc_flag >=1 )
TCCR0 = 0x00; //stop
//printf( "\\r\\n ADC = %d", value );
}
//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();
adc_init();
timer0_init();
timer1_init();
MCUCR = 0x00;
EICRA = 0x00; //extended ext ints
EICRB = 0x00; //extended ext ints
EIMSK = 0x00;
TIMSK = 0x01; //timer interrupt sources
TIMSK = 0x04; //timer interrupt sources
TIMSK = 0x05; //timer interrupt sources
ETIMSK = 0x00; //extended timer interrupt sources
SEI(); //re-enable interrupts
//all peripherals are now initialized
}
void delay ( unsigned int cnt )
{
unsigned int i,j;
for( i=0 ; i< cnt ; i++ )
for( j=0 ; j< 1000 ; j++ );
}
void main (void)
{
int i;
int temp;
init_devices();
printf( "\\r\\n GYRO..QQ");
printf( "\\r\\n ADCSRA = 0x%x", ADCSRA );
printf( "\\r\\n ADMUX = 0x%x", ADMUX );
printf( "\\r\\n ACSR = 0x%x", ACSR );
delay( 1000 );
for( i=0 ; i<100 ; i ++ )
angular_acceleration[i] = 0;
ADMUX = 0x00;
ADCSRA |= 0x40;
offset = 0;
for( i=0 ; i<50 ; )
{
if ( adc_flag )
{
temp = value;
offset += value;
adc_flag = 0;
ADCSRA |= 0x40;
//printf( "\\r\\n $$ = %d", value );
i ++ ;
}
}
offset = (int)(offset / 50);
printf( "\\r\\n offset = %f", offset );
//for( i=0 ; i<50 ; i ++ )
// angular_acceleration[i] = offset;
delay( 2000 );
delay( 2000 );
TCCR1B = 0x02; //start Timer
TCCR0 = 0x05; //start timer
value_sum = 0;
adc_flag = 0;
while(1)
{
//delay( 1000 );
if( time_flag )
{
PORTG |= 0x02;
value_sum = value_sum / adc_flag;
angular_acceleration[0] = (( float )( (int)(value_sum) - offset )) * SCALE_FACTOR;
after_angle = before_angle + ( angular_acceleration[9] + angular_acceleration[8] + angular_acceleration[7] + angular_acceleration[6] + angular_acceleration[5] + angular_acceleration[4] + angular_acceleration[3] + angular_acceleration[2] + angular_acceleration[1] + angular_acceleration[0] ) / 10;
angle_factor = after_angle * TIME;
before_angle = after_angle;
for( i=0 ; i<9 ; i ++ )
{
angular_acceleration[i+1] = angular_acceleration[i];
//printf ( " nangle = %.2f", angular_acceleration[i]);
}
printf ( "\\r\\n X_angle = %.2f", angle_factor);
angular_average = 0;
adc_flag = 0;
value_sum = 0;
time_flag = 0;
TCCR0 = 0x05;
}
PORTG &= 0xfd;
}
}
>안녕하세요^^
>
>위드로봇사의 mygyro300spi제품을 사용하고 있는 동양공전 2학년입니다.
>
>위 제품을 사용해서 spi통신을 이용해서 16진수로 각가속도를 받는것까지는 구현 했는데요
>
>지금 필요한건 각 가속도가 아니라 현재 각도에요
>
>그러려면 샘플링을 해야하는데, 샘플링을 하려고 타이머 인터럽트를 쓰려고 합니다
>
>근데 SREG의 I비트를 사용해야 타이머 인터럽트를 사용할 수 있는데
>
>'sei()'를 써서 전체 인터럽트를 허용 하니까 spi때문인지 마이컴이 계속 리셋 되버리네요
>
>그래서 'cli()'를 사용해서 다시 비허용을 해도 효과가 없네요
>
>아래는 제 개발 환경입니다
>
>MCU : Atmega128
>
>C program : WinAvr에서 제공하는 programmer's notepad
>
>UART : 'uart to usb'제품을 이용한 하이퍼 터미널
>
>이하는 여기서 제공해준 소스에 타이머 인터럽트를 적용한 소스 입니다
>
>아래 소스의 문제점은 문자'r'을 입력했을때 MCU가 계속 리셋 되는 것 입니다.
>
>#include <avr/io.h>
>#include <avr/interrupt.h>
>
>// PC와의 통신을 위해 사용하는 UART를 위한 핀 설정.
>// 사용하는 AVR 칩셋에 따라 IO 핀이 다르며, 이 소스는 ATMega8535를 기준으로
>// 작성되어있다. 다른 칩셋을 사용하고자하는 경우 이곳에서 적절히 설정하면
>// 소스 내부에서 일괄 적용된다.
>#define UART_PORT_DIR_R DDRD
>#define UART_TX_DIR DDD1
>#define UART_RX_DIR DDD0
>
>// SPI 통신에 사용되는 핀 설정.
>#define SPI_PORT_DIR_R DDRB
>#define SPI_PORT_R PORTB
>#define SPI_CS_DIR DDB4
>#define SPI_CS PB4
>#define SPI_SCLK_DIR DDB7
>#define SPI_SCLK PB7
>#define SPI_TX_DIR DDB5
>#define SPI_TX PB5
>#define SPI_RX_DIR DDB6
>#define SPI_RX PB6
>
>// bit mask macro
>#define BM(n) (1 << n)
>
>// PC와의 통신을 위한 UART를 초기화한다.
>// 사용하는 칩셋과 clock에 따라 수정해야할 필요가 있다.
>void UART_Init(void)
>{
>UCSRA = 0;
>UCSRB = _BV(RXCIE)|_BV(RXEN)|_BV(TXEN);
>UCSRC = _BV(UCSZ1)|_BV(UCSZ0);
>UBRRL = (F_CPU/(9600*16L))-1;
>UBRRH = 0;
>}
>
>// UART에서 한 바이트의 데이터를 수신하기까지 대기하며 기다린다.
>unsigned char UART_GetChar(void)
>{
>while((UCSRA & BM(RXC)) == 0);
>return UDR;
>}
>
>// UART를 통하여 한 바이트의 데이터를 송신한다.
>void UART_PutChar(char data)
>{
>while((UCSRA & BM(UDRE)) == 0x00);
>UDR = data;
>}
>
>void UART_Putstring(char *data)
>{
>while(*data)
>{
>UART_PutChar(*data);
>data++;
>}
>}
>
>#define SPI_CS_ASSERT() SPI_PORT_R &= ~BM(SPI_CS)
>#define SPI_CS_DEASSERT() SPI_PORT_R |= BM(SPI_CS)
>
>// SPI 통신 초기화.
>void SPI_Init(void)
>{
>// CS, SCLK, TX - output, RX - input
>SPI_PORT_DIR_R = BM(SPI_CS_DIR) | BM(SPI_SCLK_DIR) | BM(SPI_TX_DIR);
>
>// CS 핀을 high로 설정한다 -> mygyro300SPI의 SPI 모듈 초기화.
>SPI_CS_DEASSERT();
>
>// SPI enable with master mode, CPOL=1, CPHA=0, clk=Fosc/8=1MHz
>SPCR = BM(SPE) | BM(MSTR) | BM(CPOL) | BM(SPR0);
>
>// clk=Fosc/8
>SPSR = BM(SPI2X);
>}
>
>// 16비트로 구성된 명령을 송신하고, 그에따른 return 값을 읽어온다.
>void SPI_Cmd(unsigned int cmd, unsigned int *data)
>{
>SPDR = cmd >> 8; // high byte를 먼저 송신.
>while(!(SPSR & 0x80)); // 송신 완료될때까지 대기.
>*data = SPDR << 8; // 수신된 데이터를 저장. 이 데이터는 high byte이다.
>
>SPDR = cmd & 0xff; // low byte를 송신.
>while(!(SPSR & 0x80)); // 송신 완료될때까지 대기.
>*data |= SPDR; // 수신된 low byte를 저장.
>}
>
>void Tx_Hex1(char bSentData) //16진수 출력을 위한 함수
>{
>char bTmp;
>
>bTmp =((char)(bSentData>>4)&0x0f) + 0X30;
>if(bTmp > '9') bTmp += 7;
>UART_PutChar(bTmp);
>bTmp =(char)(bSentData & 0x0f) + 0X30;
>if(bTmp > '9') bTmp += 7;
>UART_PutChar(bTmp);
>}
>//
>ISR(TIMER0_OVF_vect)
>{
>TCNT0 = 0X83; //256-125=131
>cli();
>}
>
>void timer_init()
>{
>TCCR0 = 0x0B; //CTC mode, CK/64
>OCR0 = 0xff; //255까지 카운터 후 리셋
>TIMSK = 0x01; //오버 플로우 인터럽트 허용
>}
>//
>int main(void)
>{
>unsigned char c, wait_cnt = 0, bTmp;
>int data, temp;
>
>UART_Init(); // UART 초기화.
>SPI_Init(); // SPI 모듈 초기화.
>UART_PutChar('\\f');
>UART_Putstring("통신시작!!!\\n\\r");
>timer_init();
>sei();
>while(1)
>{
>c = UART_GetChar(); // PC에서 명령이 들어올 때 까지 대기.
>if (c == 'r') // 수신된 명령이 'r'이면
>{
>SPI_CS_ASSERT(); // CS를 low로 떨어트려서 SPI 통신 시작.
>SPI_Cmd(0x8310, &data); // myGyro300SPI에서 각속도 값을 읽어온다.
>SPI_CS_DEASSERT(); // CS를 high로 올려주면서 SPI 통신 종료.
>
>data -= (0x800-0x1B);//0x1B는 실측을 통한 오차 보정용 상수
>
>UART_Putstring("각속도 값 : ");
>if(data < 0)
>{
>data = ~data;
>UART_PutChar('-');
>}
>else
>{
>UART_PutChar('+');
>}
>
>Tx_Hex1(data>>8);
>Tx_Hex1(data);
>
>c=0;
>}
>}
>}
>
>어떻게 해야 두개의 인터럽트를 동시에 사용 할 수 있을까요?
>
>제품 이상은 아니지만 그래도 성실한 답변 부탁드립니다
|
||||
| 5669 | 답변완료스테핑 라인트레이서 키트 소스 문의 | 박종원 | 2010-09-08 | 1,134 |
|
안녕하십니까?
AVR 공부를 위해서 스테핑 라인트레이서 키트(KR-SL16)관련 부품 구매를 했습니다.
뉴티씨 부품을 따로 구매를 해서 조립을 했는데 초보라서 프로그램작성 실력 부족으로
사용을 못하고 있습니다. 죄송하지만 소스를 메일로 부탁드립니다.
creation1004@yahoo.co.kt
관리자 답변
안녕하세요? 고객님,
죄송하지만, 현재 판매되는 제품의 예제 소스는 구매시에만 CD에 담겨서 나가고 있습니다.
하지만, 참고하실 수 있는 예제 소스를 보내드리오니, 참고하셔서 작업하시면 되겠습니다.
- 아래 -
http://www.newtc.co.kr/board/zboard.php?id=pds&page=1&select_arrange=headnum&desc=asc&category=&sn=off&ss=on&sc=off&keyword=16&sn1=&divpage=1
수고하세요.
>안녕하십니까?
>AVR 공부를 위해서 스테핑 라인트레이서 키트(KR-SL16)관련 부품 구매를 했습니다.
>뉴티씨 부품을 따로 구매를 해서 조립을 했는데 초보라서 프로그램작성 실력 부족으로
>사용을 못하고 있습니다. 죄송하지만 소스를 메일로 부탁드립니다.
>
>creation1004@yahoo.co.kt
>
|
||||
| 5668 | 답변완료죄송하지만 winavr 4버젼 사용법좀 갈켜주시면 감사하겟습니다. | 제어인 | 2010-09-08 | 1,254 |
|
계속 오류가 떠서 미치겟습니다. 사진은 이러와 같습니다. 씨치고 빌드시키면 이렇게 뜹니다.
관리자 답변
안녕하세요
착각하시듯한데요
winavr 4 << 이런한 툴을 없습니다.
winavr + avr studio 2개툴을 깔아서 사용해야 합니다.
에러내용 컴파일러(winavr)가 없다는 내용같아 보입니다.
winavr + avr studio 깔아서 사용하는 방법은 검색엔진에서 찾아보시면 많이 나와있습니다.
http://search.naver.com/search.naver?where=nexearch&query=winavr+%2B+avr+studio&sm=top_hty&fbm=1
수고하세요
>계속 오류가 떠서 미치겟습니다. 사진은 이러와 같습니다. 씨치고 빌드시키면 이렇게 뜹니다.
|
||||
| 5667 | 답변완료usb-isp 관련 질문입니다. | 강신영 | 2010-09-07 | 1,237 |
|
제 컴퓨터에 프린트 포트가 없어서 usb-isp 살려고하는데
atmega8535랑 호환이 되는지 궁금합니다. 그리고 안된다면 호환되는 제품 추천해주시면 안될까요?
관리자 답변
안녕하세요
USBISP은 8비트 avr 코어를 적용된 모든 디바이스를 지원합니다.
atmega8535도 당연히 적용됩니다.
AD-USBISP-L
AD-USBISP
두제품의 차이는 뉴얼을 보시면 자세히 나와있습니다.
동일한제품이고 변환보드가 추가된 제품이 AD-USBISP입니다.
변환보드가 필요 없으면 AD-USBISP-L 로 사용하시면 됩니다.
수고하세요
>제 컴퓨터에 프린트 포트가 없어서 usb-isp 살려고하는데
>
>atmega8535랑 호환이 되는지 궁금합니다. 그리고 안된다면 호환되는 제품 추천해주시면 안될까요?
|
||||
| 5666 | 답변완료USB미니 모튤사용법. | 윤종혁 | 2010-09-07 | 1,478 |
|
USB 미니 모듈을 구입하였습니다.
홈페이지에서 제공하는 예제로는 사용이 가능한데
Agilent I/O나 National I/O아니면 Agilnet VEE 같은 프로그램으로
GPIO채널을 컨트롤 하고 싶은데 가능한가요??.
혹시 가능하다면 어떻게 사용해야 하는지 알려주세요...
P.s
이 쪽은 문외안이라..
좀 자세한 설명이나 강좌 있으면 알려주세요..
부탁드립니다.
수고하세요..
관리자 답변
안녕하세요
제공되는 예제는 그칩의 드라이버가 있어 i/o 콘트롤이 가능한것입니다.
죄송하지만 칩사에서도 그툴에 제공되는 예제가 없습니다.
그 툴사에 usb 관련된 문의를 해보세요
수고하세요
>USB 미니 모듈을 구입하였습니다.
>홈페이지에서 제공하는 예제로는 사용이 가능한데
>
>Agilent I/O나 National I/O아니면 Agilnet VEE 같은 프로그램으로
>GPIO채널을 컨트롤 하고 싶은데 가능한가요??.
>혹시 가능하다면 어떻게 사용해야 하는지 알려주세요...
>
>P.s
>이 쪽은 문외안이라..
>좀 자세한 설명이나 강좌 있으면 알려주세요..
>부탁드립니다.
>
>수고하세요..
|
||||
| 5665 | 답변완료usbisp요! | 한희주 | 2010-09-05 | 1,281 |
|
아 뉴티시에서 파는 usbisp모듈 사서 avr 실험하다가요
uart4개핀에다가 모르고 6개핀잭을 잘못연결해버렸는데
다시 뺴긴했는데 그 이후로 usbisp에 파랑색불이 안들어오네요...
전원연결하고 컴터에 연결하면 그저 노랑색불만 깜빡깜빡...
그리고 컴퓨터에서도 연결은해도 인식을 못하네요...
어떻게해야하나요;; 아예고장난건가요?
관리자 답변
안녕하세요
ISP 선 6개 를 잘못 연결하면 망기질수도 있습니다.
데에터선인 (SCK,reset,MISO,MOSI) 잘못연결해도 망가지지는 않습니다. 그러나
특히 전원 관련 2선을 잘못연결하면 바로 망가집니다...
A/S 관련링크 입니다.
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=5
수고하세요
>아 뉴티시에서 파는 usbisp모듈 사서 avr 실험하다가요
>
>uart4개핀에다가 모르고 6개핀잭을 잘못연결해버렸는데
>
>다시 뺴긴했는데 그 이후로 usbisp에 파랑색불이 안들어오네요...
>
>전원연결하고 컴터에 연결하면 그저 노랑색불만 깜빡깜빡...
>
>그리고 컴퓨터에서도 연결은해도 인식을 못하네요...
>
>어떻게해야하나요;; 아예고장난건가요?
|
||||
| 5664 | 답변완료atmega128 pro 와 LCD 에 관해서 | 김동환 | 2010-09-03 | 1,314 |
|
안녕하십니까.
이제 atmega128 pro로 시작하는 초보입니다.
LCD를 연결하고 싶은데 호환되는 LCD는 어떤 것들이 있는지 가르켜 주십시오.
AM-SLCD216, AM-SLCD420, AM-SLCD420BL (Serial LCD 4*20 블루 모듈),
Grahpic LCD 모듈 [AM-GLCD-P], TEXT LCD 플러스 모듈 (AM-TLCD-P)
이 모든게 다 되는 것인지 아니면 호환되는 LCD가 따로 있는지요
수고하십시오.
관리자 답변
안녕하세요? 고객님,
저희 뉴티씨 제품을 이용하여 주셔서 감사합니다.
아래에 말씀하신 LCD는 모두 다 사용이 가능합니다.
그리고, 특별히 호환된다 라고 말하는 것은 아닙니다. 어떤 LCD이든지 128로 사용은 가능합니다.
다만, 신호 레벨이나 이런 것들을 맞춰줘야 하는 경우가 있는 것이지요.
텍스트 LCD(또는 Character LCD) 나 STN과 같은 것들은 128 등으로 충분히 제어 가능합니다.
TFT LCD 같은 경우는 컨트롤러를 내장한 모델은 직접 제어 가능하지만,
그렇지 않은 것은 직접 제어하는 것은 쉽지가 않습니다. 좀 더 빠른 클럭을 사용하는 암 프로세서 정도 사용하는 것이 좋겠지요.
본사의 제대로 LCD를 공부해 보고 싶다면, 본사의 128 킷트나 보드를 사용하고, AM-GLCD-P와 AM-TLCD-P 등을 이용하여 공부하는 것을 추천해 드립니다.
수고하세요.
>안녕하십니까.
>
>이제 atmega128 pro로 시작하는 초보입니다.
>
>LCD를 연결하고 싶은데 호환되는 LCD는 어떤 것들이 있는지 가르켜 주십시오.
>
>AM-SLCD216, AM-SLCD420, AM-SLCD420BL (Serial LCD 4*20 블루 모듈),
>Grahpic LCD 모듈 [AM-GLCD-P], TEXT LCD 플러스 모듈 (AM-TLCD-P)
>이 모든게 다 되는 것인지 아니면 호환되는 LCD가 따로 있는지요
>
>수고하십시오.
|
||||
| 5663 | 답변완료질문이요 | 송명선 | 2010-09-03 | 1,414 |
|
현재 학교에서 RFID를 이용하여 졸작을 작업하고 있는데
코드비젼에서 같은 소스로 ab-m128-b와 am-128pro를 사용하고 있습니다.
ab-m128-b에서는 max232칩이 없어서 rs232케이블에 max232칩이 부착된걸 사용하여 원하는 결과값을 얻었는데 am-128pro에서는 max232칩이 있어서 rs232케이블만 구매하여 사용을 하였더니
결과값이 달랐습니다.
작동원리는 rfid리더기를 uart1에 연결하고 pc에는 uart0에 연결하여 38400bps로 동일화 시켰고 데이터비트는 8bit, parity는 없고 정지비트를 1로 설정하였습니다.
저희가 원하는 결과값은 ascii가 4바이트씩 전송이 되서 pc로 출력이 되는데 ab-m128-b에서는 제대로 나오는 반면 am-128pro에서는 1바이트씩 밀려서 나온다는 결과를 얻었습니다.
저희쪽의 실수일수도 있어서 am-128pro를 하나더 구매하여 실험을 해봐도 이전과 같은 결과가 나오는데 어떤 문제때문에 그런지 답변좀 바랍니다.
관리자 답변
안녕하세요? 고객님,
저희 뉴티씨 제품을 이용하여 주셔서 감사합니다.
그런 것으로 한바이트씩 밀린 다는 것은 있을 수 없습니다.
뭔가 다른 이유가 있을 것으로 생각됩니다.
128PL과 128PRO와의 차이는 단순히 max232의 사용 유무인데, 달라질 것이 없습니다.
다른 이유를 찾아 보시는 것이 좋겠습니다.
같은 소스로 그렇게 된다는 것은....참으로 이상한 일입니다.
본사 회로에 특별히 다른 것은 없습니다.
수고하세요.
>현재 학교에서 RFID를 이용하여 졸작을 작업하고 있는데
>코드비젼에서 같은 소스로 ab-m128-b와 am-128pro를 사용하고 있습니다.
>ab-m128-b에서는 max232칩이 없어서 rs232케이블에 max232칩이 부착된걸 사용하여 원하는 결과값을 얻었는데 am-128pro에서는 max232칩이 있어서 rs232케이블만 구매하여 사용을 하였더니
>결과값이 달랐습니다.
>
>작동원리는 rfid리더기를 uart1에 연결하고 pc에는 uart0에 연결하여 38400bps로 동일화 시켰고 데이터비트는 8bit, parity는 없고 정지비트를 1로 설정하였습니다.
>저희가 원하는 결과값은 ascii가 4바이트씩 전송이 되서 pc로 출력이 되는데 ab-m128-b에서는 제대로 나오는 반면 am-128pro에서는 1바이트씩 밀려서 나온다는 결과를 얻었습니다.
>
>저희쪽의 실수일수도 있어서 am-128pro를 하나더 구매하여 실험을 해봐도 이전과 같은 결과가 나오는데 어떤 문제때문에 그런지 답변좀 바랍니다.
|
||||
| 5662 | 답변완료코드비전에서 약간 개작하는 법이 없나요? | 전인종 | 2010-09-03 | 1,335 |
|
안녕하세요?
AD-USP-ISP로 ATMEGA168P를 사용하려는데요 ATMEGA128프로그램밖에 없더라구요
약간 고쳐서 다른 이름으로 사용하려는데 어렵네요.. 사용프로그램은 코드비전이고요
다른 DIR로 복사하여 개작하려는데 잘안되더라구요.. 하는방법좀 가르처 주시면 고맙겠습니다....
관리자 답변
안녕하세요
본사에서 판매되는 킷트들의 예제입니다.
다른 디바이스로 수정하여 드리지는 않습니다.
두 디바이스의 헤더를 에서 공용으로사용하는 레지스터와 아니 레지스터와
구분하여 고쳐야합니다.
컴파일러별 UART 강좌가 아래에 있는 데, 참고가 좀 되지 않을까 싶습니다.
자료실->기존자료실에서 코드비전 이나 codevision 으로 검색하면 각각 예제들이 좀 나올 건데요. 128용이긴 하지만, 참고가 될 것 같네요.
- 아래 -
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=101
수고하세요
> 안녕하세요?
>AD-USP-ISP로 ATMEGA168P를 사용하려는데요 ATMEGA128프로그램밖에 없더라구요
>약간 고쳐서 다른 이름으로 사용하려는데 어렵네요.. 사용프로그램은 코드비전이고요
>다른 DIR로 복사하여 개작하려는데 잘안되더라구요.. 하는방법좀 가르처 주시면 고맙겠습니다....
|
||||
| 5661 | 답변완료AT91SAM7S64 키트를 이용해 인터럽트를 테스트 했는데요... | 이성윤 | 2010-09-03 | 1,355 |
|
AT91SAM7S64키트(SM-SAM7S64-A)를 구입해서 공부중입니다.
인터럽트를 테스트 해봐았는데요
키트에 보면 LED 는 PA2라고 써있고, BUTTON에는 PA31로 적혀있더군요.
그래서 버턴을 누르면 LED가 꺼졌다 켜졌다 하게 하려고 다음과 같이 프로그램 했는데,
버턴이 전혀 않먹습니다.
PA30버턴도 사용해 봤는데 마찬가지입니다.
LED는 테스트 해보니 이상없었습니다.
그리고,또한가지는 이상하게 FRMWARE를 심고나서 돌려보면
한 30초 정도 지나면 보드가 재부팅 됩니다.
(MAIN 시작부분에 깜박이게 하는 코트를 넣어 놓았는데, 30 초 지나면 다시 깜박입니다.)
아무리 봐도 소스에는 문제가 없는거 같은데,,
소스 검토를 부탁드립니다.
#include "board.h"
#define LED AT91C_PIO_PA2
#define BUTTON AT91C_PIO_PA31
void delay(long i)
{
int j ;
while(i--)
{
j=5;
while(j--) ;
};
}
main()
{
unsigned int i,j ;
AT91F_PMC_EnablePeriphClock ( AT91C_BASE_PMC, 1 << AT91C_ID_PIOA ) ;
//
AT91F_PIO_CfgOutput(AT91C_BASE_PIOA,LED) ;
AT91F_PIO_ClearOutput(AT91C_BASE_PIOA,LED) ;
//시작할때 깜박이게
AT91F_PIO_SetOutput(AT91C_BASE_PIOA,LED) ;
delay(100) ;
AT91F_PIO_ClearOutput(AT91C_BASE_PIOA,LED) ;
delay(100) ;
AT91F_PIO_SetOutput(AT91C_BASE_PIOA,LED) ;
delay(100) ;
//버턴을 INPUT으로 설정
AT91F_PIO_CfgInput(AT91C_BASE_PIOA, BUTTON ) ;
// AT91F_PIO_CfgPullup(AT91C_BASE_PIOA, BUTTON) ;
while(1)
{
i=AT91F_PIO_GetInput(AT91C_BASE_PIOA)& BUTTON ;
if(i==0)
AT91F_PIO_SetOutput(AT91C_BASE_PIOA,LED) ;
else
AT91F_PIO_ClearOutput(AT91C_BASE_PIOA,LED) ;
delay(100) ;
}
}
관리자 답변
안녕하세요
어떤 컴파일러를 사용하는지 모르겠지만
iar 컴파일 경우 안에 at91sam7sxx 관련예제가 다들어있습니다.
거기서 참고 하는것이 좋습니다.
소스를 확인해 드리지는 않습니다.
초기화루팅을 전부 셋팅하시길 바랍니다.
수고하세요
>AT91SAM7S64키트(SM-SAM7S64-A)를 구입해서 공부중입니다.
>
>인터럽트를 테스트 해봐았는데요
>키트에 보면 LED 는 PA2라고 써있고, BUTTON에는 PA31로 적혀있더군요.
>그래서 버턴을 누르면 LED가 꺼졌다 켜졌다 하게 하려고 다음과 같이 프로그램 했는데,
>버턴이 전혀 않먹습니다.
>PA30버턴도 사용해 봤는데 마찬가지입니다.
>LED는 테스트 해보니 이상없었습니다.
>
>그리고,또한가지는 이상하게 FRMWARE를 심고나서 돌려보면
>한 30초 정도 지나면 보드가 재부팅 됩니다.
>(MAIN 시작부분에 깜박이게 하는 코트를 넣어 놓았는데, 30 초 지나면 다시 깜박입니다.)
>아무리 봐도 소스에는 문제가 없는거 같은데,,
>
>소스 검토를 부탁드립니다.
>
>
>
>#include "board.h"
>#define LED AT91C_PIO_PA2
>#define BUTTON AT91C_PIO_PA31
>
>void delay(long i)
>{
> int j ;
> while(i--)
> {
> j=5;
> while(j--) ;
> };
>}
>
>main()
>{
> unsigned int i,j ;
> AT91F_PMC_EnablePeriphClock ( AT91C_BASE_PMC, 1 << AT91C_ID_PIOA ) ;
>
>//
> AT91F_PIO_CfgOutput(AT91C_BASE_PIOA,LED) ;
> AT91F_PIO_ClearOutput(AT91C_BASE_PIOA,LED) ;
>
> //시작할때 깜박이게
> AT91F_PIO_SetOutput(AT91C_BASE_PIOA,LED) ;
> delay(100) ;
> AT91F_PIO_ClearOutput(AT91C_BASE_PIOA,LED) ;
> delay(100) ;
> AT91F_PIO_SetOutput(AT91C_BASE_PIOA,LED) ;
> delay(100) ;
>
> //버턴을 INPUT으로 설정
> AT91F_PIO_CfgInput(AT91C_BASE_PIOA, BUTTON ) ;
> // AT91F_PIO_CfgPullup(AT91C_BASE_PIOA, BUTTON) ;
> while(1)
> {
> i=AT91F_PIO_GetInput(AT91C_BASE_PIOA)& BUTTON ;
> if(i==0)
> AT91F_PIO_SetOutput(AT91C_BASE_PIOA,LED) ;
> else
> AT91F_PIO_ClearOutput(AT91C_BASE_PIOA,LED) ;
> delay(100) ;
> }
>}
|
||||
| 5660 | 답변완료AT91SAM7S256 제품문의 | 김석호 | 2010-09-02 | 1,306 |
|
안녕하십니까.
다름이 아니오라 암키트 에뮬레이터 H-JTAG (USB)또는 JeLink V8(USB) 등 사용가능한가요.
그리고 판매중인 주변 입출력 모듈사용이 가능 하지요.
관리자 답변
안녕하세요
h-jtag은 사용가능합니다.
JeLink V8(USB) ?? 구입하려는 곳에 문의 하시는것이 빠른듯합니다.
타겟 디바이스를 지원하는지를 확인하시고 사용하세요
판매하는 입출력 모듈을 사용이 가능합니다.
수고하세요
>안녕하십니까.
>
>다름이 아니오라 암키트 에뮬레이터 H-JTAG (USB)또는 JeLink V8(USB) 등 사용가능한가요.
>그리고 판매중인 주변 입출력 모듈사용이 가능 하지요.
|
||||
| 5659 | 답변완료AD-USBISP V03 드라이버 설치문의 | 임제민 | 2010-09-02 | 1,275 |
|
AD-USBISP V03 드라이버 설치하고 재부팅 해도 계속 설치 오류가 나네요.
사진은 이름순으로 보시면 됩니다. 상황을 설명하기 어려워 첨부해서 올립니다.
관리자 답변
안녕하세요? 고객님,
혹시, 윈도우 버전이 어떻게 되시나요?
XP인데 그런 경우라면, 자료실에서 USBISP V03 문제발생시 드라이버를 깔아 보세요.
안되시면, 다시 남겨 주시기 바랍니다.
감사합니다.
> AD-USBISP V03 드라이버 설치하고 재부팅 해도 계속 설치 오류가 나네요.
>
> 사진은 이름순으로 보시면 됩니다. 상황을 설명하기 어려워 첨부해서 올립니다.
|
||||
