думай !
Не множить сущности на ровном месте. Даже STL-евские каракатицы не typedef-лю - ибо они однозначны, в отличие от ...СЦБист писал(а):сам то что умеешь , кроме как писать ?
Не множить сущности на ровном месте. Даже STL-евские каракатицы не typedef-лю - ибо они однозначны, в отличие от ...СЦБист писал(а):сам то что умеешь , кроме как писать ?
почему-то мне кажется, что int - всегда со знаком... не стандартизирован только его размер в байтах.COKPOWEHEU писал(а):в Си размер и наличие знака у большинства стандартных типов данных (char, int) не стандартизовано.
маловероятно, что это кому-нибудь пригодится из числа тех, кто работает с микроконтроллерами... так как все это без избыточности решается примитивными выражениями, а для особо ленивых - макросами.СЦБист писал(а):Может кому-то пригодится набор функций для установки , сброса, проверки битов
если это про указатели - я пацталом. если про ссылки - то в приведенном вами ранее коде НЕТ ССЫЛОК.СЦБист писал(а):в си их нету
Ух Ё, надо же было придумать такое извращение когда есть практически стандартный способ на макросах.СЦБист писал(а):Может кому-то пригодится набор функций для установки , сброса, проверки битов .
Да я в курсе, что где есть, просто не понял зачем приводить код без применения упоминаемых технологий.СЦБист писал(а): ...в си их нету...
СЦБист писал(а):жаль что вы не знаете что такое ссылки.
хотя откуда вам знать. в си их нету )))))


Переводное издание, вероятно товарищи Д.Б.Подшивалов и Г.А.Иващенко предпочли такой термин для указателей либо по эстетическим соображениям, либо он уже использовался в среде "разработчиков ПО для ЭВМ". А учитывая годом рождения С++ 1983 и исторический контекст позднего СССР, подозреваю о разнице между ссылками и указателями на русскоязычном просторе стало известно несколько попозже.botchin писал(а):А почему в следующих изданиях их нет .....?????
ARV писал(а):[que]маловероятно, что это кому-нибудь пригодится .
А тем кто плавает в С такие вредные советы тем более ни к чему. :-DСЦБист писал(а):так я ж предлагаю [...] а те кто малость плавали в Си.
Это не подсказка - это мантра.СЦБист писал(а):подсказка. название массива - это аресс нулевого элемента массива.
... ибо если-бы предыдущее не было мантрой - то в голове жила бы стройная картинка, в которой многомерность ни как не влияет на расположение нулевого элемента массива размерности N.СЦБист писал(а):с двухмерными чуть по сложнее.
Лукавите -даже в этой теме есть мой конкретный пример возможного использования C++ template в программировании МК. А вот советовать начинающим функции для работы с битами - это диверсия. :-D Уж кому кому, а ассемблерщику не знать о накладных расходах на вызовы _cdecl функций - это край.СЦБист писал(а):а от вас вообще никаких примеров нету.
я умею работать с битовыми полями - можно я не буду больше думать?СЦБист писал(а):так что думайте, если не умеете работать с битовыми полями
Код: Выделить всё
void EEPROM_write(unsigned int uiAddress, unsigned char ucData)
{
/* Wait for completion of previous write */
while(EECR & (1<<EEWE))
;
/* Set up address and data registers */
EEAR = uiAddress;
EEDR = ucData;
/* Write logical one to EEMWE */
EECR |= (1<<EEMWE);
/* Start eeprom write by setting EEWE */
EECR |= (1<<EEWE);
}работать-то они будут, только для микроконтроллеров рекомендовать их - это какое-то изощренное издевательство, есть куда более практичные подходы для этого.СЦБист писал(а):не надо говорить что мои функции не будут работать
не надо изобретать велосипед! я вам давал ссылку на цикл моих статей, которые являются слегка вольным переводом официальной документации к WinAVR (с моими дополнениями) - потрудитесь прочесть, и вам откроется многое, что уже есть в составе стандартной библиотеки компилятора! вы же с WinAVR (оно же avr-gcc) работаете? так в чем дело? все уже сделано сообществом разработчиков компилятора: и манипуляции с битами, и работа с EEPROM, и с FLASH, и еще с кучей всего - берите и пользуйтесь! есть, кстати, и функции для чтения/записи 1, 2, 4 и произвольного количества байтов в/из EEPROM - то самое, что вы спрашивали.СЦБист писал(а):вопрос для тех кто более менее шарит в си
В упор не вижу в вашем говнокоде работу с полями. Ткните носом.СЦБист писал(а): так я ж предлагаю не таким персонажам на подобе вас , а те кто малость плавали в Си.
так что думайте, если не умеете работать с битовыми полями
Где в коде константа ?СЦБист писал(а): если константа байтовая
Что за константа такая в 8 байт, подробнее можно ?СЦБист писал(а): для константы в 8 байт
То есть в документацию по avr-libc ты так и не заглянул? Искомая функция называется eeprom_write_block.СЦБист писал(а): кто предложит функцию для константы в 8 байт ?
Ты работать не умеешь. Поскольку не можешь выбрать лучший вариант по соотношению эффективность / наглядность. Твой способ проигрывает макросу по обоим параметрам - менее эффективно, менее наглядно и труднее в использовании.раз умеете с ними работать , то не надо говорить что мои функции не будут работать.
Риторический Клуб "У СЦБ-иста."Аlex писал(а):Тут все - тупые, кроме одного единственного человека
я рискну, раз тут помои нет .ARV писал(а):[q]не надо изобретать велосипед!
COKPOWEHEU писал(а):[q
То есть в документацию по avr-libc ты так и не заглянул? Искомая функция называется eeprom_write_block.
.
риск - удел героев и дураков. обычные люди почем зря не рискуют.СЦБист писал(а):я рискну
по поводу "стандартных библиотек" я бы так не говорилСЦБист писал(а):сам не придумаешь - никто не придумает
я вам минимум дважды показывал ссылку на место, где описано все... читали?СЦБист писал(а):и где это чудо лежит ?
так главный выдумщик тут выСЦБист писал(а):не надо выдумывать