Command byte в случае рассматриваемого датчика - это адрес его конфигурационного регистра, куда мы пишем настройки датчика температуры. В общем же случае - после старта и адреса слева, согласно методике TWI протокола, по линии мастером всегда передается адрес регистра слейва (этих регистров может быть больше одного, например у гироскопа-акселерометра mpu6050 их чёртова уйма), куда мастер будет писать биты (если выставлен признак записи после адреса слейва) или откуда будет читать биты (если выставлен признак чтения после адреса слейва). Короче в данном случае command byte - это либо конфигурационный регистр датчика температуры, либо предельные значения температуры, на которые должен срабатывать датчик. Вот, надеюсь, что стало немного понятнее.
Command byte в случае рассматриваемого датчика - это адрес его конфигурационного регистра, куда мы пишем настройки датчика температуры. В общем же случае - после старта и адреса слева, согласно методике TWI протокола, по линии мастером всегда передается адрес регистра слейва (этих регистров может быть больше одного, например у гироскопа-акселерометра mpu6050 их чёртова уйма), куда мастер будет писать биты (если выставлен признак записи после адреса слейва) или откуда будет читать биты (если выставлен признак чтения после адреса слейва). Короче в данном случае command byte - это либо конфигурационный регистр датчика температуры, либо предельные значения температуры, на которые должен срабатывать датчик. Вот, надеюсь, что стало немного понятнее.
Вроде бы в c массив заканчивается NULL (после последнего элемента резервируется еще 1 байт), поэтому можно не передавать длину. Поправьте, если не прав
Когда я передаю массив в функцию, я могу передать только адрес его первого элемента (указатель на массив) и в этом случае, у функции нет шансов узнать сколько байт занимает массив, поэтому мне нужно передать ещё и его длину, иначе есть шанс влезть в область памяти, не касающуюся интересующего нас массива. Массив типа строка заканчивается признаком конца строки ‘\0’, а массив вещественных чисел не имеет признака конца, насколько мне известно.
Можно питать их от разного питания, если например одной микросхеме нужно 5 вольт, другой - 3.3 и так далее, но земля должна быть у всех компонентов, включая микроконтроллер, общая.
Спасибо за видео. Отличный канал.
Зачем нужен command byte? Он всегда 1 или это указание на инструкцию?
Command byte в случае рассматриваемого датчика - это адрес его конфигурационного регистра, куда мы пишем настройки датчика температуры. В общем же случае - после старта и адреса слева, согласно методике TWI протокола, по линии мастером всегда передается адрес регистра слейва (этих регистров может быть больше одного, например у гироскопа-акселерометра mpu6050 их чёртова уйма), куда мастер будет писать биты (если выставлен признак записи после адреса слейва) или откуда будет читать биты (если выставлен признак чтения после адреса слейва). Короче в данном случае command byte - это либо конфигурационный регистр датчика температуры, либо предельные значения температуры, на которые должен срабатывать датчик. Вот, надеюсь, что стало немного понятнее.
Command byte в случае рассматриваемого датчика - это адрес его конфигурационного регистра, куда мы пишем настройки датчика температуры. В общем же случае - после старта и адреса слева, согласно методике TWI протокола, по линии мастером всегда передается адрес регистра слейва (этих регистров может быть больше одного, например у гироскопа-акселерометра mpu6050 их чёртова уйма), куда мастер будет писать биты (если выставлен признак записи после адреса слейва) или откуда будет читать биты (если выставлен признак чтения после адреса слейва). Короче в данном случае command byte - это либо конфигурационный регистр датчика температуры, либо предельные значения температуры, на которые должен срабатывать датчик. Вот, надеюсь, что стало немного понятнее.
Вроде бы в c массив заканчивается NULL (после последнего элемента резервируется еще 1 байт), поэтому можно не передавать длину. Поправьте, если не прав
Когда я передаю массив в функцию, я могу передать только адрес его первого элемента (указатель на массив) и в этом случае, у функции нет шансов узнать сколько байт занимает массив, поэтому мне нужно передать ещё и его длину, иначе есть шанс влезть в область памяти, не касающуюся интересующего нас массива. Массив типа строка заканчивается признаком конца строки ‘\0’, а массив вещественных чисел не имеет признака конца, насколько мне известно.
А микросхемы должны питаться только от одного источника питания или можно от разных питать?
Можно питать их от разного питания, если например одной микросхеме нужно 5 вольт, другой - 3.3 и так далее, но земля должна быть у всех компонентов, включая микроконтроллер, общая.
@@michael_mmk пробовали так делать?