Страница 90 из 304

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

Добавлено: Пн июн 20, 2011 11:16:53
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 то выпадающий список и показывает что доступно...

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

Добавлено: Пн июн 20, 2011 11:30:02
Geka2000
Вот спасибо!
а я балбес перерыл, думал что и не найду.
Странно что нигде в хелпе это не подчеркнули. или хотя б пример задания прерывания по шестнадцатеричному коду, я б уже и так ручками набрал бы по датащету! :beer:

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

Добавлено: Пн июн 20, 2011 11:38:34
edm2007
Да зачем себе жизнь усложнять. Вполне достаточно обращений по именам.

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

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

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

T1_compare:             ' обработка прерывания
................
Return                                            
Не совсем понимаю Вашего стремления к "шестнадцатеричному коду". :)

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

Добавлено: Пн июн 20, 2011 17:58:09
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

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

Добавлено: Пт июн 24, 2011 12:16:29
AVRDaemon
коты, не подскажете как сделать графический бар на ЖКИ?
примерно вида: E███████F но ток на жки, с провежуточным значением..(то есть не полный символ)

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

Добавлено: Пт июн 24, 2011 13:39:54
Magicanin
Вопрос не ясен! Воспользовавшись методом дедукции, смею предположить, что тебе нужен:

"Инструменты -> Конструктор ЖКИ"

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

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

в этой реализации я и запутался, в создании граф режима, то есть вообще не знаю как реализовать этот графический бар.
подскажите кодом или проектом, как это реализовать..

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

Добавлено: Пт июн 24, 2011 15:04:17
Magicanin
Покажи для начала свои наработки (каким образом осуществляешь вывод информации на ЖКИ, алгоритм замера уровня жидкости, кокое представление имеет результат измерения на данном этапе), тогда и будем вгонять в код то, что тебе нужно.

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

Добавлено: Пт июн 24, 2011 18:32:24
AVRDaemon
Именно наработок никаких в этом плане нет, это идея.

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

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

Добавлено: Пт июн 24, 2011 19:26:05
edm2007
AVRDaemon писал(а):Именно наработок никаких в этом плане нет, это идея.
Например, тут есть реализация "прыгающих столбиков". :) http://radiokot.ru/circuit/light/run/22/ При желании можно легко сделать и Ваш бар...

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

Добавлено: Сб июн 25, 2011 09:53:20
kestrel
Вот здесь примерно то, что Вы ищете
http://www.avrprojects.net/index.php?op ... &Itemid=57

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

Добавлено: Сб июн 25, 2011 14:07:47
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... для чего она? и какие команды имеет?

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

Добавлено: Сб июн 25, 2011 15:08:20
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

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

Добавлено: Сб июн 25, 2011 18:31:28
Geka2000
ну что по юарту никто не поможет? беру мегу8 делаю как по примеру выше приводил и нифига как нужно не работает! но странно что на мега88 работает! кто поделиться работающим примером получения данных из юарта по прерыванию получения данных

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

Добавлено: Сб июн 25, 2011 18:57:56
Igor_67
AVRDaemon писал(а):Именно наработок никаких в этом плане нет, это идея.

я не знаю как подобным способом реализовать эту фунцкию, вот и прошу совета навести на код..
Я тут как-то вытворял себе вольтметр, который кроме цифрового представления напряжения выдает еще и графическое в виде линейки из черточек для более быстрого отслеживания процесса изменения напряжения. Если это подойдет могу выложить весь проект. Все работает в железе. МК AT90S4433, LCD 16x2.

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

Добавлено: Сб июн 25, 2011 19:11:43
Igor_67
Да, собственно, вот и проект. Чего тянуть-то кота за...? :))
!.rar
(32.59 КБ) 316 скачиваний

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

Добавлено: Вс июн 26, 2011 08:46:19
kip96
Geka2000 писал(а):ну что по юарту никто не поможет?
В симуляторе, "F8", всё работает. :dont_know:

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

Добавлено: Вс июн 26, 2011 11:57:18
Geka2000
да действительно работает, это я чайник, вся проблема оказалась в китайском разъеме, у него оказалась закорочена шина приема с передачей, странно одно, если б вообще ничего не работало я бы искал причину, а так передача шла нормально, а вот прием, никак!


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

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

Добавлено: Вс июн 26, 2011 14:55:00
Igor_67
Geka2000 писал(а):да действительно работает, это я чайник, вся проблема оказалась в китайском разъеме, у него оказалась закорочена шина приема с передачей, странно одно, если б вообще ничего не работало я бы искал причину, а так передача шла нормально, а вот прием, никак!


Ситуация у меня вот какая, я смотрю функция Print в барсике передает наверно окончание строки и перевод корретки, а как например передать четко переменную String и в конце Энтер например Chr(13) ?
Здесь были? http://bascomavr.3bb.ru. Там очень много всякого материала по Баскому и разнообразных ссылок, например ссылка на обучалку тов. WildCat-a. Там ваще для бестолковых все разжевано. Только не поймите привратно... Слово (бестолковый) к Вам лично не относится! :)) Так как не всегда "начинающий" == "бестолковый". 8)

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

Добавлено: Вс июн 26, 2011 23:04:47
kip96
Geka2000 писал(а): Ситуация у меня вот какая, я смотрю функция Print в барсике передает наверно окончание строки и перевод корретки, а как например передать четко переменную String и в конце Энтер например Chr(13) ?
читаем хелп
PRINTBIN is equivalent to PRINT CHR(var);