Обсуждаем контроллеры компании Atmel.
Ответить

Re: BASCOM AVR в вопросах и ответах

Сб окт 27, 2018 10:10:43

А что у вас возращает остаток от деления? У меня - чепуху.

Код:
$regfile = "m48def.dat"
$sim

Dim L1 As Integer , L2 As Integer , L3 As Integer

Input "number1 " , L1
Input "number2 " , L2

Print "MOD: "
L3 = L1 Mod L2 : Print L3
Print "DIV: "
L3 = L1 / L2 : Print L3
End

Re: BASCOM AVR в вопросах и ответах

Вс окт 28, 2018 08:36:26

number1 33
number2 15
MOD:
3
DIV:
2

Re: BASCOM AVR в вопросах и ответах

Вс окт 28, 2018 09:06:26

Решил посмотреть на баском, у меня 2081.
Результат
number1 1234
number2 4321
MOD:
1234
DIV:
0

По идее 1234/4321 = 0,2855820411942
Последний раз редактировалось Цобачкин Вс окт 28, 2018 11:03:16, всего редактировалось 1 раз.

Re: BASCOM AVR в вопросах и ответах

Вс окт 28, 2018 11:00:54

Dim L1 As Integer , L2 As Integer , L3 As Integer - переменные целочисленные, без дробей.
Хотите с дробями, надо тип Single.
Dim L1 As Single, … и т.д.

Re: BASCOM AVR в вопросах и ответах

Вс окт 28, 2018 11:13:40

Но в хелпе вроде указано что может.

number1 123456789
number2 987654321
MOD:
123456789
DIV:
0

Это результат для кода
Код:
$regfile = "m48def.dat"
$sim

Dim L1 As Long , L2 As Long , L3 As Long

Input "number1 " , L1
Input "number2 " , L2

Print "MOD: "
L3 = L1 Mod L2 : Print L3
Print "DIV: "
L3 = L1 / L2 : Print L3

End


В общем, косяк. Надо писать свою функцию MyMOD. Получается, компилятор не покрыт даже базовым математическим тестом.

Re: BASCOM AVR в вопросах и ответах

Вс окт 28, 2018 11:15:23

А что Вам не нравится? Остаток числа 123456789 при делении на 987654321 равен, как ни странно, 123456789.
https://ru.wikipedia.org/wiki/Деление_с_остатком

Re: BASCOM AVR в вопросах и ответах

Вс окт 28, 2018 11:35:06

Вы правы, я недопонимал операцию MOD.

Re: BASCOM AVR в вопросах и ответах

Вс окт 28, 2018 15:58:21

MOD-это остаток от деления,например 7/3=2 и остаток=1,то есть 7 MOD 3=1

Re: BASCOM AVR в вопросах и ответах

Пт ноя 02, 2018 21:02:20

Здравствуйте, как выйти из цикла? А именно:

Цикл
Do
Что то считаем, скажем wait 600 (10минут)
Loop

Как выйти из цикла нажатием кнопки не дожидаясь завершения отсчета 10 минут?

Re: BASCOM AVR в вопросах и ответах

Пт ноя 02, 2018 21:14:34

Do
Что то считаем, скажем wait 600 (10минут)
Loop until кнопка=0

Re: BASCOM AVR в вопросах и ответах

Сб ноя 03, 2018 06:43:47

Выход из такого цикла превращается в увлекательную игру. :tea:

Re: BASCOM AVR в вопросах и ответах

Сб ноя 03, 2018 09:02:40

Насколько точная задержка нужна?

Добавлено after 6 minutes 13 seconds:
Dim Т As word

...
t = 0
do
incr t
waitms 100
loop until t = 6000 or кнопка нажата

Ну как то так.

Re: BASCOM AVR в вопросах и ответах

Сб ноя 24, 2018 20:28:34

Приветствую всех. Прошу помочь победить маленький кусочек кода, нужный для работы одного

устройства. Для упрощения схемы выходная часть заменена на светодиод. Алгоритм работы

такой:
Исходное состояние - тумблер выключен, под герконом - магнит.
1. Включаем тумблер - светик должен гореть независимо от расположения магнита и геркона.
2. Выключаем тумблер - светик должен погаснуть при поднесении магнита к геркону.

Вроде элементарная задачка, но у меня светик не горит, а мигает. Никак не могу понять,

как это дело исправить. Подскажите, буду очень благодарен.
Код маленький, поэтому вставлю его прямо в текст
Код:
Config Pinb.3 = Input
Config Pinb.4 = Input
Config Portb.2 = Output

Gerkon Alias Pinb.3
Pusk Alias Pinb.4
Rele Alias Portb.2

Do
If Pusk = 0 Then Set Rele
If Pusk = 1 Then
   If Gerkon = 0 Then Reset Rele
End If

Loop
Вложения
Схема.jpg
(29.57 KiB) Скачиваний: 399

Re: BASCOM AVR в вопросах и ответах

Сб ноя 24, 2018 21:05:29

Может светодиод мигающий?и надо так
Config Portb.3 = Input
Config Portb.4 = Input
остальное верно вроде

Re: BASCOM AVR в вопросах и ответах

Сб ноя 24, 2018 21:40:08

Нет, светодиод обычный, только что проверил.
И, насколько я знаю, на входе - Pin, а Port - на выходе. По крайней мере, я всегда так делал.

Re: BASCOM AVR в вопросах и ответах

Вс ноя 25, 2018 02:26:33

В протеусе нормально.
$regfile = "attiny13.dat"
$crystal = 9600000
$hwstack = 10
$swstack = 10
$framesize = 30

Config Pinb.3 = Input
Config Pinb.4 = Input
Config Portb.2 = Output

Gerkon Alias Pinb.3
Pusk Alias Pinb.4
Rele Alias Portb.2

Do
If Pusk = 0 Then Set Rele
If Pusk = 1 Then
If Gerkon = 0 Then Reset Rele
End If

Loop
Давай фузы посмотрим.

Re: BASCOM AVR в вопросах и ответах

Вс ноя 25, 2018 06:33:29

Добавил скриншот фьюзов. Все - по умолчанию.

Добавлено after 8 minutes 31 second:
Проверил еще раз - светик мигает с частотой примерно 5 Гц
Вложения
Фьюзы.jpg
(125.6 KiB) Скачиваний: 382

Re: BASCOM AVR в вопросах и ответах

Вс ноя 25, 2018 07:06:30

Внешняя подтяжка входов есть?

Re: BASCOM AVR в вопросах и ответах

Вс ноя 25, 2018 07:14:07

Внешняя подтяжка - сопротивления по 10к

Re: BASCOM AVR в вопросах и ответах

Вс ноя 25, 2018 07:27:26

Собрал в железе - все работает как положено, ничего не мигает. :solder: Попробуйте поменять порт, может в МК проблемы.
Ответить