Страница 17 из 160
Re: AVR studio 4 в вопросах и ответах
Добавлено: Ср мар 17, 2010 16:26:04
Гагарин
Большое спасибо!
Но все равно, программа не идет на вектор прерывания.
.org 0
rjmp reset
.org $004
rjmp An_Comp
reti
reset:
; ldi temp,0b10000000 razreshim prerivaniya
; out sreg,temp
ldi temp,0b11111111
out ddrd,temp
ldi temp,0b00000000
out ddrb,temp
out portb,temp
ldi temp,0b00001000
out acsr,temp
sei
K1: nop
rjmp k1
Re: AVR studio 4 в вопросах и ответах
Добавлено: Ср мар 17, 2010 16:31:08
GP1
Ну ё-маё, а ACIE включить?
и студия не эмулирует аналоговые сигналы, попробуй VMLab - просто и со вкусом.
ну почитай ДШ, проблемы с аглицким - у Светы в библе есть книжки Евстифеева, там все по-русски.
Re: AVR studio 4 в вопросах и ответах
Добавлено: Ср мар 17, 2010 16:34:01
Pooher
Ну и про
стэк! писали же.
Re: AVR studio 4 в вопросах и ответах
Добавлено: Ср мар 17, 2010 18:13:36
Гагарин
GP1 писал(а):Ну ё-маё, а ACIE включить?
и студия не эмулирует аналоговые сигналы, попробуй VMLab - просто и со вкусом.
ну почитай ДШ, проблемы с аглицким - у Светы в библе есть книжки Евстифеева, там все по-русски.
Включено. Вот:
ldi temp,0b00001000
out acsr,temp
Все равно, 4 бит ACI, ставлю "птичку", а прерывание не наступает!
Re: AVR studio 4 в вопросах и ответах
Добавлено: Ср мар 17, 2010 20:04:51
GP1
Не симулирует,

видимо глюк
Завтра буду пытать в VMLab.
Re: AVR studio 4 в вопросах и ответах
Добавлено: Чт мар 18, 2010 10:19:05
GP1
Вот рабочий код, симулируется в VMLab 3.15
В контрольной панели слайдер S1 двигаешь вверх и происходит прерывание по адресу $0D (ANA_COMP)
Отличия от твоего кода:
1. инициализация стека
2. порт Д - входы
Кури ДШ
ЗЫ проверил и в студии тоже нормально работает
Re: AVR studio 4 в вопросах и ответах
Добавлено: Пт мар 19, 2010 23:17:49
romazan
Доброй ночи товарищи коты, у меня такой вопрос: принаписании кода: ok |= PINC(PC1);
Выводит ошибку: ../i2c_start.h:24: error: called object '*51u' is not a function
Re: AVR studio 4 в вопросах и ответах
Добавлено: Сб мар 20, 2010 09:53:59
smac
romazan писал(а):Доброй ночи товарищи коты, у меня такой вопрос: принаписании кода: ok |= PINC(PC1);
Выводит ошибку: ../i2c_start.h:24: error: called object '*51u' is not a function
Дык Ваш код выдзывает функцию PINC(PC1), которой естественно не существует, т.к. PINC -это определение порта. Судя по всему компилятор у вас WinAVR, а вот что Вы хотите сделать - не понятно, если нужно считать выводы, то делается так
Если вы хотите сделать логическое или бита 1 переменной ok и ноги PC1, а остальные биты оставить без изменения, то примерно так:
Re: AVR studio 4 в вопросах и ответах
Добавлено: Пт апр 02, 2010 21:43:24
romazan
привет всем котам.
У меня такой вопрос:
Значит пишу программу с прерываниями, при компиляции кода выдаёт ошибку
../main.c:15: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'void'
и ссылается на это
#pragma vector=TIMER1_COMPA_vect
__interrupt void T1_COMPARE()
{
....
}
Re: AVR studio 4 в вопросах и ответах
Добавлено: Сб апр 03, 2010 22:32:49
smac
romazan писал(а):Значит пишу программу с прерываниями, при компиляции кода выдаёт ошибку...
Правильно ссылается, синтаксис то явно не WinAVR-овский, а студия, насколько мне известно, только с WinAVR работает. Прочитайте в документации на WinAVR как оформлять прерывания.
приблизительно так
Код: Выделить всё
#include <avr/interrupt.h>
ISR(ADC_vect)
{
// user code here
}
Re: AVR studio 4 в вопросах и ответах
Добавлено: Вс апр 11, 2010 12:27:29
Naddir
Люди помогите!!!!!
Не могу запустить AVRProg. Выает вот такое окно. Пробывал на дух ситемах Виста и Виндоус 7. Закачал все последние обновления.
Re: AVR studio 4 в вопросах и ответах
Добавлено: Вс апр 11, 2010 14:28:44
AI_Disable
Он не видит ваш программатор. Смотрите драйвер, железо.
Re: AVR studio 4 в вопросах и ответах
Добавлено: Вс апр 11, 2010 17:16:12
Naddir
AI_Disable писал(а):Он не видит ваш программатор. Смотрите драйвер, железо.
Спасибо, вечером проверю. У меня FVR910.
Re: AVR studio 4 в вопросах и ответах
Добавлено: Вт май 11, 2010 20:44:25
AndyWorld
Решил я выделить в отдельный файл инициализацию ЖК и еще один файл с задержками и прочими математическими штучками.
Вот так.
.device ATmega16
.nolist
.include "C:\Program Files\Atmel\AVR Tools\AvrAssembler2\Appnotes\m16def.inc"
.include "C:\AVRProject\Mega_Timer\Mega16_Timer\LCD.prg"
.include "C:\AVRProject\Mega_Timer\Mega16_Timer\win2.prg"
Компилируется нормально. Но когда запускаю симуляцию программа начинается с LCD.prg а не с инициализации. Тоже самое когда открываю проект, первой открывается эта подпрограмма а не основное тело. В итоге мне пришлось отказаться от этого и пришлось все включить в основной листинг. Читаемость и передвижение усложнились многократно. Как правильно сделать?
Re: AVR studio 4 в вопросах и ответах
Добавлено: Чт май 13, 2010 11:53:11
Meteor
Есть 2 пути.
Первый описывать макросами функции в файле, но тогда теряете в проверке и отладке...
Делать вызов нужного файла в теле где планируется функция, что то типа такого
Код: Выделить всё
set temp;
ldi tmp, 0x23
.include "NameFiles.asm"; Вызов файла
....
Re: AVR studio 4 в вопросах и ответах
Добавлено: Чт май 13, 2010 19:05:45
AndyWorld
Я тоже уже об этом подумал. Вызывать InitLCD после include. Только толку маловато. Как правило InitLCD идет после отработки основной инициализации МК.
А макросы тоже можно вынести в prg? И так же влючать в тело Include?
Re: AVR studio 4 в вопросах и ответах
Добавлено: Пт май 14, 2010 08:10:38
Meteor
Вот скрин включения файлов в тело программы.
Re: AVR studio 4 в вопросах и ответах
Добавлено: Пн май 31, 2010 15:28:23
ВитГо
А есть ли средство в AVR Studio чтобы заполнить таблицу прерываний для выбранного проца ?
например выбрал при создании проекта проц, симуляцию, появилось окно куда набивать программу..
а как сделать конструкции например вида
.org прерывание_1
reti
.org прерывание_2
reti
.. и т д
или все руками по даташиту всегда набирают ?
Re: AVR studio 4 в вопросах и ответах
Добавлено: Пн май 31, 2010 15:48:39
Engineer_Keen
Я эту табличку из предыдущих проектов копирую, если контроллер такой же. Ну а если новый, то да, ручками из даташита...
Может все вместе замутим базу *.asm файлов со строками прерываний

Хотя лично мне не влом набрать своими руками

Re: AVR studio 4 в вопросах и ответах
Добавлено: Пн май 31, 2010 18:22:56
ARV
ВитГо писал(а):А есть ли средство в AVR Studio чтобы заполнить таблицу прерываний для выбранного проца ?
например выбрал при создании проекта проц, симуляцию, появилось окно куда набивать программу..
а как сделать конструкции например вида
.org прерывание_1
reti
.org прерывание_2
reti
.. и т д
или все руками по даташиту всегда набирают ?
вы - первый из задающих вопросы, кто вознамерился сделать таблицу векторов прерываний
правильно! я очень удивлен! и всячески поддерживаю вас, если вы и во всем программировании стараетесь придерживаться правил хорошего тона для создания качественных программ!
информация о символьных именах адресов для таблицы векторов хранится в include-файле для выбранного вами микроконтроллера, например, для atmega16 это будет файл
m16def.inc, в котором ближе к концу есть нужное (ищите строку "INTERRUPT VECTORS"):
Код: Выделить всё
.equ INT0addr = 0x0001 ; External Interrupt Request 0
.equ INT1addr = 0x0002 ; External Interrupt Request 1
.equ OC2addr = 0x0003 ; Timer/Counter2 Compare Match
и так далее
теперь в своей программе только для тех векторов, которые вы действительно решили использовать, вы пишите, как и хотели:
и все!
желаю успехов!