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

Обсуждаем контроллеры компании Atmel.
Аватара пользователя
edm2007
Поставщик валерьянки для Кота
Сообщения: 2255
Зарегистрирован: Вт апр 21, 2009 22:24:10
Откуда: Иркутск
Контактная информация:

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

Сообщение edm2007 »

В папке установленной программы есть файлы DAT под все МК. В них такие строчки:

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

[INTS]
INT0=$001   ;External Interrupt0 Vector Address
INT1=$002   ;External Interrupt1 Vector Address
ICP1=$003   ;Input Capture1 Interrupt Vector Address
OC1A=$004   ;Output Compare1 Interrupt Vector Address
OVF1=$005   ;Overflow1 Interrupt Vector Address
OVF0=$006   ;Overflow0 Interrupt Vector Address
URXC=$007   ;UART Receive Complete Interrupt Vector Address
...........................................


Вот так они и обзываются (в примере для Attiny2313). Впрочем, когда Вы пишете Enable то выпадающий список и показывает что доступно...
"Слишком много людей ломаются, даже не подозревая о том, насколько близки к успеху они были в тот момент, когда упали духом". Томас Алва Эдисон
Аватара пользователя
Geka2000
Родился
Сообщения: 8
Зарегистрирован: Пн июн 20, 2011 10:05:00

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

Сообщение Geka2000 »

Вот спасибо!
а я балбес перерыл, думал что и не найду.
Странно что нигде в хелпе это не подчеркнули. или хотя б пример задания прерывания по шестнадцатеричному коду, я б уже и так ручками набрал бы по датащету! :beer:
Аватара пользователя
edm2007
Поставщик валерьянки для Кота
Сообщения: 2255
Зарегистрирован: Вт апр 21, 2009 22:24:10
Откуда: Иркутск
Контактная информация:

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

Сообщение edm2007 »

Да зачем себе жизнь усложнять. Вполне достаточно обращений по именам.

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

On OC1A T1_compare ' обзываем прерывание по совпадению
Enable Interrupts        ' разрешаем все прерывания                                         
Enable OC1A              ' и отдельно по совпадению

Do                            ' основной цикл
............................
Loop

T1_compare:             ' обработка прерывания
................
Return                                           


Не совсем понимаю Вашего стремления к "шестнадцатеричному коду". :)
"Слишком много людей ломаются, даже не подозревая о том, насколько близки к успеху они были в тот момент, когда упали духом". Томас Алва Эдисон
Аватара пользователя
Geka2000
Родился
Сообщения: 8
Зарегистрирован: Пн июн 20, 2011 10:05:00

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

Сообщение Geka2000 »

появилась еще одна свежая проблема.

Нобходимо получать данные по ЮАРТу.

взял хороший пример


    '----------
    ' flyroman by roboforum.ru ®2010
    ' Программа приема и отправки сообщений по UART/ Bascom AVR
    '----------
    $regfile = "m32def.dat"
    $crystal = 7372800
    $baud = 115200

    $framesize = 16
    $hwstack = 24
    $swstack = 16


    Dim Comchar As Byte 'принимаемый символ
    Dim Buff As String * 20 'переменная буфер
    Dim Bcount As Byte 'счетчик принятых байтов
    Dim Flagbuf As Bit 'переменная Флаг конца приема сообщения

    On Urxc Getchar 'переопределяем прерывание на передачу по usart
    Enable Urxc 'включаем прерывание uart
    Enable Interrupts

    Reset Flagbuf

    'Основной цикл
    Do

    If Flagbuf = 1 Then
    Disable Serial

    'If Mid(buff , 1 , 5) = "hello" Then 'проверка на приход определенного сообщения, в данном случае "hello"
    '
    ' .....
    '
    'End If

    Print Buff 'отправляем принятое сообщение
    Print Bcount 'тправляем количество принятых байт
    Buff = "" 'сбрасываем буфер

    Reset Flagbuf 'сбрасываем флаг приема сообщения
    Enable Serial
    End If

    Loop


    Getchar:
    Comchar = Inkey() 'принимаем 1 символ

    If Comchar <> 13 Then 'проверяем является ли этот символ Enter'ом
    Buff = Buff + Chr(comchar) 'если нет, то добавляем его в буфер
    Incr Bcount 'увеличиваем на 1 счетчик байтов
    Else
    Flagbuf = 1 'если символ оказался "Enter", тогда флаг устанавливаем в 1. "Enter"- конец сообщения
    End If

    Return


но он работает странно, по прерыванию уходит и зависает там, тоесть после обработки нельзя второй раз вызвать его
у меня мега 88
AVRDaemon
Открыл глаза
Сообщения: 54
Зарегистрирован: Сб дек 06, 2008 13:48:59

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

Сообщение AVRDaemon »

коты, не подскажете как сделать графический бар на ЖКИ?
примерно вида: E███████F но ток на жки, с провежуточным значением..(то есть не полный символ)
Аватара пользователя
Magicanin
Нашел транзистор. Понюхал.
Сообщения: 184
Зарегистрирован: Чт янв 13, 2011 11:36:16
Откуда: Красноярский край

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

Сообщение Magicanin »

Вопрос не ясен! Воспользовавшись методом дедукции, смею предположить, что тебе нужен:

"Инструменты -> Конструктор ЖКИ"
[size=85][color=#80BF00][b]Извращение это[/b][/color]: программатор - [color=#40BFBF]AVR910 by Prottoss[/color], прошивка - [color=#40BFBF]Doper[/color], драйвер - [color=#40BFBF]Osamu Tamura[/color], называется - [color=#FF0000]STK500[/color]![/size]
AVRDaemon
Открыл глаза
Сообщения: 54
Зарегистрирован: Сб дек 06, 2008 13:48:59

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

Сообщение AVRDaemon »

разьясню на лапах:
бак у нас 30 литров
после замера стало известно что бак опустошен на половину:
дисплей показывает 15 литров, переключаем в псевдографический режим и видим: E|||| |||| |||_________F (палка одна линия на ЖКИ) - визуальное значение уровня воды/бензина/etc
после работы стало бак стал пуст: E|(моргает)_________F - то есть пусто.

в этой реализации я и запутался, в создании граф режима, то есть вообще не знаю как реализовать этот графический бар.
подскажите кодом или проектом, как это реализовать..
Аватара пользователя
Magicanin
Нашел транзистор. Понюхал.
Сообщения: 184
Зарегистрирован: Чт янв 13, 2011 11:36:16
Откуда: Красноярский край

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

Сообщение Magicanin »

Покажи для начала свои наработки (каким образом осуществляешь вывод информации на ЖКИ, алгоритм замера уровня жидкости, кокое представление имеет результат измерения на данном этапе), тогда и будем вгонять в код то, что тебе нужно.
[size=85][color=#80BF00][b]Извращение это[/b][/color]: программатор - [color=#40BFBF]AVR910 by Prottoss[/color], прошивка - [color=#40BFBF]Doper[/color], драйвер - [color=#40BFBF]Osamu Tamura[/color], называется - [color=#FF0000]STK500[/color]![/size]
AVRDaemon
Открыл глаза
Сообщения: 54
Зарегистрирован: Сб дек 06, 2008 13:48:59

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

Сообщение AVRDaemon »

Именно наработок никаких в этом плане нет, это идея.

я не знаю как подобным способом реализовать эту фунцкию, вот и прошу совета навести на код..
Аватара пользователя
edm2007
Поставщик валерьянки для Кота
Сообщения: 2255
Зарегистрирован: Вт апр 21, 2009 22:24:10
Откуда: Иркутск
Контактная информация:

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

Сообщение edm2007 »

AVRDaemon писал(а):Именно наработок никаких в этом плане нет, это идея.


Например, тут есть реализация "прыгающих столбиков". :) http://radiokot.ru/circuit/light/run/22/ При желании можно легко сделать и Ваш бар...
"Слишком много людей ломаются, даже не подозревая о том, насколько близки к успеху они были в тот момент, когда упали духом". Томас Алва Эдисон
kestrel
Родился
Сообщения: 17
Зарегистрирован: Пт апр 20, 2007 21:16:18

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

Сообщение kestrel »

Вот здесь примерно то, что Вы ищете
http://www.avrprojects.net/index.php?op ... &Itemid=57
Tom91
Встал на лапы
Сообщения: 108
Зарегистрирован: Пт окт 08, 2010 15:43:55

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

Сообщение Tom91 »

Только начал разбираться с Bascom и несовсем понимаю что тут происходит... ???

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

Set Porta.0 : t1 Alias Pina.0                             'Меню
Set Porta.1 : t2 Alias Pina.1                             'Вниз
Set Porta.2 : t3 Alias Pina.2                            'Вверх
Set Porta.3 : t4 Alias Pina.3                             'Ввод


И тут ?

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

Config Clock = User
Config Date = Dmy , Separator = .


И вообще зачем в часах подключать библиотеку DS1307... для чего она? и какие команды имеет?
Аватара пользователя
amv2000
Опытный кот
Сообщения: 717
Зарегистрирован: Вт апр 26, 2011 13:58:36
Откуда: Ростовская область

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

Сообщение amv2000 »

Set Porta.0 : t1 Alias Pina.0 'подключаем внутренний подтягивающий резистор pul-up к порту А.0 и даем ему имя t1, что соответствует кнопке Меню
Config Clock = User 'работа с DS1307
Config Date = Dmy здесь задаем параметр даты- день, месяц, год,
Separator = . Здесь separator это точка
Библиотека для работы с DS1307 (Для работы с часами DS1307 была написана нехитрая библиотека содержащая следующие базовые функции:

DS_start – запускает часы. Запустить часы можно так же установив время.
DS_stop – останавливает часы
DS_set_time – Установка времени. Перед вызовом процедуры нужно поместить в tmp1 – секунды в tmp2 – минуты и в tmp3-часы. Часы в 24-х часовом формате.
DS_get_time: – считывание времени из часов. секунды будут записаны в tmp1, минуты в tmp2, часы в tmp3
DS_get_date: – считывание даты из часов. День будет записан в tmp1, месяц в tmp2, год в tmp3
DS_set_date: - установка даты. Перед вызовом процедуры нужно поместить в tmp1 – день в tmp2 – месяц и в tmp3-год (последние 2 цифры)
Почитайте может многое разъяснится http://www.pyclan.com/forum/index.php?topic=61.0
Аватара пользователя
Geka2000
Родился
Сообщения: 8
Зарегистрирован: Пн июн 20, 2011 10:05:00

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

Сообщение Geka2000 »

ну что по юарту никто не поможет? беру мегу8 делаю как по примеру выше приводил и нифига как нужно не работает! но странно что на мега88 работает! кто поделиться работающим примером получения данных из юарта по прерыванию получения данных
Аватара пользователя
Igor_67
Электрический кот
Сообщения: 1051
Зарегистрирован: Вт окт 21, 2008 11:46:23
Откуда: Барнаул

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

Сообщение Igor_67 »

AVRDaemon писал(а):Именно наработок никаких в этом плане нет, это идея.

я не знаю как подобным способом реализовать эту фунцкию, вот и прошу совета навести на код..

Я тут как-то вытворял себе вольтметр, который кроме цифрового представления напряжения выдает еще и графическое в виде линейки из черточек для более быстрого отслеживания процесса изменения напряжения. Если это подойдет могу выложить весь проект. Все работает в железе. МК AT90S4433, LCD 16x2.
Цапу крутить надо!!! Ку или не ку?
Аватара пользователя
Igor_67
Электрический кот
Сообщения: 1051
Зарегистрирован: Вт окт 21, 2008 11:46:23
Откуда: Барнаул

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

Сообщение Igor_67 »

Да, собственно, вот и проект. Чего тянуть-то кота за...? :))
!.rar
(32.59 КБ) 312 скачиваний
Цапу крутить надо!!! Ку или не ку?
Аватара пользователя
kip96
Держит паяльник хвостом
Сообщения: 965
Зарегистрирован: Ср авг 26, 2009 08:24:50
Откуда: 1300км от Пупа

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

Сообщение kip96 »

Geka2000 писал(а):ну что по юарту никто не поможет?

В симуляторе, "F8", всё работает. :dont_know:
Все делают ошибки, только мудрецы - новые, а дураки - старые.
Аватара пользователя
Geka2000
Родился
Сообщения: 8
Зарегистрирован: Пн июн 20, 2011 10:05:00

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

Сообщение Geka2000 »

да действительно работает, это я чайник, вся проблема оказалась в китайском разъеме, у него оказалась закорочена шина приема с передачей, странно одно, если б вообще ничего не работало я бы искал причину, а так передача шла нормально, а вот прием, никак!


Ситуация у меня вот какая, я смотрю функция Print в барсике передает наверно окончание строки и перевод корретки, а как например передать четко переменную String и в конце Энтер например Chr(13) ?
Аватара пользователя
Igor_67
Электрический кот
Сообщения: 1051
Зарегистрирован: Вт окт 21, 2008 11:46:23
Откуда: Барнаул

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

Сообщение Igor_67 »

Geka2000 писал(а):да действительно работает, это я чайник, вся проблема оказалась в китайском разъеме, у него оказалась закорочена шина приема с передачей, странно одно, если б вообще ничего не работало я бы искал причину, а так передача шла нормально, а вот прием, никак!


Ситуация у меня вот какая, я смотрю функция Print в барсике передает наверно окончание строки и перевод корретки, а как например передать четко переменную String и в конце Энтер например Chr(13) ?

Здесь были? http://bascomavr.3bb.ru. Там очень много всякого материала по Баскому и разнообразных ссылок, например ссылка на обучалку тов. WildCat-a. Там ваще для бестолковых все разжевано. Только не поймите привратно... Слово (бестолковый) к Вам лично не относится! :)) Так как не всегда "начинающий" == "бестолковый". 8)
Цапу крутить надо!!! Ку или не ку?
Аватара пользователя
kip96
Держит паяльник хвостом
Сообщения: 965
Зарегистрирован: Ср авг 26, 2009 08:24:50
Откуда: 1300км от Пупа

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

Сообщение kip96 »

Geka2000 писал(а):Ситуация у меня вот какая, я смотрю функция Print в барсике передает наверно окончание строки и перевод корретки, а как например передать четко переменную String и в конце Энтер например Chr(13) ?

читаем хелп
PRINTBIN is equivalent to PRINT CHR(var);

Все делают ошибки, только мудрецы - новые, а дураки - старые.
Ответить

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