Архив старого форума

Это архив старого форума !—sp-forum—
Этот форум в настоящее время закрыт — только для чтения
Чтобы оставлять сообщения, авторизуйтесь Вход

Поиск в форумах:


 




Пожелания, впечатления, отзывы.

ПользовательСообщение

2:10
7 Декабрь 2009


THC

Здравствуйте!

сообщений 2

61

Получил плату PinBoard v10, большое спасибо, доставили быстро. Я начинающий, стал изучать QuickStart и сразу наступил на грабли:
сначала не грузилась прошивка Demo16-RTOS.hex (загрузилась после того как переписал AVRProg в папку C:\AVR), потом решил попробовать запитать плату не от USB, а от внешнего питания. И тут наступил на вторые грабли — когда от USB программа работала, то всё нормально было — кнопки А, В, С, В, АЦП и терминал работал (текст правда непонятно куда каждый раз на экран выводился и русские буквы выводились крякозябликами). Когда же подал внешнее питание (9В и 12В пробовал), то на экранчике постоянно выводится: “Ввод с терминала”, идут какие-то символы непонятные: то буквы ДДДД, то буква k зеркальная, хотя терминал вообще отключен, даже проводок TxRx снят. Из-за чего это происходит, может помехи какие идут или что-то не подключил?
Ещё прошу добавить меня в подписку на рассылку, буду изучать МК. Спасибо.

3:56
13 Декабрь 2009


DI HALT

Администратор

сообщений 1444

62

AVRProg не сильно то дружит с длинными путями, об этом я предупреждал в квик старте.

Питание у тебя видимо с блока питания плохое. Что за блок питания?

4:02
13 Декабрь 2009


DI HALT

Администратор

сообщений 1444

63

По поводу кракозябров — дело в том, что кодировка дисплея не совпадает с кодировкой винды. Точнее совпадает только на латинице. Чтобы писать по русски надо преекодировать текст вначале.

4:04
13 Декабрь 2009


DI HALT

Администратор

сообщений 1444

64

А если у тебя провод от терминала висит в воздухе и никуда не подключен, то ловит как антенна всякий мусор, мельчайшие колебания питания тоже на нем меняют логический уровень. Посади вывод RX на вывод дип переключателя и подтяни его резистором к питанию (правый дип переключатель в положение ON).

4:08
13 Декабрь 2009


DI HALT

Администратор

сообщений 1444

65

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

22:02
14 Декабрь 2009


THC

Здравствуйте!

сообщений 2

66

DI HALT said:

Питание у тебя видимо с блока питания плохое. Что за блок питания?


блок питания — обычная крона на 9В. посадил вывод rx на дип переключатель, шум пропал, спасибо за подсказку, теперь с ISP-программатором бы разобраться :)

23:42
15 Декабрь 2009


SergeyDon

Свой человек

Украина

сообщений 66

67

по работе с платой:

Пытаюсь самостоятельно изучать её возможности, и вот парюсь с настройкой ЖКИ по 8битной схеме!
Никак не получается инициализировать дисплей…

Интересует вопрос если я использую PortB на МК для шины данных (все 8бит) нужно дополнительно предпринимать какие-то меры (типа установить перемычки или отключить чего нибуть)?

заметил что если в демо программе перекинуть управление на portD (pin 2..3) или portC то дисплей тоже не инициализируется! а вот на portA (pin1..2) — все работает.

для меня демка из комплекта пока не подъёмный груз… особенно с её RTOS хотя конечно ковыряю с интересом!

Если кому не сложно посмотрите мой код в теме:
ссылка на тему
и подскажите где я туплю?

P.S. кто работает с этой платой и есть интересные примеры которые не жалко показать, милости просим :)

-==-==-==-==-==- beginer

5:38
16 Декабрь 2009


DI HALT

Администратор

сообщений 1444

68

Ну с портом С там ясное дело — там JTAG висит поэтому четыре пина выпадают из процесса, а вот с другими должно работать. Видимо что то не до конца запустил.

А по поводу ядра, так ты его можешь выкинуть нафиг.
Либа дисплея она как раз в старом стиле написана и под это ядро не сильно подходит.

В общем оставляешь обычный цикл и инициализацию:
(таблицу векторов и прочий стартап код я для краткости опустил)

.include «WH\lcd_macro.inc»

Start:

INIT_LCD ; Инициализация и запуск дисплея.

main:

WR_DATA ‘H’
WR_DATA ‘E’
WR_DATA ‘L’
WR_DATA ‘L’
WR_DATA ‘O’

RJMP Main

; Подключены библиотеки работы с дисплеем и преобразования всякие
.include «WH\lcd.asm»

и вот это должно вывести тебе надпись HELLO (точнее забить весь экран надписями. т.к. в цикле.

З.Ы.
Берешь любую прогу из ассемблерного курса АВР, там все под мегу8. Меняешь там в коде деф файл с меги8 на мегу16 и перекомпилируешь. Должно все работать также. Ну разве что таблицу вектров уточни, чтобы не отличалась если что добавь недостающее.

17:40
16 Декабрь 2009


SergeyDon

Свой человек

Украина

сообщений 66

69

:)
немного флуда:
мне нравятся такие советы, посмотри то, не знаю, что! и сделай так не знаю как. Вот тебе кусок кода который вроде -бы когда-то работал, только я сам не видел, но тот кто видел, выдрал его из рабочей проги и выдал на гора, но сам проверить не успел…

а теперь по делу:

библиотека, на которую есть ссылка в статье «Библиотека для LCD на базе HD44780» содержит два варианта реализации работы с ЖКИ в 4-битном режиме и 8-битном. Файлы библиотеки предназначенные для работы с ЖКИ по 8битной шиной не работают (изначально даже не компилятся):
— отсутствует макросы “LCD_PORT_IN” и “ LCD_PORT_OUT ” (я понимаю, что автор многократно переписывал и усовершенствовал, свои библиотеки и пришел к выводу: что эти макросы нужно заменить вызовом «RCALL PortIn» и «RCALL PortOut» соответственно, но в выложенной библиотеке это забыл сделать)!

Даже найдя эти неточности вывести на ЖКИ текст «Hello» не получается (на ЖКИ горят «oOO_o” — не кракозябры как у автора на пару постов выше, но и не то, что ожидали), но прогресс на лицо ЖКИ инициализировался, хотя и не ясно как?

P.S. интересно сколько человек получивших плату для ознакомления и обучения возможностям АВР микроконтроллера пошли дальше, чем просто проверили работоспособность Demo программы?

-==-==-==-==-==- beginer

19:56
16 Декабрь 2009


DI HALT

Администратор

сообщений 1444

70

Ну начнем с того что таки там все работает. И макросы LCD_PORT_IN на месте там где и должны быть в файле макросов LCD_macro.inc. И библиотеку я с тех пор не менял.

А я тебе советовал взять рабочий код демки и обкорнать его до минимума. Собственно даже показал что от него надо оставить чтобы избавиться от ядра RTOS (оставив только пустой цикл) и оставить работоспособную инициализацю дисплея чтобы вывести на него хоть что нибудь.

2:06
17 Декабрь 2009


SergeyDon

Свой человек

Украина

сообщений 66

71

Беру свои слова обратно! А то прям оклеветал автора!

Оказывается, это я как новичок ступил когда подключал библиотеки :)
Вот как я рассуждал:

подключяю библиотеки:
.include «LCD.asm»
.include «LCD_macro.inc»
Студия ругается вот таким сообщением:
D:\avr_test\LCD_test_2\LCD.asm(26): error: LCD_PORT_IN: Unknown instruction or macro

Ну поскольку «типа шарю» по английский открываю файл “LCD.asm” строка 26 и что там вижу:

25: SBI CMD_DDR,E
26: LCD_PORT_IN
27: RET
;===================================
BusyWait: ;LCD_PORT_IN
CBI CMD_PORT,RS

Ага понятно, вызов макроса… , а что это там ниже 28 строки? Тоже вызов зачем закомментирован? … ну да ладно.. может так нужно но почему оно не работает?

Такс в демке подключена библиотека LCD4.asm и там все чики-пуки работает, посмотрим…

Открываем … Ctrl+F искать LCD_PORT_IN … Хм… странно нет такого!?
Шарим по тексту ищем что-то знакомое…. А вот похожее… но тут написанно:
RCALL PortIn ; Порты на вход
Ну логично, и даже комментарий есть :)

Для пущей убедительности проверили файл “LCD4_macros.inc” на наличие LCD_PORT_IN, тоже ничего…

ладно будем ковырять…
Ищем… где-же он описан… а вот он в файле макросов “LCD_macros.inc”
Хм.., странный макрос — JMP какой-то и все… О! так это такой-же джамп как и в библиотеке для 4битной работы! Наверное автор забыл поправить… подумал я…
Ладно скопируем его в основное тело (в файл “LCD.asm”) делаем replace …
Компилим … ух ты … с этим порядок! Аналогично устраняем LCD_PORT_OUT… компилим…

Есть порядок! Студия пропускает нас дальше! Запускаем… +запускаем Hapsim … ёклмн.. на экране порядок вижу Hello

Подкидываем плату, заливаем… смотрим обломс.. на экране Ooo_o

Ну вот опять лажа, и помнится, что на форуме кто-то писал про кракозябры! Ага понятно, значит и мне нужно туда поплакаться…

P.S. После вашего ответа, снова перечитал урок! Почесал репу и начал эксперимент… ПЕРЕНАБРАЛ текст и все скомпилил с первого раза, странно на работе вылетело, что типа макрос не найден… а вот в чем дело строки местами поменяны
.include «LCD_macro.inc»
.include «LCD.asm»
Ну дальше все стало понятно,
хотя мой код с инициализацией так и не заработал…

Прошу прошение, что усомнился в ответственности автора ;)

-==-==-==-==-==- beginer

5:51
17 Декабрь 2009


DI HALT

Администратор

сообщений 1444

72

А ты в 8ми разрядном режиме пытаешься вывести чтоль? Скинь код тогда, погляжу что там да как.

20:22
26 Декабрь 2009


Melted Metal

Старожил

Печь №4

сообщений 544

73

Ди, может ли Пинборда, при соответствующей доработке, заменить собой программатор БайтБластер, который используется для программирования ПЛИСин?

11:22
27 Декабрь 2009


DI HALT

Администратор

сообщений 1444

74

Вряд ли. Разве что написать софтину клиент на комп и прошивку программатор в саму демоплату.

12:29
27 Декабрь 2009


Melted Metal

Старожил

Печь №4

сообщений 544

75

Понятно.

18:34
28 Декабрь 2009


Ulav

Только пришел

Оренбург

сообщений 8

76

Привет всем! Вообщем доволен платой, спасибо Ди-Халту! :) Единственное столкнулся с одной очень неприятной загвоздкой.
В КвикСтарте Ди-Халт пишет что запускать АВРпрог надо пока горит ЛЕД2. Вообщем делаю и в итоге: лед2 гаснет через 4 секунды и пишет мне АВРпрог: Но суппортед борд фаунд.
Моя конфигурация: Нетбук самсунг с ОС Вин7. Я сначала гнал на Семерку, потом после пары десятков попыток — одна удалась!! и потом опять попытки впустую :( Решил установить портмонитор, просмотрев лог пересылок выяснил что для того чтобы сработал надо практически миллисекундое совпадение какихто космических событий! То есть я чисто интуитивно, используя портмонитор могу сбросить контроллер именно в тот момент когда АВРпрог сделает очередную попытку обращения к бутлодеру и тогда встаёт новая проблема — то что при прошивки с включенным портмонитором у меня комп виснет наглухо на этапе стирания кристалла. А без портмонитора я всеголишь один раз угадал эти миллисекунды совпадения :(

Секундой позже или секундой раньше — резет или АВРпрог и ничего не срабатывает, несмотря на активный ЛЕД2.

Сегодня еще проверю на ХП может там ситуация лучше. Если ктото сталкивался поделитесь опытом пожалуйста.

Сначала думал увеличить время ожидания в бутлодере, но чувствую проблема не в этом… потому что 4 секунда мне вполне достаточно чтобы проделать манипуляции…

Заранее спасибо всем за внимание!

20:33
28 Декабрь 2009


Orcinus Orca

Старожил

Красноярск

сообщений 464

77

Я пользуюсь и своим вариантом бутлоадера (с того же сайта качал, что и DI HALT), и вариант DI HALTa использовал. Операционки юзал Windows XP SP3 (английскую и русскую), Vista Bussines SP1, Windows Se7en Professional. Везде работало без нареканий. Проверь последняя ли версия AVRProg используется, жестко задай порт для сканирования, проверь чтобы порт был в пределах COM 1-4.

Нет повести печальнее на свете, чем повесть о заклинившем ресете.

21:50
28 Декабрь 2009


Ulav

Только пришел

Оренбург

сообщений 8

78

порт ком2, аврпрог 1.4, Ос — вин7 максимальная. скоро протестю на ХП, отпишу результат

2:46
29 Декабрь 2009


Ulav

Только пришел

Оренбург

сообщений 8

79

Проверил на ХП, бутлоадер вполне себе определяется в положеные ему 4 секунды, без всяких игр в «Поймай момент». Вообщем придётся пользовать ХП. Всем спасибо за внимание :)

15:24
30 Декабрь 2009


Ulav

Только пришел

Оренбург

сообщений 8

80

Запустил ХП на виртуальной машине под семёркой — тоже здоровски работает. Так что если у кого-нить будет похожая проблема, то не обязательно сносить семерку.

 


11 thoughts on “Архив старого форума”

  1. Доброго времени суток.У меня тоже была такая ситуация :купил графический дисплей за 19.50 грн. ,пришел домой,начал искать информацию про дисплей но кроме надписи на дисплее D1560T01 ничего не нашел.В конце концов пошел обратно в магазин и они мне скинули документацию про дисплей http://files.mail.ru/ZD50R7

        1. Самое забавно, что ответ он не увидит. Т.к. он появится не в форуме (который закрыт), а в комментах к странице куда приткнуть вообще весь форум. Получается голос в пустоту :)

  2. Добрый вечер, сенсеям программирования! я кнешно еще нубас и только учусь. но у меня вопрос. Я преобрел демоплату в.2 и начал программировать. написал простецкую прогу: «нажал на кномку с пинки 1 и вкл. диод на пинке 2», но почему-то она не работает :(

    Вот код
    #include

    int main(void)
    {
    DDRC = 0x00; //порт С на вход
    PORTC = 0xFF; //подключаем нагрузочные резисторы

    DDRB = 0xFF; //порт B на выход
    PORTB = 0x00; //устанавливаем нули на выходе

    while(1)

    {
    if ((PINC&(1 << PC2)) == 1) //проверяем нажатие кнопки
    { PORTB &(1 << PB0);} //включаем светодиод
    else
    {
    PORTB &= ~(1 << PB0); //гасим светодиод
    }
    }
    }

    Писалась прога в АVR Studio4

    В ЧЕМ МОЙ КОСЯК?!

    Зарание спасибо!!!

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

    1. Я так думал: если при приеме байта потерялись биты и принимающий контроллер выдал флаги ошибок, то он будет ждать следующего старт бита нового байта и игнорить остальное , или по крайней мере как это реализовать?

Добавить комментарий