roboforum.ru

Технический форум по робототехнике.

Нужна помощь в переписывани програмы для PIC под AVR

Программирование микроконтроллеров AVR, PIC, ARM.
Разработка и изготовление печатных плат для модулей.

Нужна помощь в переписывани програмы для PIC под AVR

Сообщение ART-87 » 04 май 2009, 03:37

Всем привет! Очень срочно нужна помощь профессионалов.
Проблема вот в чем: Есть 3-х осевой акселерометр MMA7455L, есть мк ATmega16, необходимо получать информацию с акселерометра (его координаты x y z) по шине SPI на мк и потом передавать данные в комп. Поскольку я в этом деле не силен, но сделать надо полюбому, обращаюсь к добрым людям с криками о помощи. После долгих поисков, нашел в инете кое-какую инфу, а именно код программы для PIC контроллера, этот код реализует вродебы то что мне нужно, только для PIC, может кому не влом, посмотрит эту прогу и скажет как переделать ее под авр, желательно под мегу16? Если кто откликнется, буду ОООООчень благодарен!!!
вот код:
Код: Выделить всёРазвернуть
#include <16F886.H> 
#fuses HS, NOWDT, NOPROTECT, BROWNOUT, PUT, NOLVP
#use delay(clock=20000000)
#use rs232(baud=9600, xmit=PIN_C6, rcv=PIN_C7, ERRORS)

#define ACC_CS  PIN_C1

// SPI modes
#define SPI_MODE_0  (SPI_L_TO_H | SPI_XMIT_L_TO_H)
#define SPI_MODE_1  (SPI_L_TO_H)
#define SPI_MODE_2  (SPI_H_TO_L)
#define SPI_MODE_3  (SPI_H_TO_L | SPI_XMIT_L_TO_H)

//----------------------------------
void Acc_Write_Register(int8 reg, int8 data)
{
output_low(ACC_CS);
spi_write(((reg & 0x3F) << 1) | 0x80);
spi_write(data);
output_high(ACC_CS);
}

//---------------------------------
int8 Acc_Read_Register(int8 reg)
{
int8 data;

output_low(ACC_CS);
spi_write((reg & 0x3F) << 1);
data = spi_read(0);
output_high(ACC_CS);

return(data);
}

//===============================
void main()
{
int8 result;
int8 Xdata, Ydata, Zdata;

output_high(ACC_CS);

delay_ms(10);   // Minimum 1 ms required after power-up.

setup_spi(SPI_MASTER | SPI_MODE_0 | SPI_CLK_DIV_16);  // 1.25 MHz sclk

Acc_Write_Register(0x16, 0x05);
delay_ms(30);  // Minimum 20 ms required after exiting standby

// Make sure we read back 0x05 from the Control register.
result = Acc_Read_Register(0x16);
printf("Control register = %X \n\r", result);

while(1)
  { 
   Xdata = Acc_Read_Register(0x06); //Read X,Y,Z outputs from Sensor
   Ydata = Acc_Read_Register(0x07);
   Zdata = Acc_Read_Register(0x08);
   delay_ms(500);
   printf("XYZ:  %U, %U, %U \n\r", Xdata, Ydata, Zdata);
  }


}


и ссылка с забугорного форума, откуда я взял этот код http://pic-c.ccsinfo.com/forum/viewtopic.php?t=37562

В качестве эмулятора ипользую протеус, но поскольку там нет модели акселерометра, думаю, что надо его эмулировать, пока что пытаюсь организовать обмен по шине SPI между двумя мк (компилятор CVAVR, эмулятор протеус), но ничего не выходит, если никто не сможет помочь в переписывании программы для PIC под AVR, то хотя бы с SPI помогите.
Короче говоря помогите кто чем сможет:)
Последний раз редактировалось ART-87 04 май 2009, 13:22, всего редактировалось 1 раз.
ART-87
 
Сообщения: 8
Зарегистрирован: 25 фев 2009, 16:50
Откуда: Екатеринбург

Re: Нужна, помощь! Очень срочно!!!! помогите плиз!

Сообщение blindman » 04 май 2009, 03:40

Нажимаем кнопку "Правка", и :
1. Тему назвать в соответствии с содержимым
2. Код заключить в тэг [code]
Проект [[Open Robotics]] - универсальные модули для построения роботов
Модули Open Robotics можно приобрести в магазине shop.roboforum.ru

Day OFF? You must be pulling my leg! Stop making humor before someone sees you, fool!

Аватара пользователя
blindman
 
Сообщения: 4130
Зарегистрирован: 29 апр 2008, 21:15
Откуда: Хабаровск
прог. языки: C,C++,Assembler,PHP,Javascript,Ruby, SPIN,Java(?)
ФИО: Андрей Юрьевич

Re: Нужна, помощь! Очень срочно!!!! помогите плиз!

Сообщение EdGull » 04 май 2009, 08:22

ART-87 писал(а):Если кто откликнется, буду ОООООчень благодарен!!!

во сколько ты оцениваешь свою благодарность?
Аватара пользователя
EdGull
 
Сообщения: 10211
Зарегистрирован: 28 дек 2004, 20:33
Откуда: Тольятти
Skype: Ed_Gull
прог. языки: Bascom AVR Basic
ФИО: Гуль Эдуард Викторович

Re: Нужна помощь в переписывани програмы для PIC под AVR

Сообщение ART-87 » 04 май 2009, 13:44

а за сколько вы согласились бы мне помочь?
Я так думаю, что для опытного человека в этом деле, задача не сложная... но мне хотя бы нужно знать в каких пределах обычно оценивается такая работа:)
ART-87
 
Сообщения: 8
Зарегистрирован: 25 фев 2009, 16:50
Откуда: Екатеринбург

Re: Нужна помощь в переписывани програмы для PIC под AVR

Сообщение MiBBiM » 04 май 2009, 13:49

вобще вроде не тяжко... либы тока нужные подключить да две процедуры переписать :D

Добавлено спустя 1 минуту 10 секунд:
P.S> вот тоже говорят что си - машинонезависимый язык, ага :D
Tomorrow will be. Better
Аватара пользователя
MiBBiM
 
Сообщения: 1866
Зарегистрирован: 29 окт 2007, 18:11
Откуда: Пермь
прог. языки: Brainfuck/Basic/Delphi/C++/Lisp/x86asm/JavaScript

Re: Нужна помощь в переписывани програмы для PIC под AVR

Сообщение blindman » 04 май 2009, 14:08

Настолько независим, насколько и любой другой. То есть до тех пор пока не надо работать напрямую с железом.
Проект [[Open Robotics]] - универсальные модули для построения роботов
Модули Open Robotics можно приобрести в магазине shop.roboforum.ru

Day OFF? You must be pulling my leg! Stop making humor before someone sees you, fool!

Аватара пользователя
blindman
 
Сообщения: 4130
Зарегистрирован: 29 апр 2008, 21:15
Откуда: Хабаровск
прог. языки: C,C++,Assembler,PHP,Javascript,Ruby, SPIN,Java(?)
ФИО: Андрей Юрьевич

Re: Нужна помощь в переписывани програмы для PIC под AVR

Сообщение Duhas » 04 май 2009, 15:16

тоесть в области МК он очень даже и зависим)
«Как сердцу выразить себя? … Мысль изреченная есть ложь!»
В этом мире меня подводит доброта и порядочность...
"двое смотрят в лужу, один видит лужу, другой отраженные в ней звезды"
Аватара пользователя
Duhas
 
Сообщения: 6338
Зарегистрирован: 15 сен 2007, 13:03
Откуда: Красноярск
прог. языки: ASM(МК), C(PC)
ФИО: Гагарский Андрей Александрович

Re: Нужна помощь в переписывани програмы для PIC под AVR

Сообщение blindman » 04 май 2009, 15:33

Ровно настолько же насколько и на "больших" процессорах
Проект [[Open Robotics]] - универсальные модули для построения роботов
Модули Open Robotics можно приобрести в магазине shop.roboforum.ru

Day OFF? You must be pulling my leg! Stop making humor before someone sees you, fool!

Аватара пользователя
blindman
 
Сообщения: 4130
Зарегистрирован: 29 апр 2008, 21:15
Откуда: Хабаровск
прог. языки: C,C++,Assembler,PHP,Javascript,Ruby, SPIN,Java(?)
ФИО: Андрей Юрьевич

Re: Нужна помощь в переписывани програмы для PIC под AVR

Сообщение Duhas » 04 май 2009, 15:36

ну я имею ввиду уровень программирования под ядро а не под ОС...
«Как сердцу выразить себя? … Мысль изреченная есть ложь!»
В этом мире меня подводит доброта и порядочность...
"двое смотрят в лужу, один видит лужу, другой отраженные в ней звезды"
Аватара пользователя
Duhas
 
Сообщения: 6338
Зарегистрирован: 15 сен 2007, 13:03
Откуда: Красноярск
прог. языки: ASM(МК), C(PC)
ФИО: Гагарский Андрей Александрович

Re: Нужна помощь в переписывани програмы для PIC под AVR

Сообщение contr » 04 май 2009, 15:47

разные камни, разные компиляторы... В любом случае прогу на языке высокого уровня портировать легче
contr
 
Сообщения: 987
Зарегистрирован: 17 апр 2009, 15:09
Откуда: Rostov-Don
Предупреждения: -1

Re: Нужна помощь в переписывани програмы для PIC под AVR

Сообщение EdGull » 04 май 2009, 15:57

ART-87 писал(а):а за сколько вы согласились бы мне помочь?
Я так думаю, что для опытного человека в этом деле, задача не сложная... но мне хотя бы нужно знать в каких пределах обычно оценивается такая работа:)

я думаю что нужно оринтироваться как минимум на 3000р.
Аватара пользователя
EdGull
 
Сообщения: 10211
Зарегистрирован: 28 дек 2004, 20:33
Откуда: Тольятти
Skype: Ed_Gull
прог. языки: Bascom AVR Basic
ФИО: Гуль Эдуард Викторович

Re: Нужна помощь в переписывани програмы для PIC под AVR

Сообщение MiBBiM » 04 май 2009, 16:15

и выложить текущие наработки

Добавлено спустя 1 минуту 58 секунд:
и даташиты

Добавлено спустя 3 минуты 49 секунд:
и фотку установки :lol:
Tomorrow will be. Better
Аватара пользователя
MiBBiM
 
Сообщения: 1866
Зарегистрирован: 29 окт 2007, 18:11
Откуда: Пермь
прог. языки: Brainfuck/Basic/Delphi/C++/Lisp/x86asm/JavaScript

Re: Нужна помощь в переписывани програмы для PIC под AVR

Сообщение ALHIMIK » 04 май 2009, 16:34

Со спи всё просто если нужно могу выложить свой проект ... Бесплатно :)
Аватара пользователя
ALHIMIK
 
Сообщения: 997
Зарегистрирован: 05 окт 2008, 14:41
Откуда: СПб
прог. языки: C,Python

Re: Нужна помощь в переписывани програмы для PIC под AVR

Сообщение EdGull » 04 май 2009, 16:36

твой бесплатный проект с 3-х осевой акселерометр MMA7455L?
Аватара пользователя
EdGull
 
Сообщения: 10211
Зарегистрирован: 28 дек 2004, 20:33
Откуда: Тольятти
Skype: Ed_Gull
прог. языки: Bascom AVR Basic
ФИО: Гуль Эдуард Викторович

Re: Нужна помощь в переписывани програмы для PIC под AVR

Сообщение galex1981 » 04 май 2009, 16:37

Если ладишь с васиком можешь мой проект глянуть: RoboRF для минибота. ТОже есть работа со SPI
if(!Operate) Read(pDatasheet);
Аватара пользователя
galex1981
 
Сообщения: 4363
Зарегистрирован: 04 дек 2008, 22:44
Откуда: Камышин
Skype: galk-aleksandr1
прог. языки: Kotlin, Java, C, C++, Assm, BasCom, VB, php
ФИО: Галкин Александр Владимирович

След.

Вернуться в Микроконтроллеры

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

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