Ȥ½Ã ESP32¸¦ i2c slave ·Î ½á º¸½Å ºÐ °è½Å°¡¿ä?

isaiah   
   Á¶È¸ 2497   Ãßõ 0    

  제조사 재공 i2c 슬레이브 드라이버가

 마스터의 전송 종료 비트를 같은걸 따로따로 알려주지 않고 받은 내용을 줄줄이 RX 버퍼에

 보넬 내용을 줄줄이 TX에 넣는 식으로 만들어져 있던데..


 드라이버내의 인터럽트 처리 루틴에 I2C_INTR_EVENT_TRANS_DONE 같은 인터럽트 타입을 확인하는 부분이 있고

 마스터 쪽은 이걸 구분해서 따로 처리하는데..

 슬래이브 쪽은 I2C_INTR_EVENT_TRANS_DONE 을 따로 구분하지 않고 하드웨어 i2c의 퍼버가 가득찾을 와 마찬가지로 그냥 매모리에 복사하고 버퍼를 비워주는 루틴을 돌리던데...

 이게 그냥 드라이버를 덜(?)만들어서 그런걸까요?

 아니면 하드웨어 특성상 슬래이브 쪽은 I2C_INTR_EVENT_TRANS_DONE 플레그가 의미가 없는 걸까요?

 하드웨어 특성인가 하고 데이터 시트도 살짝 봤는데 자세하지가 않아서요...

ªÀº±Û Àϼö·Ï ½ÅÁßÇÏ°Ô.


QnA
Á¦¸ñPage 731/5686
2015-12   1519617   ¹é¸Þ°¡
2014-05   4983589   Á¤ÀºÁØ1
2018-12   2542   Wnahd
2021-11   2542   osthek83
2019-02   2542   Á¦·Î¼¶
2021-02   2542   ·¹¹ÝÅͽº
2020-04   2543   ¹äÇѳ¢
2021-03   2543   À嵿°Ç2014
2022-12   2543   NiteFlite9
2023-08   2543   ¸»¹ú
2018-12   2543   ¹éµÎ»ê
2023-01   2543   ¶¥ÀïÀÌ
2020-05   2543   FreeBSD
2020-05   2544   »ßµ¹À̽½ÇÄÀÌ
2019-03   2544   kcy72o8R
2021-10   2544   °ø¹é±â
2019-08   2544   µà¾ó¸Ç
2020-07   2544   VSPress
2021-07   2544   ÇູÇϼ¼
2021-02   2545   INMD
2019-02   2545   Fireyoon
2021-10   2545   ´ÃÆĶõ