디시인사이드 갤러리

갤러리 이슈박스, 최근방문 갤러리

갤러리 본문 영역

횽들 혹시 RFID랑 코드비전쪽 잘하는횽 있어?

최어른갤로그로 이동합니다. 2011.09.05 17:36:19
조회 665 추천 0 댓글 3

졸업작품중인데 진짜 와 이것만 하면 끝인데

여기서 정말 안나가네

도움 좀 줄 횽 없나여

이거 해결하면 사례도 해줄게....

문제는 RFID로 Tag를 인식하긴 하는데

Tag를 구분을 못해 ㅠㅠㅠㅠㅠㅠ 뭐가 문제인걸까?

RFID는 펌시스꺼 RFID Demo Kit II야

#include <mega128.h>
#include <stdio.h>
#include <math.h>

       
char tag1[12]={0x0C,0x00,0x00,0x93,0xA0,0x61,0x1C,0x00,0x01,0x04,0xE0,0xFF};
char tag2[12]={0x0C,0x00,0x00,0x2E,0xDF,0xA8,0x4B,0x00,0x01,0x04,0xE0,0xFF};
char tag3[12]={0x0C,0x00,0x00,0xFC,0xA5,0xA8,0x4B,0x00,0x01,0x04,0xE0,0xFF};
//char arr1[5]={0x05,0x26,0x01,0x00,0xFF};  
char arr1[5] = {0x05, 0x02, 0x20, 0x1b, 0xff}; 
void init_SERIAL0(void);
void init_SERIAL1(void);    
//char H2hex[]={\'0\',\'1\',\'2\',\'3\',\'4\',\'5\',\'6\',\'7\',\'8\',\'9\',\'A\',\'B\',\'C\',\'D\',\'E\',\'F\'};
//char L2hex[]={\'0\',\'1\',\'2\',\'3\',\'4\',\'5\',\'6\',\'7\',\'8\',\'9\',\'a\',\'b\',\'c\',\'d\',\'e\',\'f\'};
char   test_val  ;
char save_buff[7];
int ys;
int cnt;       
int i;
int save_f;  
int j;         
unsigned int value, won, total;
 
char hex[]="0123456789ABCDEF"; 
unsigned char put = \'1\';
       
void putch0(unsigned char data);             
       
       
interrupt [TIM0_OVF] void time0(void);
//interrupt [USART1_RXC] void usart1_rx_isr(void);
int selectedSeg;   

//void TX0_CHAR(char Sdata) {while(!(UCSR1A&0x20)); UDR1=Sdata; }
//char RX0_CHAR(void){ while(!(UCSR1A&0x80)); return UDR1; } // 수신함수
       
void putch_RF(unsigned char data){        // RFID
        while(!(UCSR1A & 0x20));
        UDR1 = data;        
        UCSR1A |= 0x20;
}
char getch_RF(void){                      // RFID
        while(!(UCSR1A & 0x80));
        return UDR1;
}
       
void putch0(unsigned char data){          // 블루투스
        while(!(UCSR0A & 0x20));
        UDR0 = data;      
        UCSR0A |= 0x20;
}
           
char getch0(void){                        // 블루투스
        while(!(UCSR0A & 0x80));
        return UDR0;
}
         
      
void USART_SendData(void){
        char i;         

              
        for (i=0;i<5;i++)
                putch_RF(arr1[i]);   
        put=getch_RF();      // 이 부분이 꼭 필요함!!! 출력 해 보면  W 가 출력됨

}
       
/*
interrupt [USART1_RXC] void usart1_rx_isr(void){       // 수신 인터럽트
        char rd;
        rd=UDR1;
        putch_RF(H2hex[rd>>4]);
        putch_RF(L2hex[rd&0x0F]);
}
*/
/*  /////////요걸 주석처리 해도 프로그램이 잘 돌아간다 무슨 이유일까 필요없는건가..ㅠ            
interrupt [USART1_RXC] void usart1_rx_isr(void){           // RFID 수신 인터럽트
        unsigned char data;   
        //RX0_CHAR();
        // USART_SendData();
        data=UDR1;  
        //TX0_CHAR(hex[data>>0x04]);
        //TX0_CHAR(hex[data &0x0F]);
        putch_RF(hex[data>>0x04]);
        putch_RF(hex[data &0x0F]);
       
}*/
       
       
void init_SERIAL0(void){
        DDRE = 0xff; 
        // 블루투스로 확인할 때는 블루투스 꽂아서 사용하고
        // 하이퍼터미널로 확인할 때는 하이퍼 터미널 꽂아서 사용
        // 각각 주석 처리로 사용 가능 하이퍼 터미널은 11500??사용
        // UCSR0A=0x00;   UCSR0B=0x18;  UCSR0C=0x06; UBRR0H=0x00;  UBRR0L=0x67; //블루투스
         UCSR0A=0; UCSR0B=0x18; UCSR0C=6; UBRR0H=0; UBRR0L= 8; //하이퍼터미널
       
}                                 
       
void init_SERIAL1(void){
        DDRE=2;
        UCSR1A=0; 
        UCSR1B=0x18;
        UCSR1C=6;
        UBRR1H=0;
        UBRR1L=25;
}
       
       
       
interrupt [TIM0_OVF] void time0(void){      //블루투스 수신 인터럽트
        TCNT0 = 0x06;
       
        if(selectedSeg == 4)
                selectedSeg = 0;
        selectedSeg++;
}

/* ////////////////요것두 지웠는데 잘 됨 ㅠㅠ          
void RFID_Wait(void){
        int i;   
        char data;
        for(i=0;i<5;i++){
                // putch0(TX0_CHAR(arr1[i]));       
                // putch0(putch_RF(arr1[i])); //최근?
       
        }
              
}        
*/
                  
void _delay_ms(unsigned int ms){
        unsigned int i;
        while(ms--){
                i=2727;
                while(i--);
        }
}
       
void main(){
       
        init_SERIAL0();
        init_SERIAL1(); 
        DDRA=0xFF;
        DDRF=0xFF;
        DDRB=0xFF; 

        /*
        while(1){
                // RFID_Wait();
                _delay_ms(1000);  
                USART_SendData();                                         
        }
        */
     
        while (1) {           
                // if(SW1 == 0) { //스위치 눌렀을때 명령어 보냄 
                        // while(SW1 == 0);  
                        // _delay_ms(500);
                        USART_SendData();
                        /*for (i=0;i<5;i++)
                                putch_RF(arr1[i]); */    
                        test_val = getch_RF();
                // }               
               
                if(test_val == 0x07) {  // Read single block 데이터 첫자리 확인
                                        // 카드가 인식되면 이 쪽으로 들어와서 처리
                        save_buff[0] = 0x07;
                        cnt = 1;
                        save_f = 1;    
                       
                            
                } else if(test_val == 0x05) {   // Error 일때
                                                // 카드를 대고 있지 않을 때 이 쪽으로 들어와서 처리
                        save_buff[0] = 0x05;  
                        cnt = 3;
                        save_f = 1;
                       
                }

                if(save_f == 1) { // 데이터 받아서 저장, 표시
                        test_val = getch_RF();                
                        save_buff[cnt++] = test_val;           
                        if(save_buff[0] != 0x05 && cnt >= 3 && cnt <= 6) {
                                if(cnt == 3) { // 한번만 출력 

                                        //여기에서 출력을 함
                                        //putch0(ys); //오케이!!!!!!!!!!  
                                       
                                        //내 생각에는 getch_RF()에서 받아오는 값이 태그값 같은데
                                        //test_val의 값이 뭔지 알면 if문으로 만약에 값이 0x02이면 putch0()으로 2를 출력하면 될것 같아
                                        //지금은 putch0()으로는 한 자리 밖에 출력이 안되는데 getch_RF()값이 아마 00 00 00 00 02 이런식이라서
                                        //출력도 안되는 거 같고 ㅠㅠ
                                        /*for(i=2, j=6; i<6; i++, j-=2)
                                        {
                                                value = rfid_rx[i]*pow(16,j);   // Read single block을 10진화
                                                won += value;
                                        }
                                        total += won;*/
                                        //이런식으로 10진화 하는 방법이 있던데 당근이에서
                                        //"RFID와 Atmaga128 통신좀 봐주세요~"라고 치면 블루마린이 작성한 글에 있는 내용이야

                                       
                                        putch0(\'2\');
                                       
                                }
   
                                //  sprintf(lcd_buff, "%02x ", test_val);
                                //  lcd_puts(lcd_buff);
                        } else if(save_buff[0] == 0x05) {   
                                //putch0(\'1\'); //에러났을 때

                        }           

                        if(cnt >= 7) { // 초기화
                                cnt = 0;
                                save_f = 0;         
                                test_val = 0;
   
                                //putch0(save_buff[5]);
     
                                _delay_ms(100);
       
                                //  lcd_clear();
                                //  lcd_gotoxy(0 ,0);
                                //
                                //   lcd_putsf("RFID Test");
                        }
                }

        }
}

 

// 카드를 가져다 대면 삐 소리와 함께 빨간 불이 깜빡임
// 하이퍼 터미널에서 확인 하였을 때 인식되면 getch_RF의 값과 0이 출력
// getch_RF값을 putch0로 출력하지 않으면 RFID가 동작하지 않음

추천 비추천

0

고정닉 0

0

댓글 영역

전체 댓글 0
등록순정렬 기준선택
본문 보기

하단 갤러리 리스트 영역

왼쪽 컨텐츠 영역

갤러리 리스트 영역

갤러리 리스트
번호 제목 글쓴이 작성일 조회 추천
설문 연예인 안됐으면 어쩔 뻔, 누가 봐도 천상 연예인은? 운영자 24/06/17 - -
공지 프로그래밍 갤러리 이용 안내 [71] 운영자 20.09.28 35669 62
2714685 서비스 스타텁 기술력에 왤케 집착하냐 프갤러(172.226) 17:17 1 0
2714684 나 국비듣고있는데 한반에6명있는데 이거얼마나적은거냐 [3] 프갤러(118.235) 17:14 12 0
2714683 지난달 술값만 130만원 나간 게 좀 크네 [9] 아스카영원히사랑해갤로그로 이동합니다. 17:09 24 0
2714682 저녁간식추천좀 프갤러(112.165) 17:06 6 0
2714681 똑같이 생긴 옷으로 갈아입는 건 괜찮지? [14] 프갤러(110.13) 17:06 34 0
2714680 지능이낮고얼굴이빻아서애를안낳는게아니고 보법E노무현갤로그로 이동합니다. 17:03 13 0
2714679 애를 안낳는 이유로 지능이 낮아서 얼굴이 빻아서 그렇다는데 류류(110.70) 17:01 9 0
2714678 지능 낮고 얼굴 빻았으면 죽는게 낫지 ㅇㅅㅇ 류류(110.70) 17:00 6 0
2714677 5번이 잖아 빡대가리야 ㅇㅅㅇ 류류(118.235) 16:55 19 0
2714676 가을에 방콕으로 튄다. [8] 코딩낭인(211.234) 16:53 55 0
2714675 국비학원 옷 고민 [26] 프갤러(110.13) 16:51 80 0
2714673 코딩테스트 끝 ㅇㅇ(115.138) 16:40 26 0
2714672 위헌적인 선거구 획정 탓에 국민의힘 과대 대표 발명도둑잡기갤로그로 이동합니다. 16:33 9 0
2714671 오늘 일과 끝 아스카영원히사랑해갤로그로 이동합니다. 16:32 10 0
2714670 진짜 수학은 재능인가... [2] 김도연24갤로그로 이동합니다. 16:31 29 0
2714669 누가 심리전 확성기 방송을 중단시켰나? 발명도둑잡기갤로그로 이동합니다. 16:29 12 0
2714668 대학은 [9] HKSJng(211.106) 16:28 68 0
2714667 에로한 미소녀 여자아이 추천좀 ㅇㅅㅇ 류류(118.235) 16:26 11 1
2714666 개발자 해야하는사람은 ㅇㅇ갤로그로 이동합니다. 16:25 30 0
2714665 Rx Chat Gpt 코드 변환중 [3] 프갤러(121.172) 16:16 38 2
2714664 사장님한테 오늘 5시 반 저녁 뭐 사달라고 할까 [5] 주아갤로그로 이동합니다. 16:10 26 0
2714663 죽고싶다 벌써 4시가 넘었다 주아갤로그로 이동합니다. 16:10 13 0
2714662 나 이정도면 개발자로 소질있어??? 프갤러(14.39) 16:09 35 0
2714661 한국은 왜 강제로 남한테 일해라하는사람이 많은거임?? 뒷통수한방(1.213) 16:04 23 0
2714660 피해자 1만6000명 KAIST 세권 고슈(211.40) 16:04 12 0
2714659 인천 세관이 해외 마약 조직원들의 마약 밀수를 도왔다는 의혹을 수사 중인 KAIST 세권 고슈(211.40) 16:01 15 0
2714658 개발자 뽕만 차이는 놈 어떻게 대응하냐 [3] 프갤러(106.101) 16:00 43 2
2714657 대학가는건 병신인데 [4] 프갤러(180.68) 15:53 61 0
2714656 국비 4주차 개인 프로젝트 받았는 프로젝트 이거 하면 괜찮을까? [4] 프갤러(14.39) 15:50 50 0
2714655 지금시기대학가는건 진짜병신이지 [12] 프갤러(112.165) 15:49 70 0
2714654 너네 영화관가서 영화보냐?? 난 영화관 VIP유지할라고 존나보는데 ㅇㅇ(123.213) 15:49 13 0
2714653 권고사직 부탁했는데 거절 당함... [2] ㅇㅇ(223.38) 15:48 50 0
2714652 외장하드에 게임 많다고 컴퓨터 느려지기도 하냐 라그네파갤로그로 이동합니다. 15:46 15 0
2714649 Ai발전해서도태되면 [3] 프갤러(112.165) 15:42 36 0
2714647 싸피 5번 떨어졌는데 그냥 IT 쪽 하지 말까 [4] 프갤러(112.150) 15:39 86 0
2714646 Rx Chat GTP 홈페이지 프갤러(121.172) 15:38 41 1
2714645 안드로이드 앱개발 3개월정도 공부했는데 인강이나 국비교육 추천좀요 [1] 프갤러(1.246) 15:37 30 0
2714644 오늘의 발명 실마리: 모종 트레이의 높이 조절 가능한 수경 재배기 발명도둑잡기갤로그로 이동합니다. 15:35 11 0
2714643 MSSQL > MYSQL 마이그레이션 해보신 분 있으신가요? [1] 프갤러(210.126) 15:31 24 0
2714641 싸피 12기 결과 나왔데요. ㅇㅇ(211.49) 15:24 56 0
2714640 지방에 mes C# 뭐하는거임? [5] ㅇㅇ갤로그로 이동합니다. 15:24 68 0
2714639 님들 저 sm업무? 중인데 괜찮은거임? [17] ㅇㅇ(106.102) 15:22 83 0
2714638 휴머노이드 만드는 즉시 그낭 모든직업 사라진다보셈 [3] Pack갤로그로 이동합니다. 15:22 41 0
2714637 대학 4년 군대 2년이면 도태당하기 충분함 [1] ㅇㅇ갤로그로 이동합니다. 15:21 49 0
2714636 지금시기에 대학가지마라 [12] 프갤러(112.165) 15:20 67 0
2714635 죽자!!!! 주아갤로그로 이동합니다. 15:19 20 0
2714634 출근 늦게해서 혼남 [2] 주아갤로그로 이동합니다. 15:18 30 0
2714633 HTML css배우는중 [2] 프갤러(112.165) 15:18 39 0
2714632 아잇씻팔그냥뭘자꾸씨발ai가대체하면어쩌냐고피를싸 [6] 보법E노무현갤로그로 이동합니다. 15:14 56 0
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

뉴스

디시미디어

디시이슈

1/2