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 в вопросах и ответах
NucLeaR писал(а):Присваиваю переменной типа Double значение 0,970134933 , а при просмотре содержимого переменной оказывается там число 970,134933.
Так не бывает. Или не корректное присвоение, или где-то умножение на 1000, или не корректный просмотр.
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 КБ) 1688 скачиваний
Последний раз редактировалось edm2007 Вт июн 10, 2014 17:27:53, всего редактировалось 1 раз.
"Слишком много людей ломаются, даже не подозревая о том, насколько близки к успеху они были в тот момент, когда упали духом". Томас Алва Эдисон