Администрация форума не несёт ответственности за достоверность информации и оставляет за собой право редактировать или в особых случаях даже удалять посты без предупреждения. Спасибо за понимание.

Программирование ATMEL в BASCOM.

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.


Вы здесь » Программирование ATMEL в BASCOM. » Вопросы - ответы » Отрицательные числа


Отрицательные числа

Сообщений 1 страница 4 из 4

1

Что, баском не умеет сравнивать отрицательные числа?  :O
Вот код

Код:
Sub Thermocontrol(thermo As Integer , Thermosetting As Integer)
 If Thermo <= Thermosetting Then
   Out_thermostat = 1
 Else
   Out_thermostat = 0
 End If
End Sub

Пока числа положительные, всё работает как надо, но если они становятся отрицательными, то работает не корретно! :tired:
Как с этим бороться?

0

2

Оказалось что это баг протеуса, а не баскома.
Странно что всё остальное нормально симулировалось в протеусе, а тут вылез баг.
Обновил протеус и сейчас все ОК.
Тему можно удалить.

0

3

начитавшись о приколах Симуляторов вообще ими не пользуюсь, мне как-то проще в железе отладить, да в UART вывести при отладке...
Ну, тут каждому - своё

0

4

Нашел очередной баг протеуса (версия 7.8 SP2). Вот такой простой код.

Код:
$regfile = "m328pdef.dat"
$crystal = 16000000
$hwstack = 64
$swstack = 64
$framesize = 64

Config Portd.3 = Output
Portd.3 = 0

Config Int0 = Rising
On Int0 Int_0
Enable Int0

Config Watchdog = 4096 
Reset Watchdog
Start Watchdog

Enable Interrupts

Do
  Reset Watchdog
  Idle
Loop

Int_0:
  Toggle Portd.3
Return

На вход внешнего прерывания поступают импульсы с частотой 100 Гц. На выходе PortD.3 совсем не то что должно быть. Если закомментировать эти строки.

Код:
Config Watchdog = 4096 
Reset Watchdog
Start Watchdog

То работает как должно.

0


Вы здесь » Программирование ATMEL в BASCOM. » Вопросы - ответы » Отрицательные числа