roboforum.ru

Технический форум по робототехнике.
Текущее время: 30 ноя 2024, 07:39

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




Начать новую тему Ответить на тему  [ Сообщений: 202 ]  На страницу Пред.  1, 2, 3, 4, 5, 6 ... 14  След.
Автор Сообщение
 Заголовок сообщения: Re: Бортовой компьютер на инжектор
СообщениеДобавлено: 28 авг 2009, 16:03 
Не в сети
Аватара пользователя

Зарегистрирован: 15 сен 2007, 13:03
Сообщения: 6338
Откуда: Красноярск
прог. языки: ASM(МК), C(PC)
ФИО: Гагарский Андрей Александрович
МК это просто ))

_________________
«Как сердцу выразить себя? … Мысль изреченная есть ложь!»
В этом мире меня подводит доброта и порядочность...
"двое смотрят в лужу, один видит лужу, другой отраженные в ней звезды"


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Бортовой компьютер на инжектор
СообщениеДобавлено: 28 авг 2009, 16:24 
Не в сети
отсылающий читать курс
Аватара пользователя

Зарегистрирован: 06 ноя 2005, 04:18
Сообщения: 14195
Откуда: Москва
Как раз, два, три ...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Бортовой компьютер на инжектор
СообщениеДобавлено: 12 сен 2009, 22:31 
Не в сети

Зарегистрирован: 23 апр 2009, 14:12
Сообщения: 106
Откуда: Курская обл.
В общем собрал и даже обкатал на пяти тысячах км. полет нормальный :Yahoo!:

Теперь совсем другая тема- кодовый замок, по сравнению с предыдущим проектом- детский сад.
Но как всегда грабли:
вот так объявлена переменная-unsigned long int kod_s_klavy=0;
но значения больше 32767 не лезут,
косяк компилятора cvavr2?
или его настроить можно?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Бортовой компьютер на инжектор
СообщениеДобавлено: 13 сен 2009, 14:15 
Не в сети
Аватара пользователя

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

Как узнал?

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

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



Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Бортовой компьютер на инжектор
СообщениеДобавлено: 13 сен 2009, 14:49 
Не в сети

Зарегистрирован: 23 апр 2009, 14:12
Сообщения: 106
Откуда: Курская обл.
ВСЕ В ПРОТЕУСЕ :)
ЖК только для отладки, в железе его не будет.
подцепил ЖК, 12 кнопок. Вводимый код отображается на ЖК. С 4 цифрами работает, на 5 всплывает минус, заинтересовался, подумал немного. набрал 32767- пролезло, 32768 и больше - лагает.
объявлена так: unsigned long int kod_s_klavy=0;
компилируется получается как : int kod_s_klavy=0;
Что за хрень?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Бортовой компьютер на инжектор
СообщениеДобавлено: 13 сен 2009, 15:13 
Не в сети
Аватара пользователя

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

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

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



Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Бортовой компьютер на инжектор
СообщениеДобавлено: 13 сен 2009, 15:31 
Не в сети

Зарегистрирован: 23 апр 2009, 14:12
Сообщения: 106
Откуда: Курская обл.
не вопрос :)
Код:
#include <stdlib.h>
#include <mega8.h>
#include <delay.h>
#include <stdio.h>


#asm
   .equ __lcd_port=0x18 ;PORTB
#endasm
#include <lcd.h>


char iii[14];
unsigned long int  kod_s_klavy=0;



// Timer 0 overflow interrupt service routine
interrupt [TIM0_OVF] void timer0_ovf_isr(void)
{
// Place your code here

}

void sbros(void) {
lcd_clear();
kod_s_klavy=0;
}



void kontrol(void) {

if (kod_s_klavy==55555) {
   // все ОК
      lcd_clear(); lcd_putsf("  Door Open "); kod_s_klavy=0; delay_ms(2000); lcd_clear(); lcd_putsf("  Door Close "); delay_ms(2000); lcd_clear(); }
else  {
   // ругаемся динамиком, считаем ошибки
kod_s_klavy=0; lcd_gotoxy(0,0); lcd_putsf("error :)"); delay_ms(2000);  lcd_clear();  };  }






void knopki(void) {    //  PINC.2-5   PIND.0-7
lcd_gotoxy(0,1);
itoa(kod_s_klavy,iii);
lcd_puts(iii);         
//if (PINC.1==0) {eeprom_kode=kod_s_klavy; kode=kod_s_klavy; lcd_clear(); kod_s_klavy=0;};  while (PINC.1==0) {};         
if (PINC.2==0) {kod_s_klavy=kod_s_klavy*10+1;};  while (PINC.2==0) {};
if (PINC.3==0) {kod_s_klavy=kod_s_klavy*10+2;};  while (PINC.3==0) {};       
if (PINC.4==0) {kod_s_klavy=kod_s_klavy*10+3;};  while (PINC.4==0) {};       
if (PINC.5==0) {kod_s_klavy=kod_s_klavy*10+4;};  while (PINC.5==0) {};
if (PIND.0==0) {kod_s_klavy=kod_s_klavy*10+5;};  while (PIND.0==0) {};
if (PIND.1==0) {kod_s_klavy=kod_s_klavy*10+6;};  while (PIND.1==0) {};
if (PIND.2==0) {kod_s_klavy=kod_s_klavy*10+7;};  while (PIND.2==0) {};
if (PIND.3==0) {kod_s_klavy=kod_s_klavy*10+8;};  while (PIND.3==0) {};
if (PIND.4==0) {kod_s_klavy=kod_s_klavy*10+9;};  while (PIND.4==0) {};
if (PIND.5==0) {kod_s_klavy=kod_s_klavy*10;};  while (PIND.5==0) {};
if (PIND.6==0) {sbros(); };  while (PIND.6==0) {};
if (PIND.7==0) {kontrol(); };  while (PIND.7==0) {};

} // конец обработки нажатия кнопки


 


void main(void)
{
PORTB=0x00;
DDRB=0x00;
PORTC=0x7F;
DDRC=0x01;
PORTD=0xFF;
DDRD=0x00;
TCCR0=0x05;
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;
MCUCR=0x00;
TIMSK=0x01;
ACSR=0x80;
SFIOR=0x00;
// Global enable interrupts
#asm("sei")
lcd_init(16);
lcd_putsf("****************");


while (1)
      {   knopki() ;   };
     
     
     
      /*****************************************************
This program was produced by the
CodeWizardAVR V2.03.4 Standard
Automatic Program Generator
© Copyright 1998-2008 Pavel Haiduc, HP InfoTech s.r.l.
http://www.hpinfotech.com

Project :
Version :
Date    : 12.09.2009
Author  :
Company :
Comments:


Chip type           : ATmega8
Program type        : Application
Clock frequency     : 1,000000 MHz
Memory model        : Small
External RAM size   : 0
Data Stack size     : 256
*****************************************************/
}





только ща осенило- ЖК :oops:
а вот такое имеет право на жизнь? : eeprom unsigned long int eeprom_kode;


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Бортовой компьютер на инжектор
СообщениеДобавлено: 13 сен 2009, 15:51 
Не в сети
Аватара пользователя

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


нужна ltoa()

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

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



Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Бортовой компьютер на инжектор
СообщениеДобавлено: 13 сен 2009, 20:42 
Не в сети

Зарегистрирован: 08 сен 2009, 20:13
Сообщения: 128
Откуда: Екатеринбург
Sun-dey писал(а):
ВСЕ В ПРОТЕУСЕ :)
объявлена так: unsigned long int kod_s_klavy=0;
компилируется получается как : int kod_s_klavy=0;
Что за хрень?

надо оставить unsigned long kod_s_klavy=0;
т.е int убрать

Добавлено спустя 4 минуты 19 секунд:
Добавлю и свой БК для инжектора, я на нем C изучал :)


Вложения:
MK.rar [91.64 КиБ]
Скачиваний: 76
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Бортовой компьютер на инжектор
СообщениеДобавлено: 13 сен 2009, 21:51 
Не в сети

Зарегистрирован: 23 апр 2009, 14:12
Сообщения: 106
Откуда: Курская обл.
Цитата:
Добавлю и свой БК для инжектора, я на нем C изучал

Эх, что ж ты раньше сюда не заглянул, я столько провозился с разными граблями... :cry:
Неслабая разработка :)
ОБД работало? да и вообще все в целом?
Если да- то неплохо схемку бы.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Бортовой компьютер на инжектор
СообщениеДобавлено: 13 сен 2009, 22:11 
Не в сети
Аватара пользователя

Зарегистрирован: 20 мар 2009, 12:45
Сообщения: 682
Откуда: Украина, Одесса
ФИО: Сергей
схемка в архиве, формат PCAD...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Бортовой компьютер на инжектор
СообщениеДобавлено: 14 сен 2009, 01:18 
Не в сети
Аватара пользователя

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

Это что-то меняет?

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

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



Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Бортовой компьютер на инжектор
СообщениеДобавлено: 14 сен 2009, 10:28 
Не в сети

Зарегистрирован: 23 апр 2009, 14:12
Сообщения: 106
Откуда: Курская обл.
Данные обрезались при преобразовании для LCD, попробовал вот так написать: "itoa(777777,iii);" - тоже переполнило. "ltoa()" приму к сведению, потом попробую (из-за этого наверное и с БК граблей много было)

Для замка: прошивку дописал, плата в разработке, антивандальная клава из подручных средств на очереди. :)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Бортовой компьютер на инжектор
СообщениеДобавлено: 14 сен 2009, 10:36 
Не в сети
Аватара пользователя

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

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

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



Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Бортовой компьютер на инжектор
СообщениеДобавлено: 14 сен 2009, 10:39 
Не в сети
Аватара пользователя

Зарегистрирован: 21 дек 2006, 19:56
Сообщения: 4468
Откуда: Украина, г.Одесса
прог. языки: Delphi и С
А зачем третий?


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 202 ]  На страницу Пред.  1, 2, 3, 4, 5, 6 ... 14  След.

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


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

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


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

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