реклама на сайте
подробности

 
 
> MSP430 и I2C. Постоянно - UCBBUSY.
devfom
сообщение Sep 1 2011, 09:10
Сообщение #1





Группа: Новичок
Сообщений: 8
Регистрация: 15-06-11
Пользователь №: 65 710



Добрый день. Есть микроконтроллер MSP40F5438 и не могу побороть проблему замкнутого цикла while( UCB1STAT & UCBBUSY ); Поиск показал, что я не одинок, и нашел информацию о том, что необходимо реализовывать I2C Bus Clear, из спецификации. Для этого написал простой цикл( здесь, и далее я использую UCB1, у которого PORT5.4 - SCL, PORT3.7 - SDA):
Код
P5DIR |= BIT4;
P5SEL &= ~BIT4;
P5OUT &= ~BIT4;
for( pulseCounter = 0; pulseCounter < 9; pulseCounter++ ) {
P5OUT |= BIT4;
__delay_cycles( 100 );
P5OUT &= ~BIT4;
__delay_cycles( 100 );
}
P5OUT |= BIT4;
P5SEL |= BIT4;


После его выполнения, шина по прежнему остается занятой. Микроконтроллер работает на частоте 25МГц поэтому __delay_cycles( 100 ); дает задержку в 5мкс.

Как все таки правильно делать ресет шины? Единственное, что пока я нашел, что шина становится свободной, как только я переподключаю девайс с которым общаюсь. Протокол обмена с девайсом прост - изначально контроллер и девайс находятся в режиме в slave-receiver, а переключаются в master-transmitter только когда нужно что-то передать. После конфигурирования, мне необходимо инициализировать девайс, но это невозможно т.к шина занята.
Спасибо за любые идеи.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- devfom   MSP430 и I2C. Постоянно - UCBBUSY.   Sep 1 2011, 09:10
- - KARLSON   А до того как подключили девайс к шине, на шине ка...   Sep 1 2011, 12:53
- - rezident   Во-первых, вам правильно сделали замечание насчет ...   Sep 1 2011, 13:37
- - devfom   Цитата(KARLSON @ Sep 1 2011, 16:53) А до ...   Sep 2 2011, 07:25
- - mib383   Во-первых, вам правильно сделали замечание насчет ...   Jun 9 2012, 03:59
- - KARLSON   регистр OUT = 0, как для вывода SCL так и для выв...   Jun 9 2012, 04:22
- - mib383   Я и так аппаратный использую. Но в msp340f47187, н...   Jun 9 2012, 04:42
- - KARLSON   Я же написал наоборот. Вход это 1, выход это 0. А...   Jun 9 2012, 04:43
- - mib383   Спасибо. Но, честно говоря все равно не очень поня...   Jun 9 2012, 04:47
- - KARLSON   Что именно не понятно? Пока вы отвечали, я редакти...   Jun 9 2012, 04:51
- - mib383   Ну допустим, почему если я мастер, нужно дергать о...   Jun 9 2012, 04:57
- - mib383   Обнаружил, что после выставления адреса и настройк...   Jun 9 2012, 07:04
- - controller_m30   На MSP430F5342 делаю BusClear так... 1. При инициа...   Jun 9 2012, 19:36
- - controller_m30   Есть ещё предположение, что иногда STOP в конце Bu...   Jun 10 2012, 05:46


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 27th July 2025 - 22:18
Рейтинг@Mail.ru


Страница сгенерированна за 0.01376 секунд с 7
ELECTRONIX ©2004-2016