Страница 1 из 2

ATtiny 2313a-pu

Добавлено: Вт мар 11, 2014 12:52:13
ufofly
подскажите какой include прописывать для ATtiny 2313a-pu в ассемблере в атмелСтудио?

Re: ATtiny 2313a-pu

Добавлено: Вт мар 11, 2014 13:10:53
Engineer_Keen
не знаю как в атмелстудии, но в AVR студии был "tn2313def.inc" (от букв маркировки после 2313 не зависит)

Re: ATtiny 2313a-pu

Добавлено: Вт мар 11, 2014 14:16:23
kobzar
в атмел студии пишите просто
#include <avr/io.h>
и когда создаете проект там уже ета строка есть !

Re: ATtiny 2313a-pu

Добавлено: Вт мар 11, 2014 14:21:36
Dr. Alex
Это для Си, а для АСМ так и будет "tn2313def.inc"

Re: ATtiny 2313a-pu

Добавлено: Вт мар 11, 2014 15:49:49
BOB51
В avrstudio 4.19 есть специальный файлик tn2313Adef.inc в каталоге AVR Tools -> AvrAssembler2 -> Appnotes. Так же и для остальных "Ашек".
:)

Re: ATtiny 2313a-pu

Добавлено: Вт мар 11, 2014 17:37:56
ufofly
BOB51 писал(а):В avrstudio 4.19 есть специальный файлик tn2313Adef.inc в каталоге AVR Tools -> AvrAssembler2 -> Appnotes. Так же и для остальных "Ашек".
:)
дык вот именно что "ашка" не хочет работать

ATtiny 2313
Изображение

меняю на ATtiny 2313а и вуаля... беда
Изображение

что где и почему??? помогите, объясните пожалуйста!

Re: ATtiny 2313a-pu

Добавлено: Вт мар 11, 2014 17:50:12
BCluster
картинка мелкая не видно на что ругается...

Re: ATtiny 2313a-pu

Добавлено: Вт мар 11, 2014 18:19:51
ufofly
Изображение
должно отктрыться

Re: ATtiny 2313a-pu

Добавлено: Вт мар 11, 2014 18:23:40
zero648
Похоже на подключение нескольких инклудов или повторное переопределение имен.

Re: ATtiny 2313a-pu

Добавлено: Вт мар 11, 2014 18:32:01
ufofly
zero648 писал(а):Похоже на подключение нескольких инклудов
как так то? я поменял только тиньку, код остался прежним

Re: ATtiny 2313a-pu

Добавлено: Вт мар 11, 2014 18:45:18
BOB51
Буду вечерком на домашнем ПК - скину заголовок под проект для ATtiny2313A под AVRstudio4.19 для ассемблера. :sleep:

Re: ATtiny 2313a-pu

Добавлено: Вт мар 11, 2014 18:45:45
kobzar
как на счет показать весь код а не кусочки?

Re: ATtiny 2313a-pu

Добавлено: Вт мар 11, 2014 23:13:59
ufofly
kobzar писал(а):как на счет показать весь код а не кусочки?
так я только начал. нету еще кода. кажется и не будет... раз такое дело

Re: ATtiny 2313a-pu

Добавлено: Вт мар 11, 2014 23:15:18
ufofly
BOB51 писал(а):Буду вечерком на домашнем ПК - скину заголовок под проект для ATtiny2313A под AVRstudio4.19 для ассемблера. :sleep:
Спасибо. походу надо удалять ту. и ставить "Вашу" версию...

Re: ATtiny 2313a-pu

Добавлено: Ср мар 12, 2014 00:55:31
BCluster
в картинке я вижу просто 2313 без А...
Проверил, действительно странно работает...

UPD: Хотя такой пример вполне себе работает
.include <tn2313Adef.inc>

ldi R16,5
ldi R17,7
and R16,R17
out PORTB,R16

nop
если использовать хидер без А, то такие же ошибки как у вас...

При создании проекта, если выбрать тини без А, и подключить хидер с А будет та же самая ботва

Re: ATtiny 2313a-pu

Добавлено: Ср мар 12, 2014 15:18:30
BOB51
Вот как образец - один из проектов с подставленным tn2313Adef.inc и перекомпилирован на данной установке - покопайтесь в настройках - мож чего проясниться (АВРстудио4.19).
nv8_avr.zip
(337.52 КБ) 156 скачиваний
:beer:

Re: ATtiny 2313a-pu

Добавлено: Ср мар 12, 2014 15:50:41
Engineer_Keen
Можно забить и оставить inc файл без буквы "A". Там разница в паре новых прерываний (по портам A и D) и новых регистрах энергосбережения. Если они нужны можно тупо в код их определения воткнуть прямо из inc файла для "A"...

Вот вся разница:
Спойлер

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

; ***** I/O REGISTER DEFINITIONS *****************************************
.equ	BODCR	= 0x07
.equ	PRR	= 0x06
.equ	PCMSK2	= 0x05
.equ	PCMSK1	= 0x04
; ***** BIT DEFINITIONS **************************************************
; PCMSK2 - Pin Change Interrupt Mask Register 2
.equ	PCINT11	= 0	; Pin Change Interrupt Mask 11
.equ	PCINT12	= 1	; Pin Change Interrupt Mask 12
.equ	PCINT13	= 2	; Pin Change Interrupt Mask 13
.equ	PCINT14	= 3	; Pin Change Interrupt Mask 14
.equ	PCINT15	= 4	; Pin Change Interrupt Mask 15
.equ	PCINT16	= 5	; Pin Change Interrupt Mask 16
.equ	PCINT17	= 6	; Pin Change Interrupt Mask 17

; PCMSK1 - Pin Change Interrupt Mask Register 1
.equ	PCINT8	= 0	; Pin Change Interrupt Mask 8
.equ	PCINT9	= 1	; Pin Change Interrupt Mask 9
.equ	PCINT10	= 2	; Pin Change Interrupt Mask 10

; PRR - Power reduction register
.equ	PRUSART	= 0	; 
.equ	PRUSI	= 1	; 
.equ	PRTIM0	= 2	; 
.equ	PRTIM1	= 3	; 

; BODCR - BOD control register
.equ	BPDSE	= 0	; 
.equ	BPDS	= 1	; 

; ***** INTERRUPT VECTORS ************************************************
.equ	PCIAaddr	= 0x0013	; Pin Change Interrupt Request A
.equ	PCIDaddr	= 0x0014	; Pin Change Interrupt Request D

.equ	INT_VECTORS_SIZE	= 21	; size in words



Re: ATtiny 2313a-pu

Добавлено: Ср мар 12, 2014 17:11:04
BOB51
:))
Похоже "гвоздик" в правописании...
Это откуда взято:
.include <tn2313Adef.inc> ?
Ведь в стандартном описании требуется
.include "tn2313Adef.inc"
следить за синтаксисом надобно!
(а у ассемблера весьма много вариаций в зависимости от производителя компилятора)
:beer:

Re: ATtiny 2313a-pu

Добавлено: Ср мар 12, 2014 21:10:05
ИС-пытатель
Если я не ошибаюсь, то при создании проекта, вы выбираете устройство. И студия сама добавляет нужные инклуды к нему (они не отображаются в вашем коде, но они включены). И ничего лишнего добавлять не надо. пишите свой код. Если же вы что-то добавляете - у вас получается переопределение имен. так как получается, что вы дважды воткнули один и тот же инклуд.
Если вы не выбирали устройство при создании, то идете по пути Project>>Properties>>Device. и выбираете здесь. Удачи!

Re: ATtiny 2313a-pu

Добавлено: Ср мар 12, 2014 21:26:55
BCluster
и с <> и с "" работает. Дело видимо в том, что при создании проекта не то устройство выбрали. А подключать файлики надо. Я тоже думал что в этом дело, но после проверки вышло что не так :)