BASIC-V

Ev3658

Guest
Может кто видел такой компилятор?
Так обычно синтаксис для UART очень простой, а так-же плотная масштабируемая архитектура в BASIC.

Пример для МК AVR в серии Xmega:

Конфигурация каналов события на переполнение элементов аппаратных счётчиков:

Config Event_system = Dummy , Mux0 = Tcd1_ovf , Mux1 = Tcd1_cca

Вот так вот выглядит аппаратный запуск таймеров, генерирующих систему VGA развёртки:

'настройка тайймера вертикальной синхронизации для подсчёта строк по событию 1 и вывода синхроимпульса
Tcd0_cca = 524 'длина кадрового импульса
Tcd0_ccb = 40 'граница начала рисования
Tcd0_ccc = Tcd0_ccb + 400 'граница конца рисования
Tcd0_per = Tcd0_cca 'конец всего кадра целиком
Config Tcd0 = Pwm , Prescale = E0 , Event_source = E0 , Comparea = Enabled 'на подсчёт таймера

Tcf0_per = 1
Config Tcf0 = Pwm , Prescale = E1 , Event_source = E1
'Tce0_per = 262
'Config Tce0 = Pwm , Prescale = Off

'настройка таймера горизонтальной синхронизации частота развёртки, всё взаимосвязано
Tcd1_cca = 20 'начало рисования строки и кадра
Tcd1_ccb = 18 'скважность сигнала
Tcd1_per = 131 'частота развёртки и видео сигнала в целом (НАСТРОЙКА РАЗВЁРТКИ)
Config Tcd1 = Pwm , Prescale = 8 , Event_action = Restart , Compareb = Enabled 'конец гориз.сигнала и вызов прерывания вывода информации


Запуск DMA для вывода видео данных в SPI регистр сдвига:

Config Dma = Enabled , Doublebuf = Disabled , Cpm = Rr
Config Dmach0 = Disabled , Burstlen = 1 , Chanrpt = Disabled , Ctr = Disabled , Singleshot = Enabled , Tci = Lo , Eil = Off , Sar = Transaction , Sam = Inc , Dar = None , Dam = Fixed , Trigger = &H6F , Btc = Dlina , Repeat = 0 , Sadr = Varptr(v(1)) , Dadr = Varptr(usartd1_data)


Конфигурация SPI:

Config Spi = Hard , Interrupt = Off , Data Order = Msb , Master = Yes , Polarity = Low , Phase = 0 , Clockrate = 4 , Noss = 1
Spiinit


Коммуникации:
'Интерфейс для связи и отладки
Config Com2 = 115200 , Synchrone = 0 , Parity = None , Stopbits = 1 , Databits = 8 , Clockpol = 0
Open "com2:" For Binary As #1
Config Portb.3 = Output
Print #1 , " "
Print #1 , "СТАРТ СИСТЕМЫ !!!!!!!!!!!!!!!!!!!!"


Прерывание по приёму данных:
On Urxc Rx485 'Регистр прерывания Urxc на адрес программы прерывания метка Rx485
Enable Urxc
Enable Interrupts


Опустошение буфера UART по прерыванию:
Rx485:
Rx = Inkey()
Incr Rxtm
If Rx = 10 Then ..... начинаем приём
Return



Очень нужен такой компилятор ))) Он проще в разы того, что есть. А зная архитектуру не грех использовать аппаратные средства :)

Может всё-же кто видел. Очень был похож на Bascom AVR, но с подсказками как в PureBasic и HELP был в кириллице :coffee:
 
Сверху