Например TDA7294

Форум РадиоКот • Просмотр темы - Программирование ATmega 128
Форум РадиоКот
Здесь можно немножко помяукать :)





Текущее время: Ср апр 24, 2024 12:42:48

Часовой пояс: UTC + 3 часа


ПРЯМО СЕЙЧАС:



Начать новую тему Ответить на тему  [ Сообщений: 8 ] 
Автор Сообщение
Не в сети
 Заголовок сообщения: Программирование ATmega 128
СообщениеДобавлено: Ср фев 28, 2018 10:40:10 
Родился

Зарегистрирован: Ср фев 28, 2018 10:33:09
Сообщений: 4
Рейтинг сообщения: 0
Уважаемые форумчане есть следующий код для МК ATmega 128:

/*
* DC_Voltmetr_Prog.cpp
*
* Created: 28.02.2018 11:19:19
* Author : LAN_Admin
*/
#include <avr/io.h>
void Prb()
{
asm("sbi 0x1B,2");
asm("nop");
asm("cbi 0x1B,2");
asm("nop");
};
void Drrb()
{
asm("sbi 0x15,0");
asm("nop");
asm("cbi 0x15,0");
asm("nop");
}
int main(void)
{
DDRA=0xFF;
DDRC=0xFF;
/* Replace with your application code */
while (1)
{
Drrb();
Prb();
}
}

По непонятной причине не выполняется функция Prb? В отладчике всё нормально, а смотрю на ножку при помощи осциллограаф там ничего нет ? Как такое может быть ? Подскажите пожалуйста ?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Программирование ATmega 128
СообщениеДобавлено: Ср фев 28, 2018 11:05:28 
Открыл глаза

Карма: 1
Рейтинг сообщений: 1
Зарегистрирован: Чт дек 28, 2017 23:07:31
Сообщений: 53
Рейтинг сообщения: 0
JTAG


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Программирование ATmega 128
СообщениеДобавлено: Ср фев 28, 2018 12:04:45 
Друг Кота
Аватар пользователя

Карма: 49
Рейтинг сообщений: 390
Зарегистрирован: Вс июл 12, 2009 19:15:29
Сообщений: 7010
Откуда: Ижевск
Рейтинг сообщения: 0
отключить.

_________________
Docendo discimus


Вернуться наверх
 
PCBWay - всего $5 за 10 печатных плат, первый заказ для новых клиентов БЕСПЛАТЕН

Сборка печатных плат от $30 + БЕСПЛАТНАЯ доставка по всему миру + трафарет

Онлайн просмотровщик Gerber-файлов от PCBWay + Услуги 3D печати
Не в сети
 Заголовок сообщения: Re: Программирование ATmega 128
СообщениеДобавлено: Вт апр 10, 2018 13:36:08 
Родился

Зарегистрирован: Ср фев 28, 2018 10:33:09
Сообщений: 4
Рейтинг сообщения: 0
Я с программатором всё правильно делаю. Это уже неоднократно проверялось. А глюки при залипании функции всё равно остаются. Например вот такой код не будет работать:

#define CS_ASM_Arg0 "sbi 0x1B,2"
#define CS_ASM_Arg1 "cbi 0x1B,2"
//----------
#include <avr/io.h>
//----------
void Proba()
{
asm(CS_ASM_Arg0);
asm(CS_ASM_Arg1);
};


//----------
int main(void)
{
/* Replace with your application code */
DDRA=0xff;
PORTA=0x00;
while (1)
{
Proba();
asm("sbi 0x1B,0"); --проверяем по установлению высокого уровня что программа запущена (до сюда не доходит!!!!!)
};
}

А вот такой уже будет:

#define CS_ASM_Arg0 "sbi 0x1B,2"
#define CS_ASM_Arg1 "cbi 0x1B,2"
//----------
#include <avr/io.h>
//----------
void Proba(uint8_t sr)
{
asm(CS_ASM_Arg0);
asm(CS_ASM_Arg1);
};


//----------
int main(void)
{
/* Replace with your application code */
DDRA=0xff;
PORTA=0x00;
while (1)
{
Proba(1);
asm("sbi 0x1B,0"); --проверяем по установлению высокого уровня что программа запущена ( а теперь доходит!!!!!)
};
}
Почему так???
Поясните пожалуйста!!!


Вернуться наверх
 
Выбираем схему BMS для заряда литий-железофосфатных (LiFePO4) аккумуляторов

Обязательным условием долгой и стабильной работы Li-FePO4-аккумуляторов, в том числе и производства EVE Energy, является применение специализированных BMS-микросхем. Литий-железофосфатные АКБ отличаются такими характеристиками, как высокая многократность циклов заряда-разряда, безопасность, возможность быстрой зарядки, устойчивость к буферному режиму работы и приемлемая стоимость. Но для этих АКБ очень важен контроль процесса заряда и разряда для избегания воздействия внешнего зарядного напряжения после достижения 100% заряда. Инженеры КОМПЭЛ подготовили список таких решений от разных производителей.

Подробнее>>
Не в сети
 Заголовок сообщения: Re: Программирование ATmega 128
СообщениеДобавлено: Вт апр 10, 2018 13:49:19 
Ум, честь и совесть. И скромность.
Аватар пользователя

Карма: 97
Рейтинг сообщений: 2058
Зарегистрирован: Чт дек 28, 2006 08:19:56
Сообщений: 18030
Откуда: Новочеркасск
Рейтинг сообщения: 3
Медали: 2
Получил миской по аватаре (1) Мявтор 3-й степени (1)
изучите, как надо в avr-gcc оформлять ассемблерные вставки.
но лучше - ответьте на вопрос, зачем вы это делаете? у вас Си в руках, зачем в него вставки делать бессмысленные?!

_________________
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!


Вернуться наверх
 
Новый аккумулятор EVE серии PLM для GSM-трекеров, работающих в жёстких условиях (до -40°С)

Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре. Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств.

Подробнее>>
Не в сети
 Заголовок сообщения: Re: Программирование ATmega 128
СообщениеДобавлено: Ср апр 11, 2018 10:50:05 
Родился

Зарегистрирован: Ср фев 28, 2018 10:33:09
Сообщений: 4
Рейтинг сообщения: 0
Задача проста как помидор нужно написать программный SPI. Собственно говоря посмотрел вчера внимательно дизасемблированный код.
Для первого варианта:
SER R24
Out 0x1A,R24
out 0x1B,R1
SBI 0x1B,2
CBI 0x1B,2
SBI 0x1B,0
RJMP PC-3
тут всё работает как нужно видны импульсы практически меандр Tполки=2uS период - 8uS

Для второго варианта:
основной цикл:
SER R24
Out 0x1A,R24
out 0x1B,R1
RCALL PC-6

в подпрограмме
SBI 0x1B,2
CBI 0x1B,2
RET

продолжение основного цикла:
SBI 0x1B,0
RJMP PC-2

а здесь работает уже не так как нужно видны импульсы Tполки=11uS период - 1.8mS

Я полагаю, что проблема именно в вызове.
rcall и ret. Стек инициализирован правильно!
Повторял данные коды в качестве отдельных проектов на ассемблере. Всё точно также.
Вопросы следующие:
1. В чём собственно проблема?
2. Можно ли дать пример написания таймера с использованием подпрограмм на ассемблере ?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Программирование ATmega 128
СообщениеДобавлено: Сб апр 14, 2018 22:50:19 
Открыл глаза

Карма: 4
Рейтинг сообщений: 4
Зарегистрирован: Вс май 03, 2015 15:05:58
Сообщений: 55
Рейтинг сообщения: 0
Если Вам нужен программный SPI именно на ассемблере, то возьмите готовое решение от Atmel


Вложения:
SOFTware SPI 8bit ASM.rar [53.96 KiB]
Скачиваний: 136
Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Программирование ATmega 128
СообщениеДобавлено: Вс апр 15, 2018 05:01:13 
Друг Кота

Карма: 64
Рейтинг сообщений: 966
Зарегистрирован: Пт мар 07, 2008 06:54:43
Сообщений: 4221
Откуда: Ижевск
Рейтинг сообщения: 1
Код:
RCALL PC-6
Или компилятор цэ бредит или вами что-то не досказано...

Спойлер
Код:
   LDI   XH,HIGH(RAMEND)
   LDI   XL,LOW(RAMEND)
   OUT   SPH,XH
   OUT   SPL,XL

   CLR   R1

   SER R24
   Out 0x1A,R24   ; DDRA
   out 0x1B,R1      ;PORTA
   RCALL PROG_SCLK
   SBI 0x1B,0
   RJMP PC-2
PROG_SCLK:
   SBI 0x1B,2
   CBI 0x1B,2
   RET

Цитата:
...Королева ходит куда угодно.
Куда угодно кому?..


Вернуться наверх
 
Показать сообщения за:  Сортировать по:  Вернуться наверх
Начать новую тему Ответить на тему  [ Сообщений: 8 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 35


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
Extended by Karma MOD © 2007—2012 m157y
Extended by Topic Tags MOD © 2012 m157y