Например TDA7294

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

Текущее время: Пн мар 09, 2026 14:20:40

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


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



Начать новую тему Ответить на тему  [ Сообщений: 8410 ]     ... , , , 369, , , ...  
Автор Сообщение
 Заголовок сообщения: Re: CodeVision AVR в вопросах и ответах
СообщениеДобавлено: Пт окт 28, 2016 14:55:00 
Потрогал лапой паяльник

Зарегистрирован: Пт янв 29, 2010 19:42:27
Сообщений: 315
Рейтинг сообщения: 0
эта конструкция с условным переходом давать шаг 150 нсек при 1 байте
300 при 2х байтах и 600 при 4х

напрашивается конструкция с 16 бит таймером и коррекцией времени перезагрузки
например нужна задержка 100000+ начальная предустановка циклов
это 65536+ 34464 - вторая предустановка таймера . все сложно но теоретических препятствий нет

_________________
ух ты.... показывает


Вернуться наверх
 
 Заголовок сообщения: Re: CodeVision AVR в вопросах и ответах
СообщениеДобавлено: Сб окт 29, 2016 22:06:04 
Потрогал лапой паяльник

Зарегистрирован: Пт янв 29, 2010 19:42:27
Сообщений: 315
Рейтинг сообщения: 0
как сделать чтобы CV AVR не раскладывал куски программ в макросы ?
невозможно же такты посчитать .

.MACRO __ADDD1N
SUBI R30,LOW(-@0)
SBCI R31,HIGH(-@0)
SBCI R22,BYTE3(-@0)
SBCI R23,BYTE4(-@0)
.ENDM

.MACRO __ADDD2N
SUBI R26,LOW(-@0)
SBCI R27,HIGH(-@0)
SBCI R24,BYTE3(-@0)
SBCI R25,BYTE4(-@0)
.ENDM

.MACRO __SUBD1N
SUBI R30,LOW(@0)
SBCI R31,HIGH(@0)
SBCI R22,BYTE3(@0)
SBCI R23,BYTE4(@0)
.ENDM

.MACRO __SUBD2N
SUBI R26,LOW(@0)
SBCI R27,HIGH(@0)
SBCI R24,BYTE3(@0)
SBCI R25,BYTE4(@0)
.ENDM

_________________
ух ты.... показывает


Вернуться наверх
 
 Заголовок сообщения: Re: CodeVision AVR в вопросах и ответах
СообщениеДобавлено: Пн окт 31, 2016 10:48:44 
Родился

Зарегистрирован: Вс окт 30, 2016 21:33:31
Сообщений: 11
Рейтинг сообщения: 0
Ребята подскажите пожалуйста.
Внутренние часы сходят с ума от этого неправильно работает программа, какие надо делители поменять .


Последний раз редактировалось https Пн окт 31, 2016 14:09:13, всего редактировалось 2 раз(а).

Вернуться наверх
 
 Заголовок сообщения: Re: CodeVision AVR в вопросах и ответах
СообщениеДобавлено: Пн окт 31, 2016 11:31:52 
Друг Кота
Аватар пользователя

Карма: 86
Рейтинг сообщений: 1035
Зарегистрирован: Чт апр 11, 2013 11:19:59
Сообщений: 4904
Откуда: Минск
Рейтинг сообщения: 0
Посмотрите в даташит описания регистров таймеров. В частности, для ATmega168
Код:
(1<<CS12) | (0<<CS11) | (0<<CS10)
(оно же 0b100) означает установку делителя в 256. При переходе на большую в 8 раз частоту надо бы и делитель в 8 раз увеличить, чтобы таймеры работали по-прежнему. Но максимум делителя (0b101) позволяет лишь увеличение в 4 раза.

Нужно смотреть, что там в прерывании происходит. Возможно, там сразу же TCNT1x подбрасываются до какого-то значения, чтобы быстрее досчитать до переполнения. Тогда помимо увеличения делителя в 4 раза нужно будет это значение тоже поменять, чтобы досчитывало вдвое дольше - итого получится требуемое 8-кратное замедление. Например, в Вашем случае при TCNT1 = 0xA473 = 42099 до переполнения остаётся 23436 тактов таймера. А нужно x2 = 46872 тактов, значит в прерывании надо выставлять TCNT1 в 65535-46872 = 18663 = 0x48E7

По прочим таймерам тоже надо смотреть их биты CSxx на предмет текущего делителя и его увеличения в 8 раз.


Вернуться наверх
 
Эиком - электронные компоненты и радиодетали
 Заголовок сообщения: Re: CodeVision AVR в вопросах и ответах
СообщениеДобавлено: Пн окт 31, 2016 11:49:34 
Родился

Зарегистрирован: Вс окт 30, 2016 21:33:31
Сообщений: 11
Рейтинг сообщения: 0
А нужно ли трогать TCCR0B это ведь тоже делитель, если здесь сделать 0x04 то получится как раз увеличение в 8 раз?


Последний раз редактировалось https Пн окт 31, 2016 14:08:35, всего редактировалось 1 раз.

Вернуться наверх
 
 Заголовок сообщения: Re: CodeVision AVR в вопросах и ответах
СообщениеДобавлено: Пн окт 31, 2016 12:15:19 
Друг Кота
Аватар пользователя

Карма: 86
Рейтинг сообщений: 1035
Зарегистрирован: Чт апр 11, 2013 11:19:59
Сообщений: 4904
Откуда: Минск
Рейтинг сообщения: 0
Ну я же написал, что надо по другим таймерам тоже делители смотреть. Да, 0x02 => 0x04 для Timer0 как раз повысит делитель в 8 раз. Но я бы лучше пользовался битами вида (1<<CS02), как и для первого. Так код более читабелен и портируем.


Вернуться наверх
 
 Заголовок сообщения: Re: CodeVision AVR в вопросах и ответах
СообщениеДобавлено: Вт ноя 01, 2016 21:03:46 
Первый раз сказал Мяу!
Аватар пользователя

Зарегистрирован: Вт июл 12, 2011 18:37:43
Сообщений: 32
Откуда: Україна, Львів
Рейтинг сообщения: 0
Подскажите где скачать CodeVision AVR 1.25.9
Или скажите кто может сбросить на емейл


Вернуться наверх
 
 Заголовок сообщения: Re: CodeVision AVR в вопросах и ответах
СообщениеДобавлено: Пт ноя 04, 2016 22:28:33 
Потрогал лапой паяльник

Зарегистрирован: Пт янв 29, 2010 19:42:27
Сообщений: 315
Рейтинг сообщения: 0
CodeVision AVR 1.25.9
есть куда кинуть

_________________
ух ты.... показывает


Вернуться наверх
 
 Заголовок сообщения: Re: CodeVision AVR в вопросах и ответах
СообщениеДобавлено: Вт ноя 08, 2016 03:35:54 
Первый раз сказал Мяу!

Карма: -3
Рейтинг сообщений: 0
Зарегистрирован: Вт сен 20, 2016 23:50:51
Сообщений: 30
Рейтинг сообщения: 0
Подскажите.
Есть два массива:
unsigned char ENC_Data[8];
unsigned char ENC_SN[8];
Нужно передать в функцию адреса начала этих массивов. Чтоб можно было в этой функции с ними на ассемблере поколдовать.
Как это сделать? Пример очень приветствуется.


Вернуться наверх
 
 Заголовок сообщения: Re: CodeVision AVR в вопросах и ответах
СообщениеДобавлено: Вт ноя 08, 2016 06:45:13 
Ум, честь и совесть. И скромность.
Аватар пользователя

Карма: 98
Рейтинг сообщений: 2122
Зарегистрирован: Чт дек 28, 2006 08:19:56
Сообщений: 18489
Откуда: Новочеркасск
Рейтинг сообщения: 0
Медали: 2
Получил миской по аватаре (1) Мявтор 3-й степени (1)
realm писал(а):
Как это сделать?

элементарно, азы языка Си
Код:
void my_function(unsigned char *massiv1, unsigned char *massiv2){
   // тут ваше колдовство на ассемблере
}

// обращение к этой функции
   my_function(ENC_Data, ENC_SN);

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

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


Вернуться наверх
 
 Заголовок сообщения: Re: CodeVision AVR в вопросах и ответах
СообщениеДобавлено: Вт ноя 08, 2016 07:52:45 
Первый раз сказал Мяу!

Карма: -3
Рейтинг сообщений: 0
Зарегистрирован: Вт сен 20, 2016 23:50:51
Сообщений: 30
Рейтинг сообщения: 0
Так да не так.
К сожалению так пердается не адрес оперативной памяти, иначе он был бы unsigned int, а не unsigned char.
Это не то.


Вернуться наверх
 
 Заголовок сообщения: Re: CodeVision AVR в вопросах и ответах
СообщениеДобавлено: Вт ноя 08, 2016 07:59:06 
Ум, честь и совесть. И скромность.
Аватар пользователя

Карма: 98
Рейтинг сообщений: 2122
Зарегистрирован: Чт дек 28, 2006 08:19:56
Сообщений: 18489
Откуда: Новочеркасск
Рейтинг сообщения: 0
Медали: 2
Получил миской по аватаре (1) Мявтор 3-й степени (1)
realm писал(а):
Это не то
может вам начать с чтения книг по языку Си? а то не понятно, откуда вы набрались своих знаний...
unsigned char * - это указатель. в Си он (во всяком случае для AVR) совпадает по размерности с int, т.е. sizeof(unsigned char *) == sizeof(int)
учите матчасть

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

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


Последний раз редактировалось ARV Вт ноя 08, 2016 08:00:49, всего редактировалось 1 раз.

Вернуться наверх
 
 Заголовок сообщения: Re: CodeVision AVR в вопросах и ответах
СообщениеДобавлено: Вт ноя 08, 2016 07:59:50 
Собутыльник Кота
Аватар пользователя

Карма: 29
Рейтинг сообщений: 651
Зарегистрирован: Сб май 14, 2011 21:16:04
Сообщений: 2708
Откуда: г. Чайковский
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
Указатель всегда адрес и другого быть не может.

_________________
Изображение
Добро всегда побеждает зло. Поэтому кто победил - тот и добрый.


Вернуться наверх
 
 Заголовок сообщения: Re: CodeVision AVR в вопросах и ответах
СообщениеДобавлено: Вт ноя 08, 2016 08:19:47 
Первый раз сказал Мяу!

Карма: -3
Рейтинг сообщений: 0
Зарегистрирован: Вт сен 20, 2016 23:50:51
Сообщений: 30
Рейтинг сообщения: 0
ARV писал(а):
учите матчасть

Неее спасибо. Моя язык паскаль. На С только в оооочень оооочень редких случаях и если ооочень сильно попросят.
Даже вникать не хочу в тонкости avrовского языка у которого однобайтовые переменные резко в двухбайтовые превращаются, а Int с какого-то перепуга 2-х байтный.


Последний раз редактировалось realm Вт ноя 08, 2016 08:29:03, всего редактировалось 1 раз.

Вернуться наверх
 
 Заголовок сообщения: Re: CodeVision AVR в вопросах и ответах
СообщениеДобавлено: Вт ноя 08, 2016 08:22:56 
Ум, честь и совесть. И скромность.
Аватар пользователя

Карма: 98
Рейтинг сообщений: 2122
Зарегистрирован: Чт дек 28, 2006 08:19:56
Сообщений: 18489
Откуда: Новочеркасск
Рейтинг сообщения: 0
Медали: 2
Получил миской по аватаре (1) Мявтор 3-й степени (1)
realm писал(а):
Даже вникать не хочу в тонкости языка у которого однобайтовые переменные резко в двухбайтовые превращаются
хозяин - барин, как говорится.
в приведенном мною выше примере нет никаких однобайтных переменных (я о параметрах функции, через который вы хотели бы получить адрес начала массивов).

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

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

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


Последний раз редактировалось ARV Вт ноя 08, 2016 08:29:48, всего редактировалось 2 раз(а).

Вернуться наверх
 
 Заголовок сообщения: Re: CodeVision AVR в вопросах и ответах
СообщениеДобавлено: Вт ноя 08, 2016 08:25:20 
Друг Кота
Аватар пользователя

Карма: 86
Рейтинг сообщений: 1035
Зарегистрирован: Чт апр 11, 2013 11:19:59
Сообщений: 4904
Откуда: Минск
Рейтинг сообщения: 0
Никто не во что не превращается. Переменная может быть сколько угодно байт, а указатель асегда двухбайтовый (для AVR). Если Вы не различаете переменную и указатель и даже не хотите пытаться это понять - дело Ваше.


Вернуться наверх
 
 Заголовок сообщения: Re: CodeVision AVR в вопросах и ответах
СообщениеДобавлено: Вт ноя 08, 2016 08:48:39 
Первый раз сказал Мяу!

Карма: -3
Рейтинг сообщений: 0
Зарегистрирован: Вт сен 20, 2016 23:50:51
Сообщений: 30
Рейтинг сообщения: 0
ARV писал(а):
о вашем уровне неуча.

Уч, неуч... За собой лучше следите.

Добавлено after 8 minutes 44 seconds:
WiseLord писал(а):
Никто не во что не превращается.

unsigned char ... ничего не замечаете, не?


Вернуться наверх
 
 Заголовок сообщения: Re: CodeVision AVR в вопросах и ответах
СообщениеДобавлено: Вт ноя 08, 2016 08:53:49 
Ум, честь и совесть. И скромность.
Аватар пользователя

Карма: 98
Рейтинг сообщений: 2122
Зарегистрирован: Чт дек 28, 2006 08:19:56
Сообщений: 18489
Откуда: Новочеркасск
Рейтинг сообщения: 0
Медали: 2
Получил миской по аватаре (1) Мявтор 3-й степени (1)
realm писал(а):
unsigned char ... ничего не замечаете, не?
а вы замечаете, что unsigned char * - не?

realm писал(а):
За собой лучше следите
само собой. а вам советую зарыться с головой в литературу по программированию.

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

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


Вернуться наверх
 
 Заголовок сообщения: Re: CodeVision AVR в вопросах и ответах
СообщениеДобавлено: Вт ноя 08, 2016 09:07:54 
Модератор
Аватар пользователя

Карма: 90
Рейтинг сообщений: 1443
Зарегистрирован: Чт мар 18, 2010 23:09:57
Сообщений: 4613
Откуда: Планета Земля
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
Ещё один умник пришёл блеснуть знаниями :facepalm:


Вернуться наверх
 
 Заголовок сообщения: Re: CodeVision AVR в вопросах и ответах
СообщениеДобавлено: Вт ноя 08, 2016 09:47:04 
Первый раз сказал Мяу!

Карма: -3
Рейтинг сообщений: 0
Зарегистрирован: Вт сен 20, 2016 23:50:51
Сообщений: 30
Рейтинг сообщения: 0
В общем нифига эти указатели не работают.

Давайте немного по другому задам вопрос.

Есть два массива:
unsigned char DES_ENC_Data[8];
unsigned char DES_ENC_SN[8];
И функция:
void tde (unsigned int Data_RAM_Address, unsigned int SN_RAM_Address)
Которая написана на ассемблере.
На входе она должна получить физический адрес нулевой ячейки массивов DES_ENC_Data и DES_ENC_SN. И никак по другому, иначе я на ассемблере с массивами работать не могу.
Есть идеи? В С - шных заморочках я не селен.


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

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


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

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


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