roboforum.ru

Технический форум по робототехнике.
Текущее время: 01 мар 2025, 09:05

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




Начать новую тему Ответить на тему  [ Сообщений: 43 ]  На страницу Пред.  1, 2, 3
Автор Сообщение
 Заголовок сообщения: Re: BASCOM AVR вопросы и ответы
СообщениеДобавлено: 25 мар 2009, 09:52 
Не в сети
Аватара пользователя

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: BASCOM AVR вопросы и ответы
СообщениеДобавлено: 09 апр 2009, 23:43 
Не в сети
Аватара пользователя

Зарегистрирован: 12 янв 2009, 21:39
Сообщения: 1266
Откуда: Чебоксары, Чувашская Республика
Skype: roman.buhalov
прог. языки: Basic, VisualBasic,Pascal, Delphi, ASM
ФИО: Роман Сергеевич
Забыл ответить, извините.
Вопрос решён, но вот дело в том что непонятно как он решился. Просто сегмент стал работать нормально и всё.

Думаю мож де замыкало.

Всем спасибо.

_________________
«Это невозможно» — сказала Причина. «Это безрассудно!» — заметил Опыт. «Это бесполезно!» — отрезала Гордость.
«Попробуй» — шепнула Мечта…


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: BASCOM AVR вопросы и ответы
СообщениеДобавлено: 15 апр 2009, 02:03 
Не в сети
Аватара пользователя

Зарегистрирован: 12 янв 2009, 21:39
Сообщения: 1266
Откуда: Чебоксары, Чувашская Республика
Skype: roman.buhalov
прог. языки: Basic, VisualBasic,Pascal, Delphi, ASM
ФИО: Роман Сергеевич
Вопрос про RND ...

хотя RND функция, которая возвращает произвольное значение.., но при каждом включении программы она все же возвращает те же произвольные упорядоченные значения... :o
Какая функция в Bascom AVR делает так, чтобы при каждом включении программы RND возвращала разные значения?...
Например как в Visual Basic или просто Basic- Randomize Timer, Randomize(Timer).

А то робот, зараза, делает все тоже самое((

_________________
«Это невозможно» — сказала Причина. «Это безрассудно!» — заметил Опыт. «Это бесполезно!» — отрезала Гордость.
«Попробуй» — шепнула Мечта…


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: BASCOM AVR вопросы и ответы
СообщениеДобавлено: 15 апр 2009, 04:38 
Не в сети
Аватара пользователя

Зарегистрирован: 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: BASCOM AVR вопросы и ответы
СообщениеДобавлено: 15 апр 2009, 09:26 
Не в сети
Аватара пользователя

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: BASCOM AVR вопросы и ответы
СообщениеДобавлено: 18 апр 2009, 15:20 
Не в сети
Аватара пользователя

Зарегистрирован: 12 янв 2009, 21:39
Сообщения: 1266
Откуда: Чебоксары, Чувашская Республика
Skype: roman.buhalov
прог. языки: Basic, VisualBasic,Pascal, Delphi, ASM
ФИО: Роман Сергеевич
да пронятно что можно использовать внешние значения...
а так по себе в МК Bascome нет такой функции?

_________________
«Это невозможно» — сказала Причина. «Это безрассудно!» — заметил Опыт. «Это бесполезно!» — отрезала Гордость.
«Попробуй» — шепнула Мечта…


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: BASCOM AVR вопросы и ответы
СообщениеДобавлено: 18 апр 2009, 15:33 
Не в сети
Аватара пользователя

Зарегистрирован: 04 дек 2008, 22:44
Сообщения: 4363
Откуда: Камышин
Skype: galk-aleksandr1
прог. языки: Kotlin, Java, C, C++, Assm, BasCom, VB, php
ФИО: Галкин Александр Владимирович
Как в Хелпе Bascom написано:
Код:
You can use a different SEED value by dimensioning and assigning ___RSEED yourself:
Dim ___rseed as word : ___rseed = 10234
Dim I as word : I = rnd(10)

When your application uses a timer you can assign ___RSEED with the timer value. This will give a better random number.

В общем задаешь ___rseed или через таймер или по показаниям датчиков и будет тебе почти полный рандомайз

_________________
if(!Operate) Read(pDatasheet);


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: BASCOM AVR вопросы и ответы
СообщениеДобавлено: 18 апр 2009, 15:54 
Не в сети
Аватара пользователя

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

Без внешних данных с одним только таймером всегда будет одна и та же последовательность

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

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



Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: BASCOM AVR вопросы и ответы
СообщениеДобавлено: 12 май 2009, 02:03 
Не в сети
Аватара пользователя

Зарегистрирован: 04 дек 2008, 22:44
Сообщения: 4363
Откуда: Камышин
Skype: galk-aleksandr1
прог. языки: Kotlin, Java, C, C++, Assm, BasCom, VB, php
ФИО: Галкин Александр Владимирович
Ниже выкладываю код таймера на 3 минуты для Меги 32/88. При желании можете сделать на любое другое время
Код:
'фусибиты
$prog &HFF , &HE4 , &HD9 , &H00

'камень
$regfile = "m32DEF.dat"
$crystal = 7372800
$baud = 115200
Config Serialin = Buffered , Size = 20

$hwstack = 64
$swstack = 64
$framesize = 64

Dim Tick As Word
Dim I As Byte
Dim T As Word
Dim Cnt As Byte

Declare Sub Swait(byval Secs As Word)

On Ovf0 Timr0
Config Timer0 = Timer , Prescale = 1024
Enable Interrupts
Enable Timer0

' Ниже следует отладочное сообщение в RS-232 порт
Ucsrb.rxen = 0
Print "start tmr"
Ucsrb.rxen = 1

Start Timer0

Cnt = 0
Call Swait(180)                                              ' wait 3 munutes
Ucsrb.rxen = 0
Print "Ok"
Ucsrb.rxen = 1

Do

Loop

Timr0:
  ' timer 0 overflow occurred
   Incr Cnt
   If Cnt = 32 Then
   Incr Tick
   Cnt = 0
   End If
Return

Sub Swait(secs As Word)
  ' do an stand-by wait for the specified number of seconds
  Tick = 0
  While Secs >= Tick
    Gosub Sbymode
  Wend
End Sub

Sbymode:
  ' put the processor into an stand-by mode sleep state for approximately
  ' one milli second based on 1 MHz clock and 1024 timer 0 prescale
  $asm
    push r18                                                ' save current r18
    push r19                                                ' save current r19
    in   r19,SREG                                           ' get current status reg
    in   r18,MCUCR                                          ' get current MCU cntl reg
'    ori  r18,$E0                                            ' set stand by mode (SE + SM2 + SM1)   Мега 88
    ori  r18,$0B                                            ' set stand by mode (SE + SM2 + SM1)    Мега 32

    !out MCUCR,r18                                          ' set MCU cntl reg
    sleep                                                   ' put MCU into idle mode sleep
    '--------waiting to return after timer0 overflow and MCU awake
    !out  SREG,r19                                          ' restore status reg
    pop r19                                                 ' restore old r19
    pop r18                                                 ' restore old r18
  $end Asm
Return

_________________
if(!Operate) Read(pDatasheet);


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: BASCOM AVR вопросы и ответы
СообщениеДобавлено: 18 дек 2009, 23:28 
Не в сети

Зарегистрирован: 18 дек 2009, 23:17
Сообщения: 2
Откуда: СПб
Всем привет. Заранее прошу прощения если не туда пишу. Пишу программу для вывода на семисегментный четырехразрядный индикатор. Возникла такая проблема. Не могу решить уже несколько дней. Надо разделить число на отдельные цифры. Т.е. на входе имеем число D=1234, а на выходи должно получиться четыре числа D1=1, D2=2, D3=3, D4=4. Спасибо


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: BASCOM AVR вопросы и ответы
СообщениеДобавлено: 18 дек 2009, 23:37 
Не в сети
Аватара пользователя

Зарегистрирован: 23 окт 2007, 22:03
Сообщения: 3037
Откуда: Москва
прог. языки: С
ФИО: Евгений Яковец
1234 делишь на 1000, получаешь D1.
Остаток от деления делишь на 100, получаем D2.
Ну т т. д. :)

_________________
- Этот человек - не человек! это робот!
- Как? уже делают?!
- Делают!!!


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: BASCOM AVR вопросы и ответы
СообщениеДобавлено: 19 дек 2009, 00:41 
Не в сети

Зарегистрирован: 18 дек 2009, 23:17
Сообщения: 2
Откуда: СПб
Так просто!!! А я наооборот сначала на 10 делил, потом еще на 10...И ничего не получилось. Спасибо за ответ!!!


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: BASCOM AVR вопросы и ответы
СообщениеДобавлено: 19 дек 2009, 05:57 
Не в сети
Аватара пользователя

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

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

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



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

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


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

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


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

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