|
stm32f0xx + i2c, проблемы с периферией... срочно нужна помощь... |
|
|
|
Sep 2 2012, 09:13
|
Участник

Группа: Участник
Сообщений: 41
Регистрация: 2-08-12
Пользователь №: 72 984

|
срочно нужна помощь...
веду разработку на cortex-m0 stm32f051... отладка stm32f0discovery
пытаюсь адекватно начать работать с I2C ... много гуглил но ни чего не нагуглил...
примеры от других процессоров не помогают stm32
люди жалуются на кривую периферию у stm32...
кто имел опыт с этим камнем отзовитесь... нужна ваша помошь!!!
примеры для работы с термодатчиком и памятью у меня не работают...
|
|
|
|
|
 |
Ответов
|
Aug 30 2014, 17:05
|
Знающий
   
Группа: Участник
Сообщений: 643
Регистрация: 29-05-09
Из: Германия
Пользователь №: 49 725

|
Цитата(Мур @ Aug 30 2014, 15:20)  Народ, бодаюсь с отладкой I2C для Кортекса М4 (EFM32WG990F256). Есть в Кейле возможность просмотра окна периферии I2C. Красота!.. Только в толк не пойму, почему выполняя последовательность команд
i2c->TXDATA = tmp; /* Data not transmitted until START sent */ i2c->CMD = I2C_CMD_START;
в строчках Property CMD TXDATA не вижу новых кодов (только нули), хотя должны быть коды 0x01 0xe2
Без этого не могу стартануть последовательность от моего мастера... Что это может быть? Не углубляясь в дебри доков на указаный процессор (Ваша задача), но рассуждая по аналогии с EFM32G210, сообщу, что: - первая команда есть загрузка адреса ведомого на шине I2C, а вторая команда вырабатывает START и немедленную последующую передачу этого адреса. - регистр TXDATA есть только для чтения и НЕ отображает записаное в него значение.
|
|
|
|
|
Aug 31 2014, 09:34
|
Знающий
   
Группа: Участник
Сообщений: 643
Регистрация: 29-05-09
Из: Германия
Пользователь №: 49 725

|
Цитата(Мур @ Aug 31 2014, 09:37)  Спасибо!... Я догадывался.... Ну а START ?... Его я и осцилом на ножке не вижу.... Окошко периферии для регистра CMD бит тоже не взводится... Предполагаю, что периферия не инициализирована. Во-первых, необходимо включить такт периферии I2C. Во-вторых, правильно проинициализировать линии портов. В-третьих, не забыть "соединить" I2C с линиями портов, правильно взведя соответствующие биты в I2C->ROUTE. Я настоятельно рекомендую использовать периферийную библиотеку для процессора. Для EFM32 она написана очень умно и эффективно. Помощь прилагается.
|
|
|
|
|
Aug 31 2014, 13:26
|

Знающий
   
Группа: Свой
Сообщений: 815
Регистрация: 7-06-06
Из: Харьков
Пользователь №: 17 847

|
Цитата(KnightIgor @ Aug 31 2014, 13:34)  Предполагаю, что периферия не инициализирована. Во-первых, необходимо включить такт периферии I2C. Во-вторых, правильно проинициализировать линии портов. В-третьих, не забыть "соединить" I2C с линиями портов, правильно взведя соответствующие биты в I2C->ROUTE. Я настоятельно рекомендую использовать периферийную библиотеку для процессора. Для EFM32 она написана очень умно и эффективно. Помощь прилагается. Отлично! Пригодится... Самое интересное, что за основу взят фирменный проект для изучения, где именно средствами этой библиотеки инициализируется тактирование... Буду ковырять... Спасибо еще раз!
|
|
|
|
Сообщений в этой теме
Посторонним В... stm32f0xx + i2c Sep 2 2012, 09:13 kosyak© Если Вам нужно быстро и I2C "не сильно нагруж... Sep 2 2012, 18:33 _Артём_ Цитата(kosyak© @ Sep 2 2012, 21:33) Если ... Sep 2 2012, 19:31  Danis Цитата(_Артём_ @ Sep 2 2012, 22:31) Стран... Sep 3 2012, 07:39 kosyak© Тут главное слово быстро - я на CM3 проплюхался не... Sep 2 2012, 19:44 spectral1989 скачайте последнюю либу на сайте http://st.com для... Sep 3 2012, 04:17 kan35 У F0 новый I2C, говорят учли все недочеты прошлых ... Sep 3 2012, 05:08 Посторонним В... примеры были от stm320518-eval ...
перекомпилил с... Sep 3 2012, 08:13 kosyak© Могу дать в качестве примера. Без переделки мой ва... Sep 3 2012, 09:01 Посторонним В... Цитата(kosyak© @ Sep 3 2012, 09:01) Могу ... Sep 3 2012, 10:06 kosyak© Ну вот собственно сам код. Не смотрите на нескольк... Sep 3 2012, 10:21 Посторонним В... Цитата(kosyak© @ Sep 3 2012, 10:21) Ну во... Sep 3 2012, 11:17 kosyak© Пины настроены как выход с открытым коллектором - ... Sep 3 2012, 11:29 Посторонним В... Цитата(kosyak© @ Sep 3 2012, 11:29) Пины ... Sep 3 2012, 11:58 kosyak© Копировал и забыл про эти константы. Вот
static c... Sep 3 2012, 12:06 Посторонним В... #define I2C_SCL_PIN GPIO_Pin_0
#define I2C_S... Sep 3 2012, 12:38 kosyak© Думаю что у вас будет как то так
#define I2C_SCL_... Sep 3 2012, 13:28 Посторонним В... УРРРРРРРРРРРРРРРРРРААААААААААААААААААААААААААА... Sep 3 2012, 14:06 kosyak© Хм..эт чего мой код заработал? Или удалось запусти... Sep 3 2012, 14:22 Посторонним В... Цитата(kosyak© @ Sep 3 2012, 14:22) Хм..э... Sep 3 2012, 15:16 kosyak© Код то у меня есть...только он писан давно и для д... Sep 3 2012, 15:47 Посторонним В... Цитата(kosyak© @ Sep 3 2012, 15:47) Код т... Sep 3 2012, 16:33
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|