nickita startcev (nicka_startcev) wrote,
nickita startcev
nicka_startcev

i2c, неожиданное.

столкнулся с забавным. на обычном и2ц адреса 7-битные, а 8й (младший, если смотреть осциллограмму передачи в картинке в даташите) бит адреса используется как чтение/запись при адресации. итого, 7 бит адреса можно считать с или без учета вот этого младшего.

на псевдокоде, сканирование всей и2ц шины можно описать двумя способами:
// сканируем 1, 2, 3, 4, ... 127
void scan1()
{
  for(adr=1;adr<0x80;adr++)
    CheckDevice(adr);
}

// сканируем 2,4,6,8,10,12..254
void scan2()
{
  for(adr=2;adr<0x100;adr+=2)
    CheckDevice(adr);
}



и, вот, какого-то фига нет единой договоренности, а как именно описывать адреса и сканировать. в некоторых сборных солянках даже бывает вперемешку - у части устройств адреса указаны как 1..127, а у части - 2..254.
Subscribe

  • (без темы)

    если подумать, если с нуля при современных возможностях спроектировать а не по мелочи подпатчить, то очень многое в жизни станет резко дешевле и…

  • а вот я бы, если бы был вчера таким умным как ?? сегодня..

    а вот любопытно. допустим, вы попали в на 20-30-40-50 лет назад. помните-знаете про пейсбук, ютуб, жж и прочие блоги. как бы вы описали тенденции и…

  • электрофобийное

    внезапно, я боюсь стандартного напряжения 220/240в. осмысленно боюсь. оно неприятно бьёт и рикошетит дергающимися мышцами. итого, при любом…

  • Post a new comment

    Error

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

    When you submit the form an invisible reCAPTCHA check will be performed.
    You must follow the Privacy Policy and Google Terms of use.
  • 2 comments