Например TDA7294

Форум РадиоКот • Просмотр темы - Библиотека CVAVR EEPROM 24LC256 для записи: 2, 4 байт чисел?
Форум РадиоКот
Здесь можно немножко помяукать :)





Текущее время: Ср апр 24, 2024 08:16:49

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


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



Начать новую тему Ответить на тему  [ Сообщений: 29 ]    , 2
Автор Сообщение
Не в сети
 Заголовок сообщения: Re: Библиотека CVAVR EEPROM 24LC256 для записи: 2, 4 байт чи
СообщениеДобавлено: Сб май 09, 2020 10:12:14 
Ум, честь и совесть. И скромность.
Аватар пользователя
Рейтинг продавца: нет оценок
[Всего оценок: 0]
Карма: 97
Рейтинг сообщений: 2058
Зарегистрирован: Чт дек 28, 2006 08:19:56
Сообщений: 18030
Откуда: Новочеркасск
Рейтинг сообщения: 0
Медали: 2
Получил миской по аватаре (1) Мявтор 3-й степени (1)
CAT86 писал(а):
тоже не работает я писал, несколько постов с верху
а чего бы она работала? у вас функция пишет БАЙТ, а вы переменную типа INT ей суёте! функция честно пишет только младший байт этой переменной, который вы потом и читаете. значение 300 = 0x12C, вот она у вас 0x2C и пишет, а потом и читает. что и будет 44.

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

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

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


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Библиотека CVAVR EEPROM 24LC256 для записи: 2, 4 байт чи
СообщениеДобавлено: Сб май 09, 2020 14:18:45 
Открыл глаза
Рейтинг продавца: нет оценок
[Всего оценок: 0]
Зарегистрирован: Пт ноя 11, 2016 09:17:49
Сообщений: 59
Рейтинг сообщения: 0
:shock: :facepalm: и всё в таком духе. Чувак хочет что то сделать, но азов еще не выучил.
Можно так
Код:
int M1_side_A=52;
if (mem==1){
   eeplc24_write(0, 0, M1_side_A);
   eeplc24_write(0, 1, M1_side_A>>8);
}

M1_side_A=eeplc24_read(0,0);
M1_side_A |= ((int)eeplc24_read(0,1))<<8;

Или покороче, вам обернули выше эти же функции в более простую форму:
Код:
nt M1_side_A=52;
if (mem==1){
   eeplc24_write_block(&M1_side_A, 0, sizeof(M1_side_A));
}
eeplc24_read_block(&M1_side_A, 0,  sizeof(M1_side_A));

sizeof(M1_side_A) = 2 в данном случае, но на некоторых архитектурах это не так и там вообще нужно по другому организовывать работу с такой памятью.
Пы сы: не забывайте что нужно еще контролировать адреса раз у вас размерность переменных разная планируются (чтоб адреса не налазили друг на друга). Лучше в структуру переменные объединяйте которые будут записываться в память.


Последний раз редактировалось ELECTROS Сб май 09, 2020 17:01:53, всего редактировалось 1 раз.

Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Библиотека CVAVR EEPROM 24LC256 для записи: 2, 4 байт чи
СообщениеДобавлено: Сб май 09, 2020 15:46:10 
Ум, честь и совесть. И скромность.
Аватар пользователя
Рейтинг продавца: нет оценок
[Всего оценок: 0]
Карма: 97
Рейтинг сообщений: 2058
Зарегистрирован: Чт дек 28, 2006 08:19:56
Сообщений: 18030
Откуда: Новочеркасск
Рейтинг сообщения: 0
Медали: 2
Получил миской по аватаре (1) Мявтор 3-й степени (1)
ELECTROS писал(а):
Или покороче
и пример я уже приводил, только вместо int в примере использовал float
ELECTROS писал(а):
но на некоторых архитектурах это не так и там вообще нужно по другому организовывать работу с такой памятью.
с чего вдруг? для переменных "простых" типов приведенные мной функции отлично будут работать на любой архитектуре.

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

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


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

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

Онлайн просмотровщик Gerber-файлов от PCBWay + Услуги 3D печати
Не в сети
 Заголовок сообщения: Re: Библиотека CVAVR EEPROM 24LC256 для записи: 2, 4 байт чи
СообщениеДобавлено: Сб май 09, 2020 17:00:27 
Открыл глаза
Рейтинг продавца: нет оценок
[Всего оценок: 0]
Зарегистрирован: Пт ноя 11, 2016 09:17:49
Сообщений: 59
Рейтинг сообщения: 0
ARV, хм я допустим работаю с С2000 ядром, там минимальный размер 16 бит, и даже если объявить char он всё равно будет занимать 16 бит, хоть и средствами среды разработки и будет обрезаться до символа (ну поняли: char, int, short это всё 16 бит, так вот там sizeof() у всех этих типов равен 1), и вот там чтобы работать с внешней памятью которая 8-ми битовая, такие функции не прокатят, нужно специально выделять старшую и младшую части по каждому адресу (будет работать в частности в таком случае - использование псевдо char , но смысл его использовать в такой архитектуре только в случае организации ввода/вывода символов по какому нить интерфейсу, никак не для хранения данных).


Последний раз редактировалось ELECTROS Сб май 09, 2020 17:08:00, всего редактировалось 1 раз.

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

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

Подробнее>>
Не в сети
 Заголовок сообщения: Re: Библиотека CVAVR EEPROM 24LC256 для записи: 2, 4 байт чи
СообщениеДобавлено: Сб май 09, 2020 17:10:25 
Ум, честь и совесть. И скромность.
Аватар пользователя
Рейтинг продавца: нет оценок
[Всего оценок: 0]
Карма: 97
Рейтинг сообщений: 2058
Зарегистрирован: Чт дек 28, 2006 08:19:56
Сообщений: 18030
Откуда: Новочеркасск
Рейтинг сообщения: 0
Медали: 2
Получил миской по аватаре (1) Мявтор 3-й степени (1)
ELECTROS писал(а):
sizeof() у всех этих типов равен 1
я не считаю себ суперзнатоком Си, но вроде как во всех букварях написано, что sizeof всегда возвращает количество БАЙТОВ и служит именно для обеспечения "количественной" мультиплатформенности...

Добавлено after 7 minutes 47 seconds:
Re: Библиотека CVAVR EEPROM 24LC256 для записи: 2, 4 байт чисел?
ладно, погуглил я... выяснил, что ошибался.
тупость, конечно, но и на самом деле если char 2 байта, то sizeof(char) == 1
но есть CHAR_BIT, с помощью которого можно проблему решить

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

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


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

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

Подробнее>>
Не в сети
 Заголовок сообщения: Re: Библиотека CVAVR EEPROM 24LC256 для записи: 2, 4 байт чи
СообщениеДобавлено: Сб май 09, 2020 17:19:27 
Открыл глаза
Рейтинг продавца: нет оценок
[Всего оценок: 0]
Зарегистрирован: Пт ноя 11, 2016 09:17:49
Сообщений: 59
Рейтинг сообщения: 0
ELECTROS писал(а):
sizeof() у всех этих типов равен 1
я не считаю себ суперзнатоком Си, но вроде как во всех букварях написано, что sizeof всегда возвращает количество БАЙТОВ и служит именно для обеспечения "количественной" мультиплатформенности...

sizeof это оператор который определяет сколько минимальных единиц памяти занимает переменная что в скобках. А насчёт БАЙТА я вам написал, в моём случае БАЙТ равен не 8, а 16 бит. Си тут не причём, дело тут именно в единице измерения памяти в конкретной архитектуре.
В AVR, да и наверное в большинстве МК минимальная единица памяти 8 бит, но есть и исключения.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Библиотека CVAVR EEPROM 24LC256 для записи: 2, 4 байт чи
СообщениеДобавлено: Сб май 09, 2020 17:26:57 
Ум, честь и совесть. И скромность.
Аватар пользователя
Рейтинг продавца: нет оценок
[Всего оценок: 0]
Карма: 97
Рейтинг сообщений: 2058
Зарегистрирован: Чт дек 28, 2006 08:19:56
Сообщений: 18030
Откуда: Новочеркасск
Рейтинг сообщения: 0
Медали: 2
Получил миской по аватаре (1) Мявтор 3-й степени (1)
ELECTROS писал(а):
БАЙТ равен не 8, а 16 бит
очередь за нобелевкой уже заняли?
байт всегда 8 бит, а на вашей платформе 16 бит это char.
минимальная единица не обязательно байт, хотя байт может быть минимальной единицей :)

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

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


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Библиотека CVAVR EEPROM 24LC256 для записи: 2, 4 байт чи
СообщениеДобавлено: Сб май 09, 2020 17:50:17 
Открыл глаза
Рейтинг продавца: нет оценок
[Всего оценок: 0]
Зарегистрирован: Пт ноя 11, 2016 09:17:49
Сообщений: 59
Рейтинг сообщения: 0
ELECTROS писал(а):
БАЙТ равен не 8, а 16 бит
очередь за нобелевкой уже заняли?
байт всегда 8 бит, а на вашей платформе 16 бит это char.

Извеняюсь увлёкся чё то:), конечно char. В общем поняли о чём я. Если интересно в частности про DSC (с такой архитектурой), о чём я писал: http://www.ti.com/product/TMS320F28335

но есть CHAR_BIT, с помощью которого можно проблему решить

Я структуры и объединения юзаю, поудобней макросов будет в этом случае.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Библиотека CVAVR EEPROM 24LC256 для записи: 2, 4 байт чи
СообщениеДобавлено: Сб май 09, 2020 20:35:55 
Первый раз сказал Мяу!
Рейтинг продавца: нет оценок
[Всего оценок: 0]
Зарегистрирован: Ср дек 05, 2018 23:10:34
Сообщений: 25
Рейтинг сообщения: 0
АЛЛИЛУ́ЙЯ!!! :)) я вас замучал... Работает как часики. ОГРОМНОЕ СПАСИБО :beer: ARV ELECTROS как мне вас отблагодарить?


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

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


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

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


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

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


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