AT90USB1287 есть несколько вопросов

Вопросы настройки, программирования, прошивки микроконтроллеров и микросхем программируемой логики
Закрыто
Родился
Сообщения: 19
Зарегистрирован: Вт ноя 04, 2008 17:16:12
Откуда: Пенза

Сообщение Spy1313 »

Начал работу с AT90USB1287 и сразу возникли проблемы:
Первая проблема сторожевой таймер.Судя по даташиту настройка и запуск такие:

WDT_Prescaler_Change:
; Turn off global interrupt
cli
; Reset Watchdog Timer
wdr
; Start timed sequence
in r16, WDTCSR
ori r16, (1<<WDCE) | (1<<WDE)
out WDTCSR, r16
; -- Got four cycles to set the new values
;from here -
; Set new prescaler(time-out) value=64K cycles (~0.5 s)

ldi r16, (1<<WDE) | (1<<WDP2) | (1<<WDP0)
out WDTCSR, r16
; -- Finished setting new values, used 2 cycles -
; Turn on global interrupt
sei
ret

AVR Studio сразу начал ругаться на каждую строчку. Я немного исправил код получилось вот это:

;******** Настройка сторожевого таймера на 8с ********

Watchdog:
push t0
cli
wdr
; in t0,WDTCSR

ldi t0,(1<<WDCE)|(1<<WDE)
sts WDTCSR,t0

ldi t0,(1<<WDE)|(0b1001<<WDP0)
sts WDTCSR,t0

sei
pop t0
ret

А здесь in t0,WDTCSR так и осталась ошибка. Зачем нужна эта строка и что с ней делать не знаю. Может кто посоветует.

Ещё вопрос может кто работал с USB на этом кристале, нужна инфа как писать и начём отлаживать или хотя бы готовые проги и исходники
в качестве примеров. Буду признателен всем кто откликнется. Заранее СПАСИБО!!!
ICQ-476243579
Контактная информация:
Реклама
Потрогал лапой паяльник
Сообщения: 327
Зарегистрирован: Пт фев 08, 2008 13:46:03
Откуда: Воронеж

Сообщение pirotehnick »

Я не работал с этим контроллером. Однако совету тебе сначала скачать datasheet и посмотреть список его регистров.

А заголовочный файл для этой модели ты подключил?
Что за регистр t0? Как я понимаю ты просто переопределил его символическое выражение, типа .def t0 = r16?
Контактная информация:
Реклама
Потрогал лапой паяльник
Сообщения: 327
Зарегистрирован: Пт фев 08, 2008 13:46:03
Откуда: Воронеж

Сообщение pirotehnick »

Я кажется понял проблему. Если ты посмотришь datasheet, то увидишь что регистр WDTCSR находится за адресом 0x5f, и, вероятно, уже не может использоваться в инструкциях in и out и необходимо работать с ним как с байтом в ОЗУ.

вот код:

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

.include "usb1287def.inc"



WDT_Prescaler_Change: 
; Turn off global interrupt 
cli 
; Reset Watchdog Timer 
wdr 
; Start timed sequence 
lds r16, WDTCSR 
ori r16, (1<<WDCE) | (1<<WDE) 
sts WDTCSR, r16 
; -- Got four cycles to set the new values 
;from here - 
; Set new prescaler(time-out) value=64K cycles (~0.5 s) 

ldi r16, (1<<WDE) | (1<<WDP2) | (1<<WDP0) 
sts WDTCSR, r16 
; -- Finished setting new values, used 2 cycles - 
; Turn on global interrupt 
sei 
ret

Контактная информация:
Родился
Сообщения: 19
Зарегистрирован: Вт ноя 04, 2008 17:16:12
Откуда: Пенза

Сообщение Spy1313 »

pirotehnick писал(а):Я не работал с этим контроллером. Однако совету тебе сначала скачать datasheet и посмотреть список его регистров.
даташит давно скачен. я певый кусок и приводил из даташита
pirotehnick писал(а):А заголовочный файл для этой модели ты подключил?
Что за регистр t0? Как я понимаю ты просто переопределил его символическое выражение, типа .def t0 = r16?
да подключил.ты правильно понял.
ICQ-476243579
Контактная информация:
Реклама
Эиком - электронные компоненты и радиодетали
Родился
Сообщения: 19
Зарегистрирован: Вт ноя 04, 2008 17:16:12
Откуда: Пенза

Сообщение Spy1313 »

поменял команду in на lds всё запахало как часы. Спасибоо что откликнулся.
ICQ-476243579
Контактная информация:
Реклама
Родился
Сообщения: 19
Зарегистрирован: Вт ноя 04, 2008 17:16:12
Откуда: Пенза

Сообщение Spy1313 »

Ещё есть вопрос. К этому зверю надо подключить клаву 6X4 (24 кнопки), смотрел пример в обучалке по динамическому опросу, попытался переделать под свои нужды, но ничего не получается. Две недели маюсь уже.

Может кто поможет. 6 выводов на одном порту допустим F ,а 4 на другом допустим B.

Что нужно исправить
Вложения
indicate+keyboard_asm.txt
Программа динамического опроса
(8.5 КБ) 290 скачиваний
ICQ-476243579
Контактная информация:
Реклама
Потрогал лапой паяльник
Сообщения: 327
Зарегистрирован: Пт фев 08, 2008 13:46:03
Откуда: Воронеж

Сообщение pirotehnick »

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

Честно говоря я вообщее не вижу здесь проблем. Гораздо легче будет реализовать свой принцип.

Если очень надо могу написать тебе прогу.
Контактная информация:
Родился
Сообщения: 19
Зарегистрирован: Вт ноя 04, 2008 17:16:12
Откуда: Пенза

Сообщение Spy1313 »

если не сложно напиши. буду очень признателен.
Контактная информация:
Потрогал лапой паяльник
Сообщения: 327
Зарегистрирован: Пт фев 08, 2008 13:46:03
Откуда: Воронеж

Сообщение pirotehnick »

вот только что сеть подрубил.....

ладно, напишу.
Контактная информация:
Потрогал лапой паяльник
Сообщения: 327
Зарегистрирован: Пт фев 08, 2008 13:46:03
Откуда: Воронеж

Сообщение pirotehnick »

вот держи...
Это конечно не полность рабочая прога, заточенная под какой-то конкретый дисплей, а просто поданная идея.
Вложения
klava_test.asm
(2.48 КБ) 323 скачивания
Контактная информация:
IT KT
Аватара пользователя
Сообщения: 1309
Зарегистрирован: Пн авг 25, 2008 08:49:33

Сообщение demson »

немного не в тему, но тем не менее
не подскажите как к камню at90usb1287 забить заголовочный фаил в avr studio 4 на СИ?
Контактная информация:
Родился
Сообщения: 19
Зарегистрирован: Вт ноя 04, 2008 17:16:12
Откуда: Пенза

Сообщение Spy1313 »

я пишу только на асме. си в планах изучaть.
Контактная информация:
Потрогал лапой паяльник
Сообщения: 327
Зарегистрирован: Пт фев 08, 2008 13:46:03
Откуда: Воронеж

Сообщение pirotehnick »

demson писал(а):как к камню at90usb1287 забить заголовочный фаил в avr studio 4 на СИ?

#include<сетевой путь к директории + имя файла>
Контактная информация:
Закрыто

Вернуться в «Микроконтроллеры и ПЛИС»