Воскресенье, 23.06.2024, 14:46
| RSS
[SEARCH_TITLE]
[SEARCH_FORM]
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 5 из 6
  • «
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • »
Архив - только для чтения
Вопросы по программированию в Bascom AVR
SpaceДата: Суббота, 03.07.2010, 10:35 | Сообщение # 61








Зарегистрирован 25.12.2007
Группа: Администраторы
Сообщений: 1103
Статус: Offline
Ну этож легко:
If B=1 Then : B=1+S : else : B=3 : End If
If B=1 or B=2 Then : B=1+S : else : B=3 : End If
Так записывать в BascomAvr.
 
DimsanДата: Суббота, 03.07.2010, 11:09 | Сообщение # 62








Язык программированя: Си, Делфи
Зарегистрирован 18.06.2009
Группа: Опытные
Сообщений: 252
Город: Херсон
Статус: Offline
Нет. Space, посмотри мой последний пост. Ему нужно несколько условий и как их объединить.
 
SpaceДата: Воскресенье, 04.07.2010, 14:38 | Сообщение # 63








Зарегистрирован 25.12.2007
Группа: Администраторы
Сообщений: 1103
Статус: Offline
А ну если объединить тогда так:
If B=1 Then : B=1+S
Elseif B=2 Then : B=1+P
Elseif B=3 Then : B=1+Q : else : B=3 : End If
 
SkylineДата: Вторник, 06.07.2010, 12:20 | Сообщение # 64








Зарегистрирован 20.02.2010
Группа: Новички
Сообщений: 50
Город: Уральск
Статус: Offline
А можно пояснить, что означает +S, +P, +Q?
 
SpaceДата: Вторник, 06.07.2010, 21:57 | Сообщение # 65








Зарегистрирован 25.12.2007
Группа: Администраторы
Сообщений: 1103
Статус: Offline
Хорошо тогда так напишу чтоб понятней было:

Code
If условие Then : действие
Elseif условие Then : действие
Elseif условие Then : действие : else : действие : End If

Здесь есть описание этих команд http://robotsspace.ucoz.ru/publ/8-1-0-46
Скачай книги по баскому http://robotsspace.ucoz.ru/forum/17-263-1

 
SkylineДата: Пятница, 09.07.2010, 11:11 | Сообщение # 66








Зарегистрирован 20.02.2010
Группа: Новички
Сообщений: 50
Город: Уральск
Статус: Offline
Здравствуйте! Помогите если сможете еще с одной прогой на этот раз протокол RC-5. Проблема в том что срабатывает только первая команда, т.е. скажешь ехать "Вперёд" поедет вперед и все, на все последующие команды не реагирует. Бывает через какое-то время работает все нормально, принимаются все команды в любой последовательности. Думаю что проблема кроется в программе.
Code
$regfile = "m16def.dat"
$crystal = 16000000
$lib "mcsbyte.lbx"
Config Rc5 = Pind.2
Enable Timer0

Config Pina.0 = Output : Fr Alias Porta.0
Config Pina.1 = Output : Br Alias Porta.1
Config Pina.2 = Output : Bl Alias Porta.2
Config Pina.3 = Output : Fl Alias Porta.3
Config Pinb.0 = Output : Led1 Alias Portb.0
Config Pinb.1 = Output : Led2 Alias Portb.1
Config Pinb.2 = Output : Led3 Alias Portb.2

Dim Address As Byte , Command As Byte

Enable Interrupts

Do

Getrc5(address , Command)
      If Address <> 255 And Command <> 255 Then
       Command = Command And &B01111111
      End If
      If Command = 32 Then : Set Led1
       Gosub Вперёд
       Waitms 100
      Elseif Command = 17 Then : Set Led2
       Gosub Влево
       Waitms 100
      Elseif Command = 16 Then : Set Led3
       Gosub Вправо
       Waitms 100
      Elseif Command = 33 Then : Reset Led1
       Gosub Назад
       Waitms 100
      Elseif Command = 1 Then : Reset Led2
       Gosub Стоп
       Waitms 100
      End If

Loop
 
SpaceДата: Пятница, 09.07.2010, 11:20 | Сообщение # 67








Зарегистрирован 25.12.2007
Группа: Администраторы
Сообщений: 1103
Статус: Offline
вообще рц5 я толком не смог запустить на меге16. не знаю в чём там причина была, но точно не впроге. пробовал на тиньке2313 туже прогу что на меге работало всё отлично. Но были подозрения, что фьюзы не те прошиты для меги
 
SkylineДата: Пятница, 09.07.2010, 11:28 | Сообщение # 68








Зарегистрирован 20.02.2010
Группа: Новички
Сообщений: 50
Город: Уральск
Статус: Offline
В том то и проблема, что бывает толком работает даже отлично, а бывает в отказ, только первую команду!
 
SpaceДата: Суббота, 10.07.2010, 01:04 | Сообщение # 69








Зарегистрирован 25.12.2007
Группа: Администраторы
Сообщений: 1103
Статус: Offline
я знаю, таже фигня была. попробуй на тиньке
 
SkylineДата: Четверг, 15.07.2010, 13:04 | Сообщение # 70








Зарегистрирован 20.02.2010
Группа: Новички
Сообщений: 50
Город: Уральск
Статус: Offline
Всем здравствуйте! Разобрался с RC-5, походу все проблемы были от помех создаваемые двигателями в нагруженном состоянии, поставил на движки кондеры и все пучком!
Теперь вопросы по поводу ШИМ, использую вот этот ДД http://robotsspace.ucoz.ru/publ/7-1-0-50.
1)На всех платах ДД, котрые я видел было по 4 вывода, здесь 6, вопрос зачем?
2)Касаемо подключения, просто вешать все 6 выводов на порты МК?
3)Подключение программно; как правильно обозначить порты ШИМ в проге?


Сообщение отредактировал Skyline - Четверг, 15.07.2010, 13:06
 
DimsanДата: Четверг, 15.07.2010, 13:19 | Сообщение # 71








Язык программированя: Си, Делфи
Зарегистрирован 18.06.2009
Группа: Опытные
Сообщений: 252
Город: Херсон
Статус: Offline
Что-то не могу пройти по ссылке. Если этот ДД расчитан на 2 двигателя, то на каждый по 3 ноги: 2 определяют направление вращения, а 3-я -ШИМ
Если так, то вешаешь всё на МК.
Обозначить в каком смысле? Можешь вешать на любые порты или на те, где есть аппаратный ШИМ.
 
SkylineДата: Четверг, 15.07.2010, 13:39 | Сообщение # 72








Зарегистрирован 20.02.2010
Группа: Новички
Сообщений: 50
Город: Уральск
Статус: Offline
ДД с L293D, который лежит на этом сайте в разделе "Статьи" http://robotsspace.ucoz.ru/publ/7-1-0-50
На меге 16 аппаратный ШИМ на каких ногах есть?
 
SpaceДата: Четверг, 15.07.2010, 14:18 | Сообщение # 73








Зарегистрирован 25.12.2007
Группа: Администраторы
Сообщений: 1103
Статус: Offline
Quote (Dimsan)
Если этот ДД расчитан на 2 двигателя, то на каждый по 3 ноги: 2 определяют направление вращения, а 3-я -ШИМ
Если так, то вешаешь всё на МК.

всё верно сказанно.
Quote (Skyline)
На меге 16 аппаратный ШИМ на каких ногах есть?

PD4 и PD5
 
SkylineДата: Суббота, 24.07.2010, 14:10 | Сообщение # 74








Зарегистрирован 20.02.2010
Группа: Новички
Сообщений: 50
Город: Уральск
Статус: Offline
Спасибо! Будем разбираться!

Добавлено (24.07.2010, 14:10)
---------------------------------------------
Блин еще одна проблема! В окне программирования( где фьюзы и прочее..) нажал Clear buffer, очистка буффера насколько я понял, и теперь значек программирования стал красным. Шить то вроде шьет, только после прошивки вылазит окошко с Difference at 00000. Мало того что некоторые фьюзы слетели так и проги не работают! Кто знает как назад вернуть?

Сообщение отредактировал Skyline - Суббота, 24.07.2010, 14:11
 
QwertyДата: Среда, 28.07.2010, 23:28 | Сообщение # 75








Зарегистрирован 27.07.2010
Группа: Новички
Сообщений: 2
Город: 123
Статус: Offline
Уважаемый Spase! Не могли бы вы помочь разобраться с подключением ЖК 16х2 к любым пинам.
Нашел ваше сообщение с прикрепленными примерами, но к сожалению архив пуст.
Вот мой код, ткните носом, где ошибка:

Code

$regfile = "m8def.dat"
$crystal = 8000000
$lib "LUC_lcd4busy.lib"                    ' use the alternative library

' These are the 22 constants for the above connections:

Const _lcddb4_portx = Portb                    'Valid values: PORTA, PORTB, PORTC, PORTD, PORTE.
Const _lcddb4_ddrx = Ddrb                    'Valid values: DDRA, DDRB, DDRC, DDRD, DDRE.
Const _lcddb4_pinnumber = 0                    'Valid values: 0, 1, 2, 3, 4, 5, 6, 7.

Const _lcddb5_portx = Portd                    'Valid values: PORTA, PORTB, PORTC, PORTD, PORTE.
Const _lcddb5_ddrx = Ddrd                    'Valid values: DDRA, DDRB, DDRC, DDRD, DDRE.
Const _lcddb5_pinnumber = 7                    'Valid values: 0, 1, 2, 3, 4, 5, 6, 7.

Const _lcddb6_portx = Portd                    'Valid values: PORTA, PORTB, PORTC, PORTD, PORTE.
Const _lcddb6_ddrx = Ddrd                    'Valid values: DDRA, DDRB, DDRC, DDRD, DDRE.
Const _lcddb6_pinnumber = 6                    'Valid values: 0, 1, 2, 3, 4, 5, 6, 7.

Const _lcddb7_portx = Portd                    'Valid values: PORTA, PORTB, PORTC, PORTD, PORTE.
Const _lcddb7_ddrx = Ddrd                    'Valid values: DDRA, DDRB, DDRC, DDRD, DDRE.
Const _lcddb7_pinx = Pind                    'Valid values: PINA, PINB, PINC, PIND, PINE.
Const _lcddb7_pinnumber = 5                    'Valid values: 0, 1, 2, 3, 4, 5, 6, 7.

Const _lcde_portx = Portb                    'Valid values: PORTA, PORTB, PORTC, PORTD, PORTE.
Const _lcde_ddrx = Ddrb                    'Valid values: DDRA, DDRB, DDRC, DDRD, DDRE.
Const _lcde_pinnumber = 1                    'Valid values: 0, 1, 2, 3, 4, 5, 6, 7.

Const _lcdrw_portx = Portb                    'Valid values: PORTA, PORTB, PORTC, PORTD, PORTE.
Const _lcdrw_ddrx = Ddrb                    'Valid values: DDRA, DDRB, DDRC, DDRD, DDRE.
Const _lcdrw_pinnumber = 3                    'Valid values: 0, 1, 2, 3, 4, 5, 6, 7.

Const _lcdrs_portx = Portb                    'Valid values: PORTA, PORTB, PORTC, PORTD, PORTE.
Const _lcdrs_ddrx = Ddrb                    'Valid values: DDRA, DDRB, DDRC, DDRD, DDRE.
Const _lcdrs_pinnumber = 2                    'Valid values: 0, 1, 2, 3, 4, 5, 6, 7.

Config Lcd = 16 * 2

Cursor Off Noblink
Cls

Waitms 1000

LCD "Hello!"
Waitms 1000
Cls
waitms 100

Lcd "1234567890"                            

Do
     !nop
Loop

End                            'end program

Добавлено (28.07.2010, 23:28)
---------------------------------------------
Еще вопрос:
Можно ли таймером делить частоту кварца на число не кратное 8?
Например не на 128 а на 129 или 130 ?

Сообщение отредактировал Qwerty - Среда, 28.07.2010, 21:30
 
  • Страница 5 из 6
  • «
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • »
Поиск: