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

Обсуждаем контроллеры компании Atmel.
Аватара пользователя
Gordon Shumway
Мучитель микросхем
Сообщения: 485
Зарегистрирован: Пн авг 20, 2007 21:35:45
Откуда: Мытищи, Московская область
Контактная информация:

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

Сообщение Gordon Shumway »

pavel1979 писал(а):камень не менял,мега32,вообще в программе ничего не менял
ошибка-out of sram space=выход за пределы памяти
если ставить мегу128 то все нормально компилируется...


Всё правильно, библиотека avr-dos прожорлива, начинает компилиться от меги 64 и выше. Под мегу32 нужно сделать изменения:

файл CONFIG_AVR-DOS.bas
Const Cfilehandles = 1 ' [default = 2]
Const Csepfathandle = 0 ' [default = 1
С уважением,
Алексей.
pavel1979
Мучитель микросхем
Сообщения: 494
Зарегистрирован: Пн авг 12, 2013 19:07:47
Откуда: башкирия мелеуз

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

Сообщение pavel1979 »

понятно,спасибо!а я размечтался-думал откомпилировать под мегу16-выше ничего нет! :))
Аватара пользователя
Gordon Shumway
Мучитель микросхем
Сообщения: 485
Зарегистрирован: Пн авг 20, 2007 21:35:45
Откуда: Мытищи, Московская область
Контактная информация:

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

Сообщение Gordon Shumway »

max50 писал(а):Сам с ней еще не работал(пока лежит до лучших времен), по описанию вроде все одинаково.


Эксперимент с DS1338z33 прошел удачно, вместо 1307 один в один, ничего корректировать не пришлось, все работает. Только от трех вольт. :) В активном режиме ест примерно 0,6 мА.
С уважением,
Алексей.
Аватара пользователя
max50
Мучитель микросхем
Сообщения: 497
Зарегистрирован: Ср дек 10, 2008 21:24:28
Откуда: Алтайский край, Барнаул

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

Сообщение max50 »

Gordon Shumway писал(а):Эксперимент с DS1338z33 прошел удачно

Вот и хорошо.
Того, кто не задумывается о далеких трудностях, ожидают близкие неприятности.
Аватара пользователя
Gordon Shumway
Мучитель микросхем
Сообщения: 485
Зарегистрирован: Пн авг 20, 2007 21:35:45
Откуда: Мытищи, Московская область
Контактная информация:

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

Сообщение Gordon Shumway »

max50 писал(а):
Gordon Shumway писал(а):Эксперимент с DS1338z33 прошел удачно

Вот и хорошо.


Спасибо за совет !
Теперь всё-таки нужно думать, что с щелчками делать. Вчера девайс "родился" - сказал первый раз всю фразу целиком, строя ее по считанным даным - щелчки рвут фразу, портя впечатление. Буду думать.
С уважением,
Алексей.
Аватара пользователя
evgenkostin
Родился
Сообщения: 5
Зарегистрирован: Пт фев 14, 2014 00:00:05

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

Сообщение evgenkostin »

Ребят, подскажите почему при выводе на символьный ЖК экран (FECC1602B-NSWBBW-51LR) программа ощутимо замирает?

Кручу, перебирая портами с задержкой, шаговый двигатель и хотелось бы выводить угол поворота на экранчик. Так в момент вывода мотор затупливает.
Экран подключен по 4-ёх битной схеме, RW на землю.
Аватара пользователя
ИС-пытатель
Вымогатель припоя
Сообщения: 577
Зарегистрирован: Ср июн 19, 2013 08:10:48
Откуда: Москва, СПб, Липецк, Рязань

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

Сообщение ИС-пытатель »

Так, возможно, у Вас (или в используемой Вами библиотеке) введены какие-то задержки для нормальной работы экрана? ;) Организуйте фоновую задержку (через флаги), чтобы у Вас во время нее выполнялись другие куски программы.
Аватара пользователя
evgenkostin
Родился
Сообщения: 5
Зарегистрирован: Пт фев 14, 2014 00:00:05

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

Сообщение evgenkostin »

Вроде я никакими библиотеками и задержками не пользовался :)

часть кода касающаяся экрана выглядит так:

Код: Выделить всё

Config Lcdpin = Pin , Db4 = Portc.2 , Db5 = Portc.3 , Db6 = Portc.4 , Db7 = Portc.5 , E = Portb.5 , Rs = Portb.4
Config Lcd = 16 * 2
Cursor Off Noblinkd
Cls : Locate 1 , 1 : Lcd ang ; "angle"
Аватара пользователя
ИС-пытатель
Вымогатель припоя
Сообщения: 577
Зарегистрирован: Ср июн 19, 2013 08:10:48
Откуда: Москва, СПб, Липецк, Рязань

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

Сообщение ИС-пытатель »

Cursor Off Noblinkd - А это что и откуда? Наверняка, макрос какой-то? или встроенная библа.
Возможно еще, ожидаете вечным циклом отклика от дисплея.
P.S. Просто так, из воздуха и из ниоткуда ничего не берется.
Аватара пользователя
Gordon Shumway
Мучитель микросхем
Сообщения: 485
Зарегистрирован: Пн авг 20, 2007 21:35:45
Откуда: Мытищи, Московская область
Контактная информация:

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

Сообщение Gordon Shumway »

ИС-пытатель писал(а):Cursor Off Noblinkd - А это что и откуда? Наверняка, макрос какой-то? или встроенная библа.


Это команды отключения курсора и его мигания. Только и всего. Я тоже замечал, что программа тормозится при выводе на дисплей.
С уважением,
Алексей.
Аватара пользователя
ИС-пытатель
Вымогатель припоя
Сообщения: 577
Зарегистрирован: Ср июн 19, 2013 08:10:48
Откуда: Москва, СПб, Липецк, Рязань

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

Сообщение ИС-пытатель »

Так эти команды наверняка реализуются по какому-то встроенному механизму, библиотеке? ;) Попробуйте взять описание на дисплей и сделать обращение к нему через порты. Т.е. сами проставляете команды и задержки.
lionp
Открыл глаза
Сообщения: 64
Зарегистрирован: Пн мар 22, 2010 21:48:17

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

Сообщение lionp »

Добрейшее утречко! Пытаюсь постичь BASCOM. Есть программка, которая мне интересна, но там в работе задействован только один порт и собственно вопрос: как "прикрутить" остальные порты контроллера на выход? Сколько не бился, "барсик" ругается на какие то ошибки, а если всё норм, то в "шпроте" не симулируется. Прошу помощи всех разбирающихся! Камешек ATtiny13, исходник и схему прилагаю.

$regfile = "ATtiny13.dat"
$hwstack = 16
Config Pinb.4 = Output

Dim A As Byte
Dim H As Byte , H1 As Byte
Dim F1 As Byte , F2 As Byte
Dim P As Word
'**************************************
Dim ___rseed As Word : ___rseed = 2400
'***************************************
'Bei jedem Tiny einen anderen Startwert setzen!

Do
P = Rnd(5000) 'время паузы
F1 = Rnd(100) 'Flackerzeit
H1 = Rnd(180) 'значение яркости
H = H1 + 75
For F2 = 0 To F1
Portb.4 = 1
For A = 0 To 255
If H = A Then Portb.4 = 0
Waitus 15
Next A
Next F2
Portb.4 = 1
Waitms P
Loop
End
Вложения
Candle.jpg
(56.24 КБ) 730 скачиваний
Никогда не бойся делать то, что ты не умеешь делать. Помни, ковчег был построен любителем. Профессионалы построили "Титаник".
Аватара пользователя
Gordon Shumway
Мучитель микросхем
Сообщения: 485
Зарегистрирован: Пн авг 20, 2007 21:35:45
Откуда: Мытищи, Московская область
Контактная информация:

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

Сообщение Gordon Shumway »

lionp писал(а): как "прикрутить" остальные порты контроллера на выход? Сколько не бился, "барсик" ругается на какие то ошибки, а если всё норм, то в "шпроте" не симулируется.

Код: Выделить всё

Config Pinb.4 = Output



Напишите

Код: Выделить всё

Config PORTB.4 = output


И ошибки в студию несите.

А вообще в Баскоме конфигурация отдельных пинов порта на выход:
Config PORTX.X = output,
а всего порта
Config PORTX = output.

Конфигурация на вход аналогично:
Config PinX.X = input,
а всего порта
Config PinX = input.

Тут вас, если я правильно понял, програмный шим. У меня в протеусе не получалось его симулировать, светодиод отфанарно моргает.
Последний раз редактировалось Gordon Shumway Вс май 11, 2014 10:56:42, всего редактировалось 1 раз.
С уважением,
Алексей.
lionp
Открыл глаза
Сообщения: 64
Зарегистрирован: Пн мар 22, 2010 21:48:17

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

Сообщение lionp »

Gordon Shumway писал(а):
lionp писал(а): как "прикрутить" остальные порты контроллера на выход? Сколько не бился, "барсик" ругается на какие то ошибки, а если всё норм, то в "шпроте" не симулируется.

Код: Выделить всё

Config Pinb.4 = Output



Напишите

Код: Выделить всё

Config PORTB.4 = output


А вообще в Баскоме конфигурация отдельных пинов порта на выход:
Config PORTX.X = output,
а всего порта
Config PORTX = output.

Конфигурация на вход аналогично:
Config PinX.X = input,
а всего порта
Config PinX = input.


Так я и писал Config PORTB = output, а затем во всей программке заменил PORTB.4 на PORTB. Ругается зараза! :))
Никогда не бойся делать то, что ты не умеешь делать. Помни, ковчег был построен любителем. Профессионалы построили "Титаник".
Аватара пользователя
Gordon Shumway
Мучитель микросхем
Сообщения: 485
Зарегистрирован: Пн авг 20, 2007 21:35:45
Откуда: Мытищи, Московская область
Контактная информация:

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

Сообщение Gordon Shumway »

lionp писал(а):Так я и писал Config PORTB = output, а затем во всей программке заменил PORTB.4 на PORTB. Ругается зараза! :))


Ошибки в студию, так как непонятно почему ругается.
С уважением,
Алексей.
lionp
Открыл глаза
Сообщения: 64
Зарегистрирован: Пн мар 22, 2010 21:48:17

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

Сообщение lionp »

Gordon Shumway писал(а):
lionp писал(а):Так я и писал Config PORTB = output, а затем во всей программке заменил PORTB.4 на PORTB. Ругается зараза! :))


Ошибки в студию, так как непонятно почему ругается.



Вот моя програмулина:
$regfile = "ATtiny13.dat"
$hwstack = 16
Config Portb = Output

Dim A As Byte
Dim H As Byte , H1 As Byte
Dim F1 As Byte , F2 As Byte
Dim P As Word
'**************************************
Dim ___rseed As Word : ___rseed = 2400
'***************************************
'Bei jedem Tiny einen anderen Startwert setzen!

Do
P = Rnd(5000) 'Pausenzeit
F1 = Rnd(100) 'Flackerzeit
H1 = Rnd(180) 'Helligkeitswert
H = H1 + 75
For F2 = 0 To F1
Portb = 1
For A = 0 To 255
If H = A Then Portb = 0
Waitus 15
Next A
Next F2
Portb = 1
Waitms P
Loop
End


а вот ошибки:

Error : 22 Line : 5 Out of SRAM space , in File : C:\bascom 2.0.7.5\Candle.bas
Error : 22 Line : 6 Out of SRAM space , in File : C:\bascom 2.0.7.5\Candle.bas
Error : 22 Line : 6 Out of SRAM space , in File : C:\bascom 2.0.7.5\Candle.bas

А в Протеус пишет такое:Invalid opcode 0x940E at PC=0x0046
Никогда не бойся делать то, что ты не умеешь делать. Помни, ковчег был построен любителем. Профессионалы построили "Титаник".
Sergik07
Родился
Сообщения: 19
Зарегистрирован: Вт сен 10, 2013 18:12:58

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

Сообщение Sergik07 »

Ошибка 22 - это нехватка свободной памяти SRAM
Для тини13 обычно указывают полный набор ,например:

Код: Выделить всё

$hwstack=8
$swstack=8
$framesize=16
lionp
Открыл глаза
Сообщения: 64
Зарегистрирован: Пн мар 22, 2010 21:48:17

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

Сообщение lionp »

Sergik07 писал(а):Ошибка 22 - это нехватка свободной памяти SRAM
Для тини13 обычно указывают полный набор ,например:

Код: Выделить всё

$hwstack=8
$swstack=8
$framesize=16


С этим я уже разобрался. А вот почему не симулирует в Протеус, непонятно.
Никогда не бойся делать то, что ты не умеешь делать. Помни, ковчег был построен любителем. Профессионалы построили "Титаник".
Sergik07
Родился
Сообщения: 19
Зарегистрирован: Вт сен 10, 2013 18:12:58

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

Сообщение Sergik07 »

С Протеусом я на "вы" :) ,потому и отлаживаю всё сразу в железе.
lionp
Открыл глаза
Сообщения: 64
Зарегистрирован: Пн мар 22, 2010 21:48:17

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

Сообщение lionp »

Sergik07 писал(а):С Протеусом я на "вы" :) ,потому и отлаживаю всё сразу в железе.


Самое противное, что оригинал программки работает, а моя компиляция-нет
Никогда не бойся делать то, что ты не умеешь делать. Помни, ковчег был построен любителем. Профессионалы построили "Титаник".
Ответить

Вернуться в «AVR»