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

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

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

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


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


проблема с waitus и waitms

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

1

доброго всем здоровья

такая бяка: проблема с waitus и waitms   

в некоторых участках программы - всё как часики работает
а в некоторых - полный пипец!

а еще заметил, что портятся переменные в подпрограммах и функциях

пример:

  Temp = 22
  While Temp > 0
          Tx_out = 1
          Waitms 23
          Tx_out = 0
          Waitms 22
       Decr Temp
  Wend

в подпрограмме портится любая переменная (что temp - байт, что temp как word)
выношу выше подпрограммы - работает = 22 такта
а внутри - около 90!

уже и функцию в подпрограмму превратил - фиг там!
впервой такое

лицензия, версия - последняя 2 0 7 3

0

2

1 С while - wend у меня была какая-то глючность - не помню как проявлялось
2 Альтернативно можно применить do - until temp=0
3 Но я всегда применяю самое понятное - такую конструкцию
M0:
If Temp = 0 then goto m1
          Tx_out = 1
          Waitms 23
          Tx_out = 0
          Waitms 22
          Decr Temp
goto M0
M1:
и по размеру кода это получается на 14 байт меньше!?
4 Вообще, ищи свою глобальную ошибку

0

3

эта проблема уже не в первой :(

вылечить ничем не могу, уже и через IF делал, и WHILE, и Do

причем бяка какая: вставил анализ переменной в эту часть кода - верная переменная!

Перешел на FastAVR (была почти 50% наработка подобной программы в нём), кое-что вставил на ассме - как часики заработало! (правда, что-то ЖКИ не пашет - надо разбираться)

0

4

шутите - я ж не первый год с МК

переписал прогу под FastAVR? всё заработало, объем прошивки уменьшился почти в 3 раза!

0

5

В баском писали, что на это ответили?
Ребята кстати молодцы, быстро реагируют.

0


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