BASCOM AVR в вопросах и ответах
Re: BASCOM AVR в вопросах и ответах
А оригинал в исходном виде есть? А то у меня были проблемы со стеком. Компилятор сообщал о занятости 60%, но не хватало размера стека. То есть свободно было 3,2 килобайта. Увеличил размер стека на 512 байт, перестало хватать памяти.
Похоже глюк компилятора. И у разных версий баскома разный размер выходного файла.
Похоже глюк компилятора. И у разных версий баскома разный размер выходного файла.
- Реклама
Re: BASCOM AVR в вопросах и ответах
Если это про мою программку, то на предыдущей странице оригинал.
Никогда не бойся делать то, что ты не умеешь делать. Помни, ковчег был построен любителем. Профессионалы построили "Титаник".
Re: BASCOM AVR в вопросах и ответах
Не работает в протеусе никакая из программ.
Re: BASCOM AVR в вопросах и ответах
Работает. Но на всякий случай вот оригинал всего этого безобразияvem566 писал(а):Не работает в протеусе никакая из программ.
- Вложения
-
- Candle.zip
- (50.54 КБ) 329 скачиваний
Никогда не бойся делать то, что ты не умеешь делать. Помни, ковчег был построен любителем. Профессионалы построили "Титаник".
- Gordon Shumway
- Мучитель микросхем
- Сообщения: 485
- Зарегистрирован: Пн авг 20, 2007 21:35:45
- Откуда: Мытищи, Московская область
- Контактная информация:
Re: BASCOM AVR в вопросах и ответах
Доброго времени суток !
Уважаемые знатоки, никак не въеду что такое Fastpwm и чем он отличается от обычного pwm.
Вот рекомендация, которую мне дали для воплощения программы, но немного не понимаю как это сделать. Речь идет о выводе звука через Fastpwm, человек сделал это на Tiny2313, но не на Баскоме:
Вот кусок экспериментальной программы, написал только для того, чтобы понять как выводится звук и как с этим работать:
Звук выводится, но очень медленно. Не могу разобраться почему...
Уважаемые знатоки, никак не въеду что такое Fastpwm и чем он отличается от обычного pwm.
Вот рекомендация, которую мне дали для воплощения программы, но немного не понимаю как это сделать. Речь идет о выводе звука через Fastpwm, человек сделал это на Tiny2313, но не на Баскоме:
Спойлер
Формат файла - несжатый WAV. 32000 Гц, 1 канал, 8 бит (WAV PCM 8U). Это значит, что за секунду нужно прочитать с SD-карты 32000 байт и каждое считанное значение поместить в регистр OCR0A таймера0 (восьмибитного), для формирования необходимой скважности ШИМ. Читать байты и устанавливать новое значение периода (все тот-же OCR0A) удобно в прерывании Output_Compare_0A (прерывание по сравнению) . Таймер 0 удобно запускать в режиме FastPWM с пределителем=1. При частоте встроенного задающего генератора 8МГц, частота вызова прерывания будет практически равна 32000, что удобно, так как не потребуется делать пересчетов)
Спойлер
Код: Выделить всё
$regfile = "m32def.dat"
$crystal = 8000000
$hwstack = 128 '128
$swstack = 128 '128
$framesize = 128 '128
Dim V As Byte
Dim B As Byte
Dim S As String * 16
Dim Sdd As Byte
Config Timer0 = Pwm , Compare Pwm = Clear Down , Prescale = 1
Config Porta.0 = Output
Led Alias Porta.0
$include "Config_MMC.bas"
V = Gbdriveerror
$include "Config_AVR-DOS.BAS"
Sdd = Initfilesystem(1)
If Sdd <> 0 Then
Do
Toggle Led
Waitms 250
Loop
Else
Set Led
End If
Do
S = "summer.wav"
Open S For Binary As #1
Do
Get #1 , B
Pwm0 = B
Loop Until Eof(#1) <> 0
Pwm0 = 1
Close #1
Wait 1
LoopС уважением,
Алексей.
Алексей.
- Реклама
- ИС-пытатель
- Вымогатель припоя
- Сообщения: 577
- Зарегистрирован: Ср июн 19, 2013 08:10:48
- Откуда: Москва, СПб, Липецк, Рязань
Re: BASCOM AVR в вопросах и ответах
Евстифеева себе скачайте. Там все описано.
FastPWM - это когда счетчик в одну сторону прогоняет и по пути изменяет ногу.
PhaseCorrectPWM - это когда счетчик гоняет туда-обратно и по пути меняет ногу.
FastPWM - это когда счетчик в одну сторону прогоняет и по пути изменяет ногу.
PhaseCorrectPWM - это когда счетчик гоняет туда-обратно и по пути меняет ногу.
- Gordon Shumway
- Мучитель микросхем
- Сообщения: 485
- Зарегистрирован: Пн авг 20, 2007 21:35:45
- Откуда: Мытищи, Московская область
- Контактная информация:
Re: BASCOM AVR в вопросах и ответах
Это книга такая ? Обязательно скачаю.ИС-пытатель писал(а):Евстифеева себе скачайте. Там все описано.
FastPWM - это когда счетчик в одну сторону прогоняет и по пути изменяет ногу.
А по fastpwm - строчку не подскажете ? По F1 в баскоме не нахожу описания этого режима. И не подскажете про прерывание Output_Compare_0A ? Как его реализовать ?
С уважением,
Алексей.
Алексей.
- ИС-пытатель
- Вымогатель припоя
- Сообщения: 577
- Зарегистрирован: Ср июн 19, 2013 08:10:48
- Откуда: Москва, СПб, Липецк, Рязань
Re: BASCOM AVR в вопросах и ответах
Микроконтроллеры AVR семейств Tiny и Mega фирмы ATMEL. 2008 г.
Раздел про таймеры. Описание режимов работы. По сути, тот же даташит, только на русском. Да, при пользовании конкретной модели контроллера, сравнивайте с ДШ на данную модель. некоторые вещи изменились с тех пор.
Раздел про таймеры. Описание режимов работы. По сути, тот же даташит, только на русском. Да, при пользовании конкретной модели контроллера, сравнивайте с ДШ на данную модель. некоторые вещи изменились с тех пор.
Re: BASCOM AVR в вопросах и ответах
Доброго времени, котаны!
Подскажите пожалуйста аналог входного регистра 74HC597, работать с 74HC164 по SPI не хочу (если я правильно понял, что он работает только по SPI). Задача стоит именно посадить без SPI.
Благодарю за любую информацию!
PS: 74HC597 использовал бы, но оптом в DIP-корпусе не могу найти.
UPD: Посмотрел в сторону 74LS374, удобное управление с ними можно реализовать - подключаются все регистры параллельно к МК 8pin к 8pin и другим регистром (например 74HC595) выбираем с какого из 74LS374 будем считывать или наоборот посылать данные.
Подскажите пожалуйста аналог входного регистра 74HC597, работать с 74HC164 по SPI не хочу (если я правильно понял, что он работает только по SPI). Задача стоит именно посадить без SPI.
Благодарю за любую информацию!
PS: 74HC597 использовал бы, но оптом в DIP-корпусе не могу найти.
UPD: Посмотрел в сторону 74LS374, удобное управление с ними можно реализовать - подключаются все регистры параллельно к МК 8pin к 8pin и другим регистром (например 74HC595) выбираем с какого из 74LS374 будем считывать или наоборот посылать данные.
Последний раз редактировалось AlekseyV Вт июн 03, 2014 19:17:10, всего редактировалось 2 раза.
- edm2007
- Поставщик валерьянки для Кота
- Сообщения: 2255
- Зарегистрирован: Вт апр 21, 2009 22:24:10
- Откуда: Иркутск
- Контактная информация:
Re: BASCOM AVR в вопросах и ответах
Доброго.
*** Удалено
Все, увидел что про входной регистр речь идет. Неправильно понял.
*** Удалено
Все, увидел что про входной регистр речь идет. Неправильно понял.
"Слишком много людей ломаются, даже не подозревая о том, насколько близки к успеху они были в тот момент, когда упали духом". Томас Алва Эдисон
-
pavel1979
- Мучитель микросхем
- Сообщения: 494
- Зарегистрирован: Пн авг 12, 2013 19:07:47
- Откуда: башкирия мелеуз
Re: BASCOM AVR в вопросах и ответах
Котаны,а как вывести число на жки в формате #,## ?чет и гугл не помог...
все,вопрос снят
.....
Dim W As Word
Dim Lin As String * 6
......
Lin = Str(w) 'âûâîäèì ðåçóëüòàò ïðåîáðàçîâàíèÿ íà ÆÊ
Lcd Format(lin , "0.00")
все,вопрос снят
.....
Dim W As Word
Dim Lin As String * 6
......
Lin = Str(w) 'âûâîäèì ðåçóëüòàò ïðåîáðàçîâàíèÿ íà ÆÊ
Lcd Format(lin , "0.00")
Re: BASCOM AVR в вопросах и ответах
Доброго времени!
Подскажите в какое направление копать. Хочу реализовать диммер на 8 каналов на основе Atmega8, диммировать нужно 220В 2-5А.
Благодарю за внимание.
Подскажите в какое направление копать. Хочу реализовать диммер на 8 каналов на основе Atmega8, диммировать нужно 220В 2-5А.
Благодарю за внимание.
Re: BASCOM AVR в вопросах и ответах
Присваиваю переменной типа Double значение 0,970134933 , а при просмотре содержимого переменной оказывается там число 970,134933. Так какую же переменную использовать для вычислений, если число меньше нуля и нужно много знаков после запятой?
Re: BASCOM AVR в вопросах и ответах
Так не бывает. Или не корректное присвоение, или где-то умножение на 1000, или не корректный просмотр.NucLeaR писал(а):Присваиваю переменной типа Double значение 0,970134933 , а при просмотре содержимого переменной оказывается там число 970,134933.
Re: BASCOM AVR в вопросах и ответах
Вот пример кода, B должно получиться 0,970134933, а на дисплее 970,134933. Да и если дальше считать то не то получается.
Код: Выделить всё
$regfile = "m8535.dat"
$crystal = 8000000
$baud = 9600
$hwstack = 32 ' default
$swstack = 8 ' default
$framesize = 64
Config Lcd = 16 * 2
Config Lcdpin = Pin , Db4 = Portc.2 , Db5 = Portc.3 , Db6 = Portc.4 , Db7 = Portc.5 , E = Portd.5 , Rs = Portd.4 'пины LCD
Dim L1 As Double
Dim A As Double
Dim B As Double
Cursor Off
Cls
Do
L1 = 55.6128305556
A = L1 * 3.14
B = A / 180
Cls
Lcd A
Locate 2 , 1
Lcd B
Wait 1
Loop
End
Re: BASCOM AVR в вопросах и ответах
1. Запустить в отладчике.
2. Остановиться после арифметики.
3. Посмотреть значения переменных.
4. Убедиться в ошибке вывода на дисплей.
2. Остановиться после арифметики.
3. Посмотреть значения переменных.
4. Убедиться в ошибке вывода на дисплей.
Re: BASCOM AVR в вопросах и ответах
В симуляторе Bascom`а не запускается, в протеусе такая же фигня
- edm2007
- Поставщик валерьянки для Кота
- Сообщения: 2255
- Зарегистрирован: Вт апр 21, 2009 22:24:10
- Откуда: Иркутск
- Контактная информация:
Re: BASCOM AVR в вопросах и ответах
"Слишком много людей ломаются, даже не подозревая о том, насколько близки к успеху они были в тот момент, когда упали духом". Томас Алва Эдисон
Re: BASCOM AVR в вопросах и ответах
Что то у меня переменные не показываются в протеусеedm2007 писал(а):Пошаговая отладка в PROTEUS для BASCOM
- edm2007
- Поставщик валерьянки для Кота
- Сообщения: 2255
- Зарегистрирован: Вт апр 21, 2009 22:24:10
- Откуда: Иркутск
- Контактная информация:
Re: BASCOM AVR в вопросах и ответах
- Вложения
-
- отладка.png
- (182.67 КБ) 1689 скачиваний
Последний раз редактировалось edm2007 Вт июн 10, 2014 17:27:53, всего редактировалось 1 раз.
"Слишком много людей ломаются, даже не подозревая о том, насколько близки к успеху они были в тот момент, когда упали духом". Томас Алва Эдисон


