ничего себе-вот спасибо!то что надо!max50 писал(а):Тут посмотрите.Novice user писал(а):необходимо подключить две RDA5807 к одной атмега8
BASCOM AVR в вопросах и ответах
-
Novice user
- Мудрый кот
- Сообщения: 1704
- Зарегистрирован: Вт янв 05, 2016 10:14:25
- Откуда: поселок Мелеуз
Re: BASCOM AVR в вопросах и ответах
- Реклама
Re: BASCOM AVR в вопросах и ответах
Мяу, уважаемые меховые животы!
Стоит очень простая задача, но, для меня, как только начавшего ловить мышей в Баскоме, она стала камнем преткновения. Помогитеееее.
Итак черпаем вдохновение из первоисточника http://avrhelp.mcselec.com/index.html?uart.htm
$regfile = "m32def.dat" 'Define your own
$crystal = 8000000
$baud = 19200
Do
Print "Hello World"
Waitms 25
Loop
End
Надо чтоб простейшая программа работала на Тини2313а. И вот тут у меня хвост застрял в мышеловке. Задача: научиться получать от МК сообщения по УАРТу.
Баском 2.0.7.8, Вынь ХР и 8.1, ком порт эмулируется УСБ донглом СН340 (луп тест проходит на ура). Кварц 4 мГц внешний. Делитель на 8 отключаю. По фузам вроде все правильно.
моя прожка
$Regfile="attiny2313a.dat"
$Crystal=4000000
$hwstack=32
$swstack=8
$framesize=16
$baud = 9600
Do
Print "hello world"
Waitms 50
Loop
End
в симуляторе на терминале все отображается. А в живую валит неопределенное постоянное сочетание букв с паузами. Все режимы по ком порту выставил как нужно. Самое интересное, что та же прога, но для Ардуины нано ведет себя как и нужно и пишет приветы миру.
Зачитал до дыр в мониторе все уроки по Баскому, нигде не нашел даже намека. Везде утверждается, что это самое простое в прграммировании на Баскоме.
Где копать? Подскажите, где искать лопату? И вообще это бага, фича или руки?
PS Нужно это все доходчиво рассказать ребенкам в кружке, а как говорится Факир был пьян...Да и самому нужно разобраться. Это уже дело принципа
Стоит очень простая задача, но, для меня, как только начавшего ловить мышей в Баскоме, она стала камнем преткновения. Помогитеееее.
Итак черпаем вдохновение из первоисточника http://avrhelp.mcselec.com/index.html?uart.htm
$regfile = "m32def.dat" 'Define your own
$crystal = 8000000
$baud = 19200
Do
Print "Hello World"
Waitms 25
Loop
End
Надо чтоб простейшая программа работала на Тини2313а. И вот тут у меня хвост застрял в мышеловке. Задача: научиться получать от МК сообщения по УАРТу.
Баском 2.0.7.8, Вынь ХР и 8.1, ком порт эмулируется УСБ донглом СН340 (луп тест проходит на ура). Кварц 4 мГц внешний. Делитель на 8 отключаю. По фузам вроде все правильно.
моя прожка
$Regfile="attiny2313a.dat"
$Crystal=4000000
$hwstack=32
$swstack=8
$framesize=16
$baud = 9600
Do
Print "hello world"
Waitms 50
Loop
End
в симуляторе на терминале все отображается. А в живую валит неопределенное постоянное сочетание букв с паузами. Все режимы по ком порту выставил как нужно. Самое интересное, что та же прога, но для Ардуины нано ведет себя как и нужно и пишет приветы миру.
Зачитал до дыр в мониторе все уроки по Баскому, нигде не нашел даже намека. Везде утверждается, что это самое простое в прграммировании на Баскоме.
Где копать? Подскажите, где искать лопату? И вообще это бага, фича или руки?
PS Нужно это все доходчиво рассказать ребенкам в кружке, а как говорится Факир был пьян...Да и самому нужно разобраться. Это уже дело принципа
- uni
- Встал на лапы
- Сообщения: 137
- Зарегистрирован: Пт дек 07, 2007 11:17:40
- Откуда: г. Екатеринбург
- Контактная информация:
Re: BASCOM AVR в вопросах и ответах
Нужно посмотреть фактическое состояние регистров управления UART'а под отладчиком. Возможно не всё установлено правильно или недоустановлено. У меня было нечто похожее с ATtiny2313 и лечил я принудительным выставлением битов в начале программы:
Код: Выделить всё
' USART Control and Status Register C
' [ Регистр управления UCSRC ][ATtiny2313]
' 00000110 - Initial Value
UCSRC = &B00000110
' ||||||||
' |||||||+- 0, rw, UCPOL: - Clock Polarity
' ||||||+-- 1, rw, UCSZ0: -+ - Character Size
' |||||+--- 2, rw, UCSZ1: _|
' ||||+---- 3, rw, USBS: - Stop Bit Select
' |||+----- 4, rw, UPM0: -+ - Parity Mode
' ||+------ 5, rw, UPM1: _|
' |+------- 6, rw, UMSEL: - USART Mode Select
' +-------- 7, r: 0
' Примечание:
Россия навсегда!
- Microtech
- Поставщик валерьянки для Кота
- Сообщения: 2052
- Зарегистрирован: Вт ноя 03, 2009 21:02:38
- Откуда: Москва
- Контактная информация:
Re: BASCOM AVR в вопросах и ответах
Можно через регистры, можно и самим баскомом:
Config Com1 = Dummy , Synchrone = 0 , Parity = None , Stopbits = 1 , Databits = 8 , Clockpol = 0
Config Com1 = Dummy , Synchrone = 0 , Parity = None , Stopbits = 1 , Databits = 8 , Clockpol = 0
Re: BASCOM AVR в вопросах и ответах
Мррр всем котам
Появилась мысль сделать лампу настроения на ws2812. Скачал пример с оффсайта
Подключил библиотеку $lib "Rainbow.lib" - вышла куча ошибок: Unknown CONFIG Parameter [RAINBOW]
Нашел другую библиотеку $lib "Rainbow1.2.lib" - то же!
Файлы закинул в папку LIB. Версия барсика 2.0.5.0 и 2.0.7.
Мужики, подскажите в чем трабла?
Может есть у кого рабочий кусок кода для разбора полетов.
Буду признателен
Появилась мысль сделать лампу настроения на ws2812. Скачал пример с оффсайта
Спойлер
Код: Выделить всё
$regfile = "m328pdef.dat"
$crystal = 8000000
$hwstack = 40
$swstack = 16
$framesize = 32
Config Rainbow = 1 , Rb0_len = 12 , Rb0_port = Portd , Rb0_pin = 2
' ^ connected to pin 2
' ^------------ connected to portD
' ^-------------------------- 12 leds on stripe
' ^------------------------------------- 1 channel
'Global Color-variables
Dim Color(3) As Byte
R Alias Color(_base) : G Alias Color(_base + 1) : B Alias Color(_base + 2)
'CONST
Const Numleds = 12
'----[MAIN]---------------------------------------------------------------------
Dim N As Byte
Rb_selectchannel 0 ' select first channel
R = 50 : G = 0 : B = 100 ' define a color
Rb_setcolor 0 , Color(1) ' update leds
Rb_send
Do
For N = 1 To Numleds -1
Rb_shiftright 0 , Numleds 'shift to the right all leds except the last one
Waitms 100
Rb_send
Next
For N = 1 To Numleds -1
Rb_shiftleft 0 , Numleds 'shift to the left all leds except the last one
Waitms 100
Rb_send
Next
Waitms 500 'wait a bit
LoopПодключил библиотеку $lib "Rainbow.lib" - вышла куча ошибок: Unknown CONFIG Parameter [RAINBOW]
Нашел другую библиотеку $lib "Rainbow1.2.lib" - то же!
Мужики, подскажите в чем трабла?
Может есть у кого рабочий кусок кода для разбора полетов.
Буду признателен
- Реклама
- max50
- Мучитель микросхем
- Сообщения: 497
- Зарегистрирован: Ср дек 10, 2008 21:24:28
- Откуда: Алтайский край, Барнаул
Re: BASCOM AVR в вопросах и ответах
Нужна версия 2.0.7.9.KOTик писал(а):Версия барсика 2.0.5.0 и 2.0.7.
Того, кто не задумывается о далеких трудностях, ожидают близкие неприятности.
Re: BASCOM AVR в вопросах и ответах
Толи Я дурак, толи лыжи не едут. Гугл выдает только 2.0.7.8.max50 писал(а):Нужна версия 2.0.7.9.KOTик писал(а):Версия барсика 2.0.5.0 и 2.0.7.
Не сочтите за наглость, можете ссылку дать на 2.0.7.9 ?
У меня 2 версии библиотек: Rainbow 1.2 [Date = 17.01.2015] и Rainbow 1.21 [Date = 23.01.2016].
Обновил свой барсик до 2.0.7.8, закинул в папку LIB файлики и опять ничего и куча ошибок.
А ведь релиз версии 2.0.7.8 как раз приходится на 2015г., полагал что с версией Rainbow1.2 будет работать
- max50
- Мучитель микросхем
- Сообщения: 497
- Зарегистрирован: Ср дек 10, 2008 21:24:28
- Откуда: Алтайский край, Барнаул
Re: BASCOM AVR в вопросах и ответах
Для 2.0.7.9 нет инсталлятора. Она распространяется в виде обновления и ее нужно качать через UpdateWiz.max50 писал(а):Не сочтите за наглость, можете ссылку дать на 2.0.7.9 ?
Есть описание библиотеки для версии 2.0.7.7, но у меня не получается зайти на сайт.KOTик писал(а):А ведь релиз версии 2.0.7.8 как раз приходится на 2015г., полагал что с версией Rainbow1.2 будет работать
Того, кто не задумывается о далеких трудностях, ожидают близкие неприятности.
Re: BASCOM AVR в вопросах и ответах
Не получилось запустить. Просит регистрацию продукта на сайте.max50 писал(а): Для 2.0.7.9 нет инсталлятора. Она распространяется в виде обновления и ее нужно качать через UpdateWiz.
и у меняmax50 писал(а): библиотеки для версии 2.0.7.7, но у меня не получается зайти на сайт.
В двух шагах от поделки, если бы не такая трабла.
Какие варианты еще есть?
- max50
- Мучитель микросхем
- Сообщения: 497
- Зарегистрирован: Ср дек 10, 2008 21:24:28
- Откуда: Алтайский край, Барнаул
Re: BASCOM AVR в вопросах и ответах
В этом вся и фишка.KOTик писал(а):Просит регистрацию продукта на сайте.
Во вложении описание первой версии библиотеки.KOTик писал(а):Какие варианты еще есть?
- Вложения
-
- Rainbow LIB.pdf
- (59.98 КБ) 442 скачивания
Того, кто не задумывается о далеких трудностях, ожидают близкие неприятности.
Re: BASCOM AVR в вопросах и ответах
Комменты на немецком , да и сам код мне ничего не говоритmax50 писал(а): Во вложении описание первой версии библиотеки.
Еду домой, буду ковыряться
Спасибо
- max50
- Мучитель микросхем
- Сообщения: 497
- Зарегистрирован: Ср дек 10, 2008 21:24:28
- Откуда: Алтайский край, Барнаул
Re: BASCOM AVR в вопросах и ответах
Это хоть что-то.KOTик писал(а):Комменты на немецком
Есть еще на польском:KOTик писал(а):сам код мне ничего не говорит
Код: Выделить всё
$regfile = "m328pdef.dat"
$crystal = 16000000
$hwstack = 64
$swstack = 64
$framesize = 124
$baud = 38400
Declare Sub Send_frame_800(byval Number_of_ic As Byte)
Dim Led_buffer(255) As Byte
Dim Lch As Byte
Dim Lcl As Byte
Sdi Alias Portb.0
Config Portb.0 = Output
Dim R As Word
Dim G As Word
Dim B As Word
Dim I As Byte
Dim J As Byte
Dim Ledg As Byte
Dim Ledr As Byte
Dim Ledb As Byte
Dim Wheel As Word
Dim Wheel2 As Byte
Const Liczba_led = 14
Do
For J = 1 To 255
For I = 1 To Liczba_led
Wheel = I - 1
Wheel = Wheel * 255
Wheel = Wheel / Liczba_led
Wheel = Wheel + J
Wheel2 = Wheel
If Wheel2 >= 0 And Wheel2 <= 85 Then
R = Wheel2 * 3
G = Wheel2 * 3
G = 255 - G
B = 0
End If
If Wheel2 >= 86 And Wheel2 <= 170 Then
R = Wheel2 * 3
R = 255 - R
R = 255 + R
G = 0
B = Wheel2 * 3
B = B - 255
End If
If Wheel2 >= 171 And Wheel2 <= 255 Then
R = 0
G = Wheel2 * 3
G = G - 255
G = G - 255
B = Wheel2 * 3
B = 255 - B
B = B + 255
B = B + 255
End If
Ledb = I * 3
Ledr = Ledb - 1
Ledg = Ledr - 1
Led_buffer(ledg) = G
Led_buffer(ledr) = R
Led_buffer(ledb) = B
Next I
Call Send_frame_800(liczba_led)
Waitms 10
Next J
Loop
Sub Send_frame_800(byval Number_of_ic As Word)
Local Last_channel As Word
Last_channel = Number_of_ic * 3
Lch = High(last_channel)
Lcl = Low(last_channel)
Sdi = 0
'Waitms 1
Waitus 500
push r0
push r16
push r17
push r24
push r25
lds r25 , {lch}
lds r24 , {lcl}
Loadadr Led_buffer(1) , X
Channel_loop_800:
ld r0,x+
ldi r16,8
Bit_loop_800:
lsl r0
brcc BIT_0_800
Bit_1_800:
sbi PORTb,0
Nop
nop
nop
nop
nop
nop
nop
nop
nop
cbi PORTb,0
rjmp Next_bit_800
Bit_0_800:
sbi PORTb,0
nop
nop
nop
nop
nop
cbi PORTb,0
nop
nop
nop
nop
nop
Next_bit_800:
dec r16
cpi r16,0
brne BIT_LOOP_800
sbiw R24,1
brne CHANNEL_LOOP_800
pop r25
pop r24
pop r17
pop r16
pop r0
End SubТого, кто не задумывается о далеких трудностях, ожидают близкие неприятности.
- max50
- Мучитель микросхем
- Сообщения: 497
- Зарегистрирован: Ср дек 10, 2008 21:24:28
- Откуда: Алтайский край, Барнаул
Re: BASCOM AVR в вопросах и ответах
30 октября форум "пал"(о чем написано на любой странице форума), поэтому не получается перейти по ссылке(такой не существует), но автор библиотеки сделал новую страницу помощи.KOTик писал(а):и у меняmax50 писал(а): библиотеки для версии 2.0.7.7, но у меня не получается зайти на сайт.![]()
![]()
В двух шагах от поделки, если бы не такая трабла.
Какие варианты еще есть?
Того, кто не задумывается о далеких трудностях, ожидают близкие неприятности.
Re: BASCOM AVR в вопросах и ответах
То что надо. Все описание имеется!max50 писал(а):но автор библиотеки сделал новую страницу помощи.
Все возможные варианты испробовал. Ошибка вылезает. Когда кликаю по ошибке, открывается файл rainbow.lib, а чем с ним делать не знаю
Код: Выделить всё
$regfile = "m328pdef.dat"
$crystal = 8000000
$hwstack = 40
$swstack = 16
$framesize = 32
$baud = 9600
$lib "Rainbow.lib"
$external Ws2812b
'# Rainbow0
Const Rainbow0_len = 12 'NEOPIXEL 12 LED RING
Const Rainbow0_port = Portd 'PORT D SETUP
Const Rainbow0_pin = Pd2 'OUT D2
Declare Sub Select_rainbow(byval Channel As Byte)
Declare Sub Set_color(byval Lednr As Word , Color() As Byte)
Declare Sub Settablecolor(byval Lednr As Word , Byvalindex As Byte) : $external Use_settablecolor
Declare Sub Send()
'---- [MAIN] ---------------------------------------------------------------------
Call Select_rainbow(0) 'select Rainbow
Do
Call Settablecolor(0 , 4) 'LED 1 YELLOW
Loop
End
Rainbow_Colors:
'R, G, B
Data &HFF , &H00 , &H00 'Red 0
Data &H00 , &HFF , &H00 'Green 1
Data &H00 , &H00 , &HFF 'Blue 2
Data &HFF , &HA5 , &H00 'Orange 3
Data &HFF , &HFF , &H00 'Yellow 4
Data &HFF , &H69 , &HB4 'HotPink 5
- max50
- Мучитель микросхем
- Сообщения: 497
- Зарегистрирован: Ср дек 10, 2008 21:24:28
- Откуда: Алтайский край, Барнаул
Re: BASCOM AVR в вопросах и ответах
В железе не проверял, но ошибок нет:
Код: Выделить всё
'чтобы комменты были на русском, нужно копировать в русской раскладке
$regfile = "m328pdef.dat"
$crystal = 8000000
$hwstack = 40
$swstack = 16
$framesize = 32
$baud = 9600
$lib "Rainbow1.21.lib"
$external Ws2812b
Declare Sub Select_rainbow(byval Channel As Byte)
Declare Sub Setcolor(byval Lednr As Word , Color() As Byte)
Declare Sub Send()
Declare Sub Settablecolor(byval Lednr As Word , Byvalindex As Byte) : $external Use_settablecolor
'# Rainbow0
Const Rainbow0_len = 12 'NEOPIXEL 12 LED RING
Const Rainbow0_port = Portd 'PORTD SETUP
Const Rainbow0_pin = Pd2 'OUT D2
Dim Color(3) As Byte
R Alias Color(_base) : G Alias Color(_base + 1) : B Alias Color(_base + 2)
Call Select_Rainbow(0)
'---- [MAIN] ---------------------------------------------------------------------
Do
Call Settablecolor(0 , 4) 'LED 1 YELLOW
Loop
End
Rainbow_Colors:
'R, G ,B
Data &HFF , &H00 , &H00 'Red 0
Data &H00 , &HFF , &H00 'Green 1
Data &H00 , &H00 , &HFF 'Blue 2
Data &HFF , &HA5 , &H00 'Orange 3
Data &HFF , &HFF , &H00 'Yellow 4
Data &HFF , &H69 , &HB4 'HotPink 5Того, кто не задумывается о далеких трудностях, ожидают близкие неприятности.
Re: BASCOM AVR в вопросах и ответах
Странно. А у меня с теми же ошибками.
Можете hex сюда выложить, залью в ардуино для проверки?
P.S. Может сборка барсика тоже имеет значение?
Можете hex сюда выложить, залью в ардуино для проверки?
P.S. Может сборка барсика тоже имеет значение?
- max50
- Мучитель микросхем
- Сообщения: 497
- Зарегистрирован: Ср дек 10, 2008 21:24:28
- Откуда: Алтайский край, Барнаул
Re: BASCOM AVR в вопросах и ответах
KOTик писал(а):Странно. А у меня с теми же ошибками.![]()
![]()
![]()
Можете hex сюда выложить, залью в ардуино для проверки?
ХЗ. У меня 2.0.7.7KOTик писал(а):P.S. Может сборка барсика тоже имеет значение?
Того, кто не задумывается о далеких трудностях, ожидают близкие неприятности.
Re: BASCOM AVR в вопросах и ответах
Не работаетmax50 писал(а):
А я уже 2.0.7.7 качать собирался.
Мдяя.. Много крови выпьет эта ws2812
- max50
- Мучитель микросхем
- Сообщения: 497
- Зарегистрирован: Ср дек 10, 2008 21:24:28
- Откуда: Алтайский край, Барнаул
Re: BASCOM AVR в вопросах и ответах
Позже в железе попробую.
Попробовал - работает:
Попробовал - работает:
Код: Выделить всё
$Regfile = "m328pdef.dat"
$Crystal = 16000000
$hwstack = 40
$swstack = 16
$framesize = 32
'__________________________________
'----[IMPLEMENT RAINBOW]--------------------------------------------------------
$lib "Rainbow1.21.lib"
$external WS2812b
Declare Sub Select_Rainbow(byval Channel As Byte)
Declare Sub SetColor(byval LedNr As Word , Color() as Byte)
Declare Sub Send()
Declare Sub Shift_Left(byval Left_index As Word , Byval Width As Word) : $external USE_Shift_Left
Declare Sub Shift_Right(byval Left_index As Word , Byval Width As Word) : $external USE_Shift_Right
'#Rainbow0
Const Rainbow0_len = 12
Const Rainbow0_port = Portc
Const Rainbow0_pin = Pc3
'Gloabal Color-variables
Dim Color(3) as Byte
R alias Color(_base) : G alias Color(_base + 1) : B alias Color(_base + 2)
'__________________________________
'----[MAIN]---------------------------------------------------------------------
Dim n as Byte
Call Select_Rainbow(0) 'select Rainbow
R = 255 : G = 255 : B = 255 'define a color
Call SetColor(0 , color())
Call Send()
Do
For n = 1 to 11
Call Shift_right(0 , 12)
Waitms 100
Call Send()
Next
For n = 1 to 11
Call Shift_left(0 , 12)
Waitms 100
Call Send()
Next
Loop
EndТого, кто не задумывается о далеких трудностях, ожидают близкие неприятности.
Re: BASCOM AVR в вопросах и ответах
Опять не компилируется. Все те же ошибки выдает.max50 писал(а):Позже в железе попробую.
Попробовал - работает:
Можно хекс файл?
Пойду качать 2.0.7.7


