Страница 131 из 304

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

Добавлено: Вс май 06, 2012 21:47:04
vanyap1
Программа не компилируется если переменную eram делать жирнее byte или делать с ней что то кроме приравнивания к другим сходным по типу.

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

Спасибо. Признателен за помощь.

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

Добавлено: Вс май 06, 2012 21:55:25
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.

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

Добавлено: Вс май 06, 2012 23:24:30
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

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

Добавлено: Пн май 07, 2012 08:35:23
TIP
Добрый день.
edm2007, Вы в своих программах на "attiny2313.dat" ставили On Oc0a Dimmer – прерывания по совпадению. Почему эта же функция для "m8def.dat" выдает ошибку? В чем причина не могу понять.

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

Добавлено: Пн май 07, 2012 10:18:48
edm2007
Добрый.

Потому что таймер Т0 в Atmega8 не имеет возможности работать по совпадению. Такого регистра у него просто нет, он способен лишь отмерять интервалы и подсчитывать импульсы на выводе Т0. Если Вам нужен 8-ми битный счетчик с регистром сравнения, то воспользуйтесь таймером Т2 (прерывание OC2, регистр сравнения OCR2).

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

Добавлено: Пн май 07, 2012 11:11:32
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/

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

Добавлено: Пн май 07, 2012 11:58:35
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) то картинка должна выводиться как должно и на клоне и на оригинале......или я ошибаюсь?

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

Добавлено: Чт май 10, 2012 19:32:06
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 выводит только половину, в железе и половина плывет...чего то я не допонимаю.

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

Добавлено: Пн май 14, 2012 14:35:23
vanyap1
Как сделать чтобы контроллер передавал в терминал только тесимволы которые мне надо и отсечь это- " 0D 0A" . Передается в конце после символа.

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

Добавлено: Пн май 14, 2012 16:12:48
mr4ester
а как вы шлете? у меня такого никогда не было.

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

Добавлено: Пн май 14, 2012 17:17:00
vanyap1
Print Command

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

Собственно все запускается и тут же останавливается. Пока не посмотрел в терминале в чем дело. Как оказалось, МК прикрепляет в конце посылки эти два байта. Но вто же время если слать с ПК через терминал к примеру - цифру 3, то она так и приходит, и ничего левого не прикрепляется.

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

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

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

Добавлено: Вт май 15, 2012 10:04:05
Gordon Shumway
amv2000 писал(а):У кого нибудь остались дисплеи Nokia 3310(клон с двумя дугами), или я единственный обладатель?
Как Вы графику выводите у меня картинка рассыпается...уже и не знаю чего делать.
Вывод с помощью стандартной библиотеки, с которой "Мегатермо" делал:

Изображение

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

А с вашей библиотекой картинка сдвинута.

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

Добавлено: Вт май 15, 2012 10:42:20
amv2000
Gordon Shumway писал(а):Вывод с помощью стандартной библиотеки, с которой "Мегатермо" делал:
Спасибо большое,глубокий поклон до земли :) домой приеду попробую,

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

Добавлено: Вт май 15, 2012 19:22:07
amv2000
Gordon Shumway писал(а):А с вашей библиотекой картинка сдвинута.
Ну я даже не знаю, пробовал и со стандартной в частности, что Вы выложили картинка в мозаике хоть тресни. Может такой экземпляр попался не знаю, что и думать...

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

Добавлено: Ср май 16, 2012 06:48:22
Gordon Shumway
amv2000 писал(а):
Gordon Shumway писал(а):А с вашей библиотекой картинка сдвинута.
Ну я даже не знаю, пробовал и со стандартной в частности, что Вы выложили картинка в мозаике хоть тресни. Может такой экземпляр попался не знаю, что и думать...
Видимо китайцы умудрились выпустить несколько разновидностей двоякоулыбчивых дисплеев от Nokia 3310...

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

Добавлено: Ср май 16, 2012 20:46:01
amv2000
Gordon Shumway писал(а):Видимо китайцы умудрились выпустить несколько разновидностей двоякоулыбчивых дисплеев от Nokia 3310...
Ничего сказать не могу ибо сам не знаю, сегодня пошел в ремонт сотовых взял у них дисплей (отдали телефон целиком за 200 руб) попробую с ним, если все работает тогда видать китайцы делают апдейт :idea:

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

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

И по теме, хотелось бы узнать как отключить все возможные функции МК при оцифровке сигнала? Чтобы не наводили помехи на АЦП.

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

Добавлено: Чт май 17, 2012 17:46:53
edm2007
ADC Noise Reduction (режим снижения шумов АЦП). Даташит в помощь. :tea:

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

Добавлено: Чт май 17, 2012 18:58:15
vanyap1
Каким образом его активировать?