|
Виж темите без отговор | Виж активните теми
Дата и час: Пон Юли 27, 2026 7:16 am
|
Страница 1 от 1
|
[ 4 мнения ] |
|
Ядове при подчинен PIC16F886 и I2C
| Автор |
Съобщение |
|
ig_ivanov
Ранг: Професионалист
Регистриран на: Съб Май 21, 2016 9:47 pm Мнения: 577 Местоположение: Бургас
|
 Ядове при подчинен PIC16F886 и I2C
Здравейте! Имам ядове да подкарам посочения PIC да работи като Slave устройство- по-точно- работи, ама на 75%. След няколко десетки опити за подкарване на примери от интернет, накрая седнах и прочетох документацията на Microchip за работата на slave PIC по I2C шина (AN734) и написах кода. За съжаление успешни са 3/4 от функциите, а именно- запис на байт от основния към подчинения PIC, запис на няколко байта и четене на един байт. Единственото, което се опъва цяла седмица вече е четене на няколко байта (трябват ми 4 поредни)- не става и не става- чете се само първия байт, а останалите 3 са със стойност 0xFF. Това е кода, и ще бъда много благодарен ако някои сподели къде бъркам: Ако трябва някаква допълнителна информация- готов съм да отговоря.
|
| Съб Май 21, 2016 11:04 pm |
|
 |
|
stoyanoff
Ранг: Форумен бог
Регистриран на: Чет Юни 25, 2009 1:01 pm Мнения: 2251
|
 Re: Ядове при подчинен PIC16F886 и I2C
Провери дали двата контролера работят на честота, която очакваш! Самият интерфейс не е особено подходящ за връзка м/у 2 контролера. Нямам подходяща платка, на която да тествам кода ти на практика. До колкото си спомнят, последният бит тук определяше посоката на данните! Провери дали това е наред! Опитай да поставиш малко закъснение между изпращаните байтове. Това се сещам за сега...
_________________www.elkran.com
|
| Пон Май 23, 2016 1:25 pm |
|
 |
|
CarBeta
Ранг: Форумен бог
Регистриран на: Пет Май 01, 2009 4:01 pm Мнения: 1438
|
 Re: Ядове при подчинен PIC16F886 и I2C
Така, както си го направил, винаги ще праща само по един байт. Като изпратиш първия байт трабва да чакаш АСК от мастъра и тогава зареждаш втория и т.н. докато получаваш АСК от мастъра. В твоя случай когато BF стане нула се излиза от прекъсването и подчинения спира да изпраща, а не изпраща още байтове, както очакваш. Мастъра продължава да си клоква, но чете само свободната линия т.е. FF. И не е хич добра идея целия ти код да е в прекъсването.
|
| Пон Май 23, 2016 2:00 pm |
|
 |
|
ig_ivanov
Ранг: Професионалист
Регистриран на: Съб Май 21, 2016 9:47 pm Мнения: 577 Местоположение: Бургас
|
 Re: Ядове при подчинен PIC16F886 и I2C
Много благодаря за насоките- оказа се точно SSP1CON2.ACKDT бита от главния PIC- заблудило ме е това, че другите устройства, закачени на шината, си работят без проблеми. Посоченият по-горе код е работещ след като оправих ACKDT флага. Нямам намерение целия код да е в прекъсването- това е само демо, за да подкарам комуникацията. Също така ми е известно, че I2C не е особено подходящ за връзка между PIC- ползва се основно SPI, който в моя случай е малко труден за ползване. Още веднъж благодаря за отговорите.
|
| Пон Май 23, 2016 4:39 pm |
|
|
|
Страница 1 от 1
|
[ 4 мнения ] |
|
Кой е на линия |
Потребители разглеждащи този форум: 0 регистрирани и 3 госта |
|
Вие не можете да пускате нови теми Вие не можете да отговаряте на теми Вие не можете да променяте собственото си мнение Вие не можете да изтривате собствените си мнения Вие не можете да прикачвате файл
|
|