roboforum.ru

Технический форум по робототехнике.
Текущее время: 18 июн 2025, 00:21

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




Начать новую тему Эта тема закрыта, вы не можете редактировать и оставлять сообщения в ней.  [ Сообщений: 3 ] 
Автор Сообщение
 Заголовок сообщения: Программа
СообщениеДобавлено: 10 июн 2012, 01:39 
Не в сети
Аватара пользователя

Зарегистрирован: 12 июл 2011, 00:49
Сообщения: 94
прог. языки: Basic (VB, Blitz), Pascal, Delphi 7, C++
Очередная проблема — код прошивки. Proteus и AtTiny13 выдают "смертельную ошибку" при прошивки этим текстом:
Код:
$regfile = "Attiny13.dat"
$crystal = 1000000

Config Portb.3 = Output
Config Portb.2 = Output
Config Portb.1 = Output
Config Portb.0 = Output
Config Pinb.4 = Input
Dim Pv As Bit
Dim Vv As Bit

Pv = 0
Vv = 0
Do
If Pv = 0 Then
If Vv = 0 Then
Portb.0 = 0
Portb.1 = 0
Portb.2 = 0
Portb.3 = 0
  If Pinb.4 = 0 Then
  Pv = 1
  End If
  End If
End If

If Pv = 1 Then
If Vv = 0 Then
  Portb.3 = 0
  Waitms 4
  Portb.2 = 1
  Waitms 4
  Portb.1 = 1
  Waitms 4
  Portb.2 = 0
  Waitms 4
  Portb.0 = 1
  Waitms 4
  Portb.1 = 0
  Waitms 4
  Portb.3 = 1
  Waitms 4
  Portb.0 = 0
  Waitms 4
  Portb.2 = 1
  Waitms 4
   If Pinb.4 = 0 Then
   Vv = 1
   End If
End If
End If

If Pv = 1 Then
If Vv = 1 Then
  Portb.3 = 0
  Waitms 4
  Portb.2 = 1
  Waitms 4
  Portb.1 = 1
  Waitms 4
  Portb.2 = 0
  Waitms 4
  Portb.0 = 1
  Waitms 4
  Portb.1 = 0
  Waitms 4
  Portb.3 = 1
  Waitms 4
  Portb.0 = 0
  Waitms 4
  Portb.2 = 1
  Waitms 20
   If Pinb.4 = 0 Then
   Vv = 0
   Pv = 0
   End If
End If
End If
Loop


P.S. Простите за тафтологию в тексте кода. Принцип такой, при нажатии кнопки переключаются режимы шаговика.


Последний раз редактировалось P_Ruslan 16 июн 2012, 12:32, всего редактировалось 1 раз.

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

Зарегистрирован: 03 янв 2012, 12:55
Сообщения: 3298
Откуда: Москва
прог. языки: VB6, BASCOM, ASM...
Вы таблицу истинности нарисуйте ваших Pv и Vv, когда и какие события происходят. Сдается алгоритм ошибочен.
А вообще что за такое "смертельную ошибку"? Компилятор баскома выдает или кто?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Программа
СообщениеДобавлено: 14 июн 2012, 00:51 
Не в сети
Аватара пользователя

Зарегистрирован: 12 июл 2011, 00:49
Сообщения: 94
прог. языки: Basic (VB, Blitz), Pascal, Delphi 7, C++
Pv и Vv: Если оба 1 то шаговик сделав 1 цикл, остановится на 20 мс и продолжит крутиться. Если коротко, это только для переключения режимов.


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

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


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

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


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

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