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

 
 
> SPI отправка и получение данных с регистров ведомого устр.
eugmai86
сообщение Apr 10 2011, 16:38
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 29
Регистрация: 20-03-11
Пользователь №: 63 737



Доброго времени суток, есть проблема чтения и записи регистров модуля акселерометра работающего через SPI. Подскажите как на Си читать и писать в регистры данного модуля. Например нужно отправить с меги 16 значение 0b00000101 в регистр $16. SPI разобрался как конфигурировать, проблема за малым. СпасибоПрикрепленный файл  MMA7455L_____________.pdf ( 519.11 килобайт ) Кол-во скачиваний: 334
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
eugmai86
сообщение Apr 17 2011, 18:09
Сообщение #2


Участник
*

Группа: Участник
Сообщений: 29
Регистрация: 20-03-11
Пользователь №: 63 737



Уже неделю пытаюсь добиться работы акселерометра. Но все никак. Подозрение вызывает потребляемый ток 1.7 mA По ДШ 490 мкА максимум. Питаю акселерометр от L78L33. МК от 5В. Согласование уровней МК - Датчик сделал на мосфетах по AN97055. Черт его знает, что не так.

Вот ф-ция отправки и получения

void SPI_MasterTransmit(char cReg, char cData)
{
unsigned char x;
CS=0; //прижимаем CS к земле, давая понять что передача пошла
SPDR=(((cReg&0x3F)<<1)|0x80); /* Start transmission */
while(!(SPSR&(1<<SPIF)));/* Wait for transmission complete */
x = SPDR;//dummy read
SPDR = cData;
while(!(SPSR&(1<<SPIF)));/* Wait for transmission complete */
x = SPDR;//dummy read
CS=1;
}

unsigned char SPI_MasterReceive(char cReg)
{
unsigned char x;
CS=0;// прижимаем CS к земле, давая понять что передача пошла
SPDR=((cReg&0x3F)<<1); // write in the register address with the read comman
while(!(SPSR&(1<<SPIF))); /* Wait for reception complete */
x=SPDR;//dummy read
CS=1;
return x; /* Return data register */
}

Кому не лень, гляньте код, и еще насколько я понял из ДШ SPI должен быть "вариант 0" для МК Мега16
я пользую такую настройку

SPCR=0b01010011;
/*{
7: SPIE: SPI Interrupt Enable
6: SPE: SPI Enable
5: DORD: Data Order
4: MSTR: Master/Slave Select
3: CPOL: Clock Polarity
2: CPHA: Clock Phase
1,0: Bits 1, 0 – SPR1, SPR0: SPI Clock Rate Select 1 and 0
}*/
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- eugmai86   SPI отправка и получение данных с регистров ведомого устр.   Apr 10 2011, 16:38
- - Палыч   На странице 18 всё написано/нарисовано (рис 13): п...   Apr 10 2011, 17:14
- - rezident   Не нужно забывать, что SPI не просто передает или ...   Apr 10 2011, 17:20
- - eugmai86   т.е. для записи в регистр ММА7455 можно так: SPI_M...   Apr 10 2011, 17:56
|- - Палыч   Цитата(eugmai86 @ Apr 10 2011, 21:56) т.е...   Apr 11 2011, 04:04
- - eugmai86   ясно, спасибо, буду пробовать   Apr 12 2011, 11:40
- - rezident   В функции SPI_MasterReceive у вас присутствует алг...   Apr 17 2011, 18:36
|- - Белка12   Цитата(rezident @ Apr 17 2011, 22:36) В ф...   Jun 8 2011, 07:49
|- - Палыч   Цитата(Белка12 @ Jun 8 2011, 11:49) В слу...   Jun 8 2011, 09:14
|- - Белка12   Цитата(Палыч @ Jun 8 2011, 13:14) Можно ...   Jun 23 2011, 19:25
|- - Палыч   Цитата(Белка12 @ Jun 23 2011, 23:25) Прер...   Jun 24 2011, 08:48
|- - Белка12   Цитата(Палыч @ Jun 24 2011, 12:48) У Вас,...   Jun 24 2011, 09:41
|- - Палыч   Цитата(Белка12 @ Jun 24 2011, 13:41) В пр...   Jun 24 2011, 09:57
|- - Белка12   Цитата(Палыч @ Jun 24 2011, 13:57) Вы это...   Jun 25 2011, 13:02
|- - Палыч   Цитата(Белка12 @ Jun 25 2011, 17:02) А сн...   Jun 25 2011, 14:16
|- - Белка12   Цитата(Палыч @ Jun 25 2011, 18:16) Тогда,...   Jun 25 2011, 16:41
|- - Палыч   Цитата(Белка12 @ Jun 25 2011, 20:41) Осци...   Jun 26 2011, 14:45
|- - Белка12   Цитата(Палыч @ Jun 26 2011, 18:45) На вре...   Jun 26 2011, 16:13
- - eugmai86   unsigned char SPI_MasterReceive(char cReg) { unsig...   Apr 17 2011, 18:41
|- - rezident   Цитата(eugmai86 @ Apr 18 2011, 00:41) Как...   Apr 17 2011, 18:44
- - eugmai86   Прошиваю) Пишу в $16 регистр 0b00000101 (вклю...   Apr 17 2011, 18:45
|- - rezident   Цитата(eugmai86 @ Apr 18 2011, 00:45) Пиш...   Apr 17 2011, 19:27
- - Слесарь   Мож мой сырой код чем-то поможет Кодvoid spi_io_w...   Apr 17 2011, 19:00
- - eugmai86   Боюсь что датчик вышел из строя, мне не нравится е...   Apr 17 2011, 19:10
- - eugmai86   Чтоб датчик понял "write" MSB должен быт...   Apr 17 2011, 19:30
- - rezident   Я уже что-то перестал понимать. Вы какой интерфе...   Apr 17 2011, 19:42
- - eugmai86   Да, для I2C, но чем она для SPI не подходит то. Пр...   Apr 17 2011, 19:49
- - rezident   Тогда следующий вопрос для "партизана". ...   Apr 17 2011, 20:04
- - Слесарь   А у него чип на шине наверное всегда выбран и он э...   Apr 17 2011, 20:08
- - eugmai86   4-х проводной SPI используется, SCK, MOSI, MISO и...   Apr 18 2011, 04:20
- - rezident   А преобразование уровней только для трех сигналов ...   Apr 18 2011, 09:26
- - eugmai86   да, преобразую только СS MISO, MOSI. SCK оставил б...   Apr 18 2011, 09:39
|- - ILYAUL   Цитата(eugmai86 @ Apr 18 2011, 13:39) да,...   Apr 18 2011, 09:55
- - Слесарь   А какие тайминги рекомендует производитель? Ведь н...   Apr 18 2011, 09:52
- - mempfis_   Цитата(eugmai86 @ Apr 10 2011, 19:38) Доб...   Apr 18 2011, 10:04
- - eugmai86   спасибо всем! буду пробовать.   Apr 18 2011, 11:10
- - Белка12   Палыч, что скажете? Может, я написала не очень по...   Jun 26 2011, 14:33
- - Белка12   Уменьшила частоту SLK, вот что получилось. Навер...   Jun 28 2011, 06:49
|- - Палыч   Цитата(Белка12 @ Jun 28 2011, 10:49) Умен...   Jun 28 2011, 07:48
|- - =AK=   Цитата(Палыч @ Jun 28 2011, 17:18) Настор...   Jun 28 2011, 11:46
|- - Белка12   Цитата(Палыч @ Jun 28 2011, 11:48) Настор...   Jun 28 2011, 12:48
|- - Палыч   Только внимательно посмотрев на Ваши функции вывод...   Jun 28 2011, 14:40
||- - Белка12   Цитата(Палыч @ Jun 28 2011, 18:40) Только...   Jun 28 2011, 16:30
||- - Палыч   Цитата(Белка12 @ Jun 28 2011, 20:30) 1. А...   Jun 28 2011, 20:49
||- - Белка12   Цитата(Палыч @ Jun 29 2011, 00:49) Мусор ...   Jun 29 2011, 16:08
||- - demiurg_spb   Цитата(Белка12 @ Jun 29 2011, 20:08) Дисп...   Jun 29 2011, 18:31
||- - Белка12   Цитата(demiurg_spb @ Jun 29 2011, 22:31) ...   Jun 30 2011, 16:08
|||- - Палыч   Цитата(Белка12 @ Jun 30 2011, 20:08) в да...   Jun 30 2011, 16:38
|||- - Белка12   Цитата(Палыч @ Jun 30 2011, 20:38) Раздел...   Jul 1 2011, 03:16
|||- - Белка12   Цитата(Палыч @ Jun 30 2011, 20:38) Раздел...   Jul 1 2011, 16:54
|||- - Палыч   Цитата(Белка12 @ Jul 1 2011, 20:54) а что...   Jul 1 2011, 21:16
|||- - Белка12   Цитата(Палыч @ Jul 2 2011, 01:16) Берем д...   Jul 2 2011, 04:26
|||- - Палыч   Цитата(Белка12 @ Jul 2 2011, 08:26) Значи...   Jul 2 2011, 04:44
|||- - Белка12   Цитата(Палыч @ Jul 2 2011, 08:44) Вы, нав...   Jul 2 2011, 05:46
|||- - Палыч   Цитата(Белка12 @ Jul 2 2011, 09:46) не по...   Jul 2 2011, 13:50
||- - Белка12   Цитата(demiurg_spb @ Jun 29 2011, 22:31) ...   Jul 4 2011, 13:32
||- - demiurg_spb   Нет никаких призраков. Как удобнее так и делайте. ...   Jul 4 2011, 18:48
|- - =AK=   Цитата(Белка12 @ Jun 28 2011, 22:18) в да...   Jun 28 2011, 22:20
- - Белка12   Палыч, огромное спасибо! Вы мне очень, очень ...   Jul 2 2011, 17:30
- - Белка12   Перепаяли резисторы, вроде бы, дисплей заработал п...   Jul 5 2011, 15:07
- - demiurg_spb   Аминь три раза   Jul 6 2011, 04:36


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

 


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


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