통신 > AT24C256 시리얼 EEPROM - 9. ack 신호 확인

TODAY18,290 TOTAL6,610,285
사이트 이용안내
Login▼/회원가입
최신글보기 질문게시판 기술자료 동영상강좌

아두이노 센서 ATMEGA128 PWM LED 초음파 AVR 블루투스 LCD UART 모터 적외선


BASIC4MCU | 통신 | I2C-IIC,TWI | AT24C256 시리얼 EEPROM - 9. ack 신호 확인

페이지 정보

작성자 키트 작성일2017-09-01 10:52 조회2,727회 댓글0건

본문

 

3660040649_yGg98sWF_20131226-1.JPG3Ftype3Dw740
 


void main(void){
    PORTD.2=1;  DDRD.2=1; //wp
    Wr_randum(0,0);
    while(1){}

}

 

1바이트 쓰기 예제로 테스트한 파형입니다.

 

제일 위 사진은 24LC256을 연결하지 않은 상태에서 AVR출력 파형을 측정한 것이고

가운데 사진은 24LC256을 연결하고 측정한 파형입니다.

3번째 사진의 적색 부분은 슬레이브(24LC256)가 응답한 ACK 신호입니다.

 

아래 강좌 3. Acknowledge 글의 사진과 비교 해보세요

3660040649_hogX4Y1d_IIC-6.PNG3Ftype3Dw740

 

 

 


void eeprom_write(char d){
    char i;
    for(i=0;i<8;i++){
        if(d&(0x80>>i))SDA_hi; else SDA_lo;
     eeprom_clock();   
    }
    eeprom_nack();
}

 

1바이트를 시프트 해서 출력하는 eeprom_write(() 함수에서

마지막에 nack() 신호를 주는 것은 nack를 주려고 한 것이 아니고

슬레이브의 ACK를 받기 위해서 I2C 버스를 release 시키려고 high를 출력한 것입니다.

 

 

//-------

 

3660040649_zCLh1oky_20131226-3.jpg3Ftype3Dw740

 


void main(void){
    PORTD.2=1;  DDRD.2=1; //wp
    Rd_Sequential(0,2);
    while(1){} 
}

연속으로 두바이트를 읽을 때의 파형 중에서 뒷부분입니다.

 

댓글 0

조회수 2,727

등록된 댓글이 없습니다.

통신HOME > 통신 > 전체 목록

게시물 검색

2022년 1월 2월 3월 4월 5월 6월 7월 8월 9월 10월 11월 12월
2021년 1월 2월 3월 4월 5월 6월 7월 8월 9월 10월 11월 12월
2020년 1월 2월 3월 4월 5월 6월 7월 8월 9월 10월 11월 12월
2019년 1월 2월 3월 4월 5월 6월 7월 8월 9월 10월 11월 12월
2018년 1월 2월 3월 4월 5월 6월 7월 8월 9월 10월 11월 12월
Privacy Policy
MCU BASIC ⓒ 2020
모바일버전으로보기