roboforum.ru

Технический форум по робототехнике.
Текущее время: 02 дек 2024, 22:34

Часовой пояс: UTC + 4 часа




Начать новую тему Эта тема закрыта, вы не можете редактировать и оставлять сообщения в ней.  [ Сообщений: 9 ] 
Автор Сообщение
 Заголовок сообщения: HMC6352 и mega8
СообщениеДобавлено: 22 мар 2011, 01:16 
Не в сети

Зарегистрирован: 22 мар 2011, 01:02
Сообщения: 20
По мануалу написал код для проверки работоспособности hmc6352. Вроде как если значения меняются, то норм. Собрал на макетке. Подключил. Вроде как пошли разные значения, но через несколько секунд все замерло. После сколько не включал выдает 00 00. Так вот я не пойму то ли я дурак, т.е. изначально все было плохо, ничего не изменялось и в коде ошибка, то ли с hmc6352 что то?

Код:
#include <mega8.h>

// I2C Bus functions
#asm
   .equ __i2c_port=0x18 ;PORTB
   .equ __sda_bit=2
   .equ __scl_bit=1
#endasm
#include <i2c.h>   


// Standard Input/Output functions
#include <stdio.h>
#include <delay.h>
#define adress_write 0x42
#define adress_read 0x43
// Declare your global variables here
usart_write(char byte)
{
while(!(UCSRA & (1<<5)))
{
}
UDR=byte;

}

i2c_re()
{
i2c_start();
i2c_write(adress_write);
i2c_write(0x41);
delay_ms(10);
i2c_start();
i2c_write(adress_read);
usart_write(i2c_read(1));
usart_write(i2c_read(0));
i2c_stop();
}


void main(void)
{
PORTB=0x00;
DDRB=0x00;
DDRB.0=1;
PORTB.0=1;
PORTC=0x00;
DDRC=0x00;
PORTD=0x00;
DDRD=0x00;
TCCR0=0x00;
TCNT0=0x00;
TCCR1A=0x00;
TCCR1B=0x00;
TCNT1H=0x00;
TCNT1L=0x00;
ICR1H=0x00;
ICR1L=0x00;
OCR1AH=0x00;
OCR1AL=0x00;
OCR1BH=0x00;
OCR1BL=0x00;
ASSR=0x00;
TCCR2=0x00;
TCNT2=0x00;
OCR2=0x00;
TIMSK=0x00;
UCSRA=0x00;
UCSRB=0x08;
UCSRC=0x86;
UBRRH=0x00;
UBRRL=0x33;

// Analog Comparator initialization
// Analog Comparator: Off
// Analog Comparator Input Capture by Timer/Counter 1: Off
ACSR=0x80;
SFIOR=0x00;

// I2C Bus initialization
i2c_init();
usart_write('C');
usart_write('O');
usart_write('n');
usart_write('n');
usart_write('e');
usart_write('c');
usart_write('t');
usart_write(' ');
usart_write('O');
usart_write('k');

while (1)
      {
PORTB.0=~PORTB.0;
i2c_re();
delay_ms(1000);
      };
}


Модератор Setar:Используйте впредь тег CODE пожалуйста


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: HMC6352 и mega8
СообщениеДобавлено: 22 мар 2011, 11:12 
Не в сети

Зарегистрирован: 22 мар 2011, 01:02
Сообщения: 20
хм. Переписал так, что бы на терминал выводились числа и поднял со стола. Значения начали меняться. Только это больше напоминает инклинометр, чем магнитометр. Если лежит на столе как не крути всегда 0. Если поднять со стола и наклонить вправо, то значения начинают меняться от 0 до 11, а если влево то от 3599 до 3588. :/ чет не понимать я


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: HMC6352 и mega8
СообщениеДобавлено: 22 мар 2011, 14:10 
Не в сети
Аватара пользователя

Зарегистрирован: 01 июл 2009, 08:59
Сообщения: 2254
Откуда: Екатеринбург
прог. языки: асемблер AVR
весь код не осилил, но проверьте инициализацию ног. Там вначале число 18, это биты 3 и 4, за ними написано что и2ц это биты 1 и 2. Но скорее всего я не прав, просто в коде не разобрался.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: HMC6352 и mega8
СообщениеДобавлено: 22 мар 2011, 18:38 
Не в сети

Зарегистрирован: 22 мар 2011, 01:02
Сообщения: 20
18 указывает на порт. И сейчас он значения то выдает, только эти значения указывает на положение крена относительно земли.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: HMC6352 и mega8
СообщениеДобавлено: 23 мар 2011, 00:50 
Не в сети
Аватара пользователя

Зарегистрирован: 05 фев 2008, 15:33
Сообщения: 2687
Откуда: St. Petersburg - Moscow
Skype: SkyStorm77
ФИО: Костюк Константин Вячеславович
Ты брал готовый модуль? или паял сам?
Фотки покажи?

_________________
Никто кроме нас!!!
4Robots.ru - Все для роботов!


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: HMC6352 и mega8
СообщениеДобавлено: 23 мар 2011, 03:04 
Не в сети

Зарегистрирован: 22 мар 2011, 01:02
Сообщения: 20
Готовый модуль. И судя по Вашей подписи модуль брал у Вас.
http://test.roboforum.ru/product_11067.html


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: HMC6352 и mega8
СообщениеДобавлено: 24 мар 2011, 02:10 
Не в сети
Аватара пользователя

Зарегистрирован: 05 фев 2008, 15:33
Сообщения: 2687
Откуда: St. Petersburg - Moscow
Skype: SkyStorm77
ФИО: Костюк Константин Вячеславович
Обычно с этим модулем проблем нет.
Но на текущий момент ничем не могу помочь, нахожусь в Вене.
30го вернусь в Москву и смогу посмотреть что там как с ним.

_________________
Никто кроме нас!!!
4Robots.ru - Все для роботов!


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: HMC6352 и mega8
СообщениеДобавлено: 03 май 2011, 15:43 
Не в сети
Аватара пользователя

Зарегистрирован: 05 фев 2008, 15:33
Сообщения: 2687
Откуда: St. Petersburg - Moscow
Skype: SkyStorm77
ФИО: Костюк Константин Вячеславович
Как успехи с новым модулем?

_________________
Никто кроме нас!!!
4Robots.ru - Все для роботов!


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: HMC6352 и mega8
СообщениеДобавлено: 07 май 2011, 17:02 
Не в сети

Зарегистрирован: 22 мар 2011, 01:02
Сообщения: 20
Норм. Новый модуль сразу же заработал.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Эта тема закрыта, вы не можете редактировать и оставлять сообщения в ней.  [ Сообщений: 9 ] 

Часовой пояс: UTC + 4 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 19


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
phpBB SEO