BASCOM AVR в вопросах и ответах

Обсуждаем контроллеры компании Atmel.
vanyap1
Электрический кот
Сообщения: 1048
Зарегистрирован: Пт июл 30, 2010 11:49:03
Откуда: Украина
Контактная информация:

Re: BASCOM AVR в вопросах и ответах

Сообщение vanyap1 »

Программа не компилируется если переменную eram делать жирнее byte или делать с ней что то кроме приравнивания к другим сходным по типу.

Потому и вопрос встал о разделении 16-битного значения.

Спасибо. Признателен за помощь.
Аватара пользователя
edm2007
Поставщик валерьянки для Кота
Сообщения: 2255
Зарегистрирован: Вт апр 21, 2009 22:24:10
Откуда: Иркутск
Контактная информация:

Re: BASCOM AVR в вопросах и ответах

Сообщение edm2007 »

vanyap1 писал(а):или делать с ней что то кроме приравнивания к другим сходным по типу


Эта переменная на самом деле таковой не является. Ее нельзя использовать в своих расчетах и прочих корыстных целях. Она может быть использована только для копирования в / из EEPROM. Передали ей значение - записали в EEPROM, скопировали из нее значение - прочитали EEPROM. Всё. При правильном использовании Bascom на типы не ругается.

Заведите себе нормальную переменную, схожую по типу. И работайте непосредственно с копией EEPROM. И все будет хорошо.

Код: Выделить всё

Dim A As Word , B As Eram Word

A = &HF1F8   ' это обычная переменная

B = A           ' копируем содержимое A в EEPROM

A = 0           ' обнуляем обычную переменную (теперь А = 0)

A = B           . забираем из EEPROM наше число (теперь А = &HF1F8)


P.S. Можете в симуляторе того же Баскома посмотреть, как он раскидывает двухбайтную переменную по EEPROM.
"Слишком много людей ломаются, даже не подозревая о том, насколько близки к успеху они были в тот момент, когда упали духом". Томас Алва Эдисон
Аватара пользователя
amv2000
Опытный кот
Сообщения: 717
Зарегистрирован: Вт апр 26, 2011 13:58:36
Откуда: Ростовская область

Re: BASCOM AVR в вопросах и ответах

Сообщение amv2000 »

Подскажите может у кого есть Nokia 3310 с двумя дугами китаец, как инициализацию записывали?
А то при выводе картинок каша, если просто текст то вверху мусор....
Сейчас инициализирую так:
Sub D3310init
D3310ce = 0 'Display data input enable
D3310dc = 0 'Command mode
D3310commandout &H21 'Extended command mode, horizontal addressing
'D3310commandout &HC8 'Middle contrast
D3310commandout &HE9
D3310commandout &H06 'Temperature setting
D3310commandout &H13 'Bias 1:48
D3310commandout &H7F ' Для китайского
D3310commandout &H20 'Normal command mode, horizontal addressing
D3310commandout &H0C 'Uninverted Screen
D3310ce = 1 'Display data input disable
End Sub
TIP
Первый раз сказал Мяу!
Сообщения: 24
Зарегистрирован: Вс июл 03, 2011 06:27:35

Re: BASCOM AVR в вопросах и ответах

Сообщение TIP »

Добрый день.
edm2007, Вы в своих программах на "attiny2313.dat" ставили On Oc0a Dimmer – прерывания по совпадению. Почему эта же функция для "m8def.dat" выдает ошибку? В чем причина не могу понять.
Аватара пользователя
edm2007
Поставщик валерьянки для Кота
Сообщения: 2255
Зарегистрирован: Вт апр 21, 2009 22:24:10
Откуда: Иркутск
Контактная информация:

Re: BASCOM AVR в вопросах и ответах

Сообщение edm2007 »

Добрый.

Потому что таймер Т0 в Atmega8 не имеет возможности работать по совпадению. Такого регистра у него просто нет, он способен лишь отмерять интервалы и подсчитывать импульсы на выводе Т0. Если Вам нужен 8-ми битный счетчик с регистром сравнения, то воспользуйтесь таймером Т2 (прерывание OC2, регистр сравнения OCR2).
"Слишком много людей ломаются, даже не подозревая о том, насколько близки к успеху они были в тот момент, когда упали духом". Томас Алва Эдисон
ut1wpr
Вымогатель припоя
Сообщения: 581
Зарегистрирован: Ср янв 05, 2011 10:03:18

Re: BASCOM AVR в вопросах и ответах

Сообщение ut1wpr »

amv2000 писал(а):Подскажите может у кого есть Nokia 3310 с двумя дугами китаец, как инициализацию записывали?
А то при выводе картинок каша, если просто текст то вверху мусор....
Сейчас инициализирую так:
Sub D3310init
D3310ce = 0 'Display data input enable
D3310dc = 0 'Command mode
D3310commandout &H21 'Extended command mode, horizontal addressing
'D3310commandout &HC8 'Middle contrast
D3310commandout &HE9
D3310commandout &H06 'Temperature setting
D3310commandout &H13 'Bias 1:48
D3310commandout &H7F ' Для китайского
D3310commandout &H20 'Normal command mode, horizontal addressing
D3310commandout &H0C 'Uninverted Screen
D3310ce = 1 'Display data input disable
End Sub

http://radiokot.ru/articles/29/
С уважением,
Виктор.
Аватара пользователя
amv2000
Опытный кот
Сообщения: 717
Зарегистрирован: Вт апр 26, 2011 13:58:36
Откуда: Ростовская область

Re: BASCOM AVR в вопросах и ответах

Сообщение amv2000 »

Немного разобрался в выводе на дисплей Nokia 3310. Разрешение экрана клона составляет 102х64 точки, следовательно, область экрана 84x48 точек является некоторой частью памяти на 102х64 точек неоригинального контроллера.
Для того, чтобы не менять номер строки в коде, дописал это в библиотеке (драйвере дисплея):

Код: Выделить всё

 D3310byte = D3310y + &H40                                'Send vertical address
   D3310byte = D3310byte + 1                                'для клона смещение на строку ниже
   Spiout D3310byte , 1                                     ' отправляем 1 байт по шине SPI

Теперь пишем

Код: Выделить всё

Call D3310position(0 , 2)
Call D3310print( "Шрифт" , 3 , 0)

А сдвиг на одну строку выполняется в подпрограмме. Теперь касаемо вывода графики, как оказалось это беда не только моего экземпляра
Однако мои эксперименты показали их пригодность почему-то только для режима отображения текста, при попытке вывести картинку изображение рассыпалось (рискну предположить, что это происходит потому, что при выводе текста каждая строка адресуется перед выводом (т.е. сказали куда вывести — вывели строку, переставили указатель на начало следующей строки — вывели вторую и т.д.), а при выводе картинки данные пишутся в память сплошным потоком, что приводит к рассыпанию из-за большей программной ширины дисплея).
Отсюда получаем два способа вывода нормальной картинки на неоригинальный дисплей: отображать экранный буфер на часть памяти контроллера, программно отслеживая смещение, либо выводить картинку с адресацией каждой строки.
Т.е как я понимаю можно, или даже скорее нужно код

Код: Выделить всё

'For D3310pixelloop = 0 To 816
      'Read D3310column
      'Call D3310dataout(d3310column)
   'Next D3310pixelloop
   'D3310ce = 1                   
Немного изменить: если цикл запускать от 0 до 84 и каждый раз сдвигать по Y (Y = Y + 1) то картинка должна выводиться как должно и на клоне и на оригинале......или я ошибаюсь?
Последний раз редактировалось amv2000 Чт май 10, 2012 21:12:24, всего редактировалось 1 раз.
Аватара пользователя
amv2000
Опытный кот
Сообщения: 717
Зарегистрирован: Вт апр 26, 2011 13:58:36
Откуда: Ростовская область

Re: BASCOM AVR в вопросах и ответах

Сообщение amv2000 »

Интересно а картинка тоже выводится блоками или попиксельно?
Пробовал:
For Xxx = 0 To 83
For Yyy = 0 To 5
D3310column = Xxx
Read D3310column
Call D3310dataout(d3310column)
Incr Yyy

Next Xxx
Next Yyy

End Sub
Как задумывалось здесь берем строку 84 точки , дабы отсечь потому как в китайце 102, заводим цикл из столбцов (если блоками). Считываем строку записываем, на столбец ниже - опять считываем пишем....или я дюже намудрил или не домудрил.
в Proteuse выводит только половину, в железе и половина плывет...чего то я не допонимаю.
vanyap1
Электрический кот
Сообщения: 1048
Зарегистрирован: Пт июл 30, 2010 11:49:03
Откуда: Украина
Контактная информация:

Re: BASCOM AVR в вопросах и ответах

Сообщение vanyap1 »

Как сделать чтобы контроллер передавал в терминал только тесимволы которые мне надо и отсечь это- " 0D 0A" . Передается в конце после символа.
Аватара пользователя
mr4ester
Держит паяльник хвостом
Сообщения: 900
Зарегистрирован: Чт авг 27, 2009 20:09:01
Откуда: Приднестровье г.Бендеры
Контактная информация:

Re: BASCOM AVR в вопросах и ответах

Сообщение mr4ester »

а как вы шлете? у меня такого никогда не было.
Работа избавляет нас от трех великих зол: скуки, порока, нужды. (Вольтер)
vanyap1
Электрический кот
Сообщения: 1048
Зарегистрирован: Пт июл 30, 2010 11:49:03
Откуда: Украина
Контактная информация:

Re: BASCOM AVR в вопросах и ответах

Сообщение vanyap1 »

Print Command

Command - переменная типа байт.
Все бы хорошо, но мне надо управлять девайсом, где цифра запускает указанный процесс, а любой другой символ пришедший и вызвавший прерывания и не являющийся цифрой отключает все.

Собственно все запускается и тут же останавливается. Пока не посмотрел в терминале в чем дело. Как оказалось, МК прикрепляет в конце посылки эти два байта. Но вто же время если слать с ПК через терминал к примеру - цифру 3, то она так и приходит, и ничего левого не прикрепляется.
Аватара пользователя
amv2000
Опытный кот
Сообщения: 717
Зарегистрирован: Вт апр 26, 2011 13:58:36
Откуда: Ростовская область

Re: BASCOM AVR в вопросах и ответах

Сообщение amv2000 »

У кого нибудь остались дисплеи Nokia 3310(клон с двумя дугами), или я единственный обладатель?
Как Вы графику выводите у меня картинка рассыпается...уже и не знаю чего делать.
Вложения
BMP Out.zip
(60.25 КБ) 202 скачивания
Аватара пользователя
Gordon Shumway
Мучитель микросхем
Сообщения: 485
Зарегистрирован: Пн авг 20, 2007 21:35:45
Откуда: Мытищи, Московская область
Контактная информация:

Re: BASCOM AVR в вопросах и ответах

Сообщение Gordon Shumway »

amv2000 писал(а):У кого нибудь остались дисплеи Nokia 3310(клон с двумя дугами), или я единственный обладатель?
Как Вы графику выводите у меня картинка рассыпается...уже и не знаю чего делать.


Вывод с помощью стандартной библиотеки, с которой "Мегатермо" делал:

Изображение

Только под мегу8 переделал.

А с вашей библиотекой картинка сдвинута.
Вложения
2.rar
Программа и стандартная библиотека
(26.68 КБ) 233 скачивания
2.jpg
(129.46 КБ) 1462 скачивания
С уважением,
Алексей.
Аватара пользователя
amv2000
Опытный кот
Сообщения: 717
Зарегистрирован: Вт апр 26, 2011 13:58:36
Откуда: Ростовская область

Re: BASCOM AVR в вопросах и ответах

Сообщение amv2000 »

Gordon Shumway писал(а):Вывод с помощью стандартной библиотеки, с которой "Мегатермо" делал:

Спасибо большое,глубокий поклон до земли :) домой приеду попробую,
Аватара пользователя
amv2000
Опытный кот
Сообщения: 717
Зарегистрирован: Вт апр 26, 2011 13:58:36
Откуда: Ростовская область

Re: BASCOM AVR в вопросах и ответах

Сообщение amv2000 »

Gordon Shumway писал(а):А с вашей библиотекой картинка сдвинута.

Ну я даже не знаю, пробовал и со стандартной в частности, что Вы выложили картинка в мозаике хоть тресни. Может такой экземпляр попался не знаю, что и думать...
Вложения
DSC00505.jpg
(204.73 КБ) 515 скачиваний
Аватара пользователя
Gordon Shumway
Мучитель микросхем
Сообщения: 485
Зарегистрирован: Пн авг 20, 2007 21:35:45
Откуда: Мытищи, Московская область
Контактная информация:

Re: BASCOM AVR в вопросах и ответах

Сообщение Gordon Shumway »

amv2000 писал(а):
Gordon Shumway писал(а):А с вашей библиотекой картинка сдвинута.

Ну я даже не знаю, пробовал и со стандартной в частности, что Вы выложили картинка в мозаике хоть тресни. Может такой экземпляр попался не знаю, что и думать...


Видимо китайцы умудрились выпустить несколько разновидностей двоякоулыбчивых дисплеев от Nokia 3310...
С уважением,
Алексей.
Аватара пользователя
amv2000
Опытный кот
Сообщения: 717
Зарегистрирован: Вт апр 26, 2011 13:58:36
Откуда: Ростовская область

Re: BASCOM AVR в вопросах и ответах

Сообщение amv2000 »

Gordon Shumway писал(а):Видимо китайцы умудрились выпустить несколько разновидностей двоякоулыбчивых дисплеев от Nokia 3310...

Ничего сказать не могу ибо сам не знаю, сегодня пошел в ремонт сотовых взял у них дисплей (отдали телефон целиком за 200 руб) попробую с ним, если все работает тогда видать китайцы делают апдейт :idea:
vanyap1
Электрический кот
Сообщения: 1048
Зарегистрирован: Пт июл 30, 2010 11:49:03
Откуда: Украина
Контактная информация:

Re: BASCOM AVR в вопросах и ответах

Сообщение vanyap1 »

Раньше писал - что показания АЦП меге 8 прыгают. Оказалось, что ИОН там не так уж и стабильный. Постоянно прыгает напряжение от 2,42 до 2,65В. Включил мегу от аккумулятора, и задал ИОНом напряжение питания, не так сильно и прыгали показания.

И по теме, хотелось бы узнать как отключить все возможные функции МК при оцифровке сигнала? Чтобы не наводили помехи на АЦП.
Аватара пользователя
edm2007
Поставщик валерьянки для Кота
Сообщения: 2255
Зарегистрирован: Вт апр 21, 2009 22:24:10
Откуда: Иркутск
Контактная информация:

Re: BASCOM AVR в вопросах и ответах

Сообщение edm2007 »

ADC Noise Reduction (режим снижения шумов АЦП). Даташит в помощь. :tea:
"Слишком много людей ломаются, даже не подозревая о том, насколько близки к успеху они были в тот момент, когда упали духом". Томас Алва Эдисон
vanyap1
Электрический кот
Сообщения: 1048
Зарегистрирован: Пт июл 30, 2010 11:49:03
Откуда: Украина
Контактная информация:

Re: BASCOM AVR в вопросах и ответах

Сообщение vanyap1 »

Каким образом его активировать?
Ответить

Вернуться в «AVR»