Главная arrow Программирование arrow AVR arrow BASCOM-AVR - заметки при тестировании Saturday, November 25 2017  
ГлавнаяКонтактыАдминистрированиеПрограммированиеСсылки
UK-flag-ico.png English Version
GERMAN-flag-ico.png Die deutsche Version
map.gif карта сайта
нашли опечатку?

Пожалуйста, сообщите об этом - просто выделите ошибочное слово или фразу и нажмите Shift Enter.

Поделиться:

BASCOM-AVR - заметки при тестировании Версия для печати
Написал microsin   
03.01.2008

----------------------------------------------------------------------------------------------
4 января 2008

1. При обозначении констант может применяться может применяться бинарный формат (префикс &B) и шестнадцатеричный (префикс &H), например, каждая из 4-х строк записывает в порт B одно и то же число:
Portb = 3                                                      ' activate pull up PINB.0 and PINB.1
Portb = &B11                                                ' activate pull up PINB.0 and PINB.1
Portb = &B00000011                                      ' activate pull up PINB.0 and PINB.1
Portb = &H03                                                ' activate pull up PINB.0 and PINB.1

2. Софтверный симулятор у меня почему-то работал криво - уходил в непрерывный запуск, когда я пытался выполнять операторы пошагово. Однако есть приятная возможность - объектный файл (расширение .obj), получающийся при компиляции, можно загрузить в AVR Studio 4, и уже отлаживать программу там, используя аппаратный эмулятор AVR JTAGICE mkII. Отлаживать можно прямо по исходному коду на Бейсике, работают точки останова, пошаговое выполнение. Можно открыть также окно View\Disassembler, и отлаживать программу по ассемблерным инструкциям, там также видны строки программы на Бейсике. Неудобство только в том, что запускать AVR Studio и открывать OBJ-файл надо вручную.

----------------------------------------------------------------------------------------------
5 января 2008

3. Оператор PRINT выводит текст в RS-232 - аппаратный первый UART:
   PRINT "Hello world!"
   Если нужно выводить во второй UART или в софтверный UART, нужно указывать номер канала:
   PRINT #1, "test"
   Можно одной строкой выводить несколько переменных, перечислив их через точку с запятой (при применении точки с запятой не добавляется перевод строки и возврат каретки):
   var1 = "this var1"
   var2 = "this var2"
   PRINT var1; " "; var2

4. Для удобства (как во всех стандартных в бейсиках) можно "удлинять" строку программы символом подчеркивания:
   Print "You can also use multiple" _
   ; "lines using _"
   Print "use it for long lines"

5. Опция OVERLAY при задании переменных позволяет размещать переменные по заданному адресу, либо ссылаться на другие переменные, например:
Dim L As Long , Bd As Long
Dim Uh As Byte At L + 1 Overlay
Bd = 38400                                                  ' baud wanted
L = 8000000 / Bd                                          ' divide crystal freq. by the wanted baud rate
L = L / 16                                                    'divide the result by 16
L = L - 1                                                      'and subtract 1
Ubrrl = L                                                     'when you assign a long it will only write the BYTE
Ubrrh = Uh                                                  'we use an overlayed variable that is the high byte
   или еще пример из help:
Dim x as Long at $60                'long uses 60,61,62 and 63 hex of SRAM
Dim b1 as Byte at $60 OVERLAY       'b1 uses 60 cell of SRAM
Dim b2 as Byte at $61 OVERLAY       'b2 uses 61 cell of SRAM
    как видно в этом примере, участки памяти для хранения переменных могут пересекаться, что может привести к ошибкам.

6. Удобный PDF-просмотрщик!

7. У демо-версии ограничение на объем кода 4096 байт.

Последнее обновление ( 27.12.2009 )
 

Добавить комментарий

:D:lol::-);-)8):-|:-*:oops::sad::cry::o:-?:-x:eek::zzz:P:roll::sigh:

Защитный код
Обновить

< Пред.   След. >

Top of Page
 
microsin © 2017