Например TDA7294

Форум РадиоКот • Просмотр темы - Вопросы по С/С++ (СИ)
Форум РадиоКот
Здесь можно немножко помяукать :)





Текущее время: Пт апр 19, 2024 00:19:30

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


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



Начать новую тему Ответить на тему  [ Сообщений: 7581 ]     ... , , , 245, , , ...  
Автор Сообщение
Не в сети
 Заголовок сообщения: Re: Вопросы по С/С++ (СИ)
СообщениеДобавлено: Пт янв 13, 2017 13:33:47 
Ум, честь и совесть. И скромность.
Аватар пользователя

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

но я хотел еще обратить внимание на то, что лучше всего уйти от "магических чисел", сделав код по-настоящему универсальным, что и попытался показать в своём примере.

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

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


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Вопросы по С/С++ (СИ)
СообщениеДобавлено: Пт янв 13, 2017 13:42:07 
Друг Кота
Аватар пользователя

Карма: 107
Рейтинг сообщений: 1031
Зарегистрирован: Пт дек 17, 2010 15:07:50
Сообщений: 12366
Откуда: Крымский Федеральный Округ
Рейтинг сообщения: 0
Код:
for(int i=0;i<sizeof(table);i++) int r=!(i%32) ? fprintf(p_file,"0x%02X, ",table[i],"\n"):fprintf(p_file,"0x%02X, ",table[i]);

Можно попробовать в одну строчку, кстати... :write:

_________________
Изображение
И ты врёшь!!! © Vladisman
Изображение


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Вопросы по С/С++ (СИ)
СообщениеДобавлено: Пт янв 13, 2017 15:36:48 
Ум, честь и совесть. И скромность.
Аватар пользователя

Карма: 97
Рейтинг сообщений: 2058
Зарегистрирован: Чт дек 28, 2006 08:19:56
Сообщений: 18030
Откуда: Новочеркасск
Рейтинг сообщения: 0
Медали: 2
Получил миской по аватаре (1) Мявтор 3-й степени (1)
просто КОТ писал(а):
Можно попробовать в одну строчку
тогда уж так
Код:
for(int i=-1; ++i<sizeof(table); fprintf(p_file,"0x%02X,%с",table[i], i%NUM_COUNT ? ' ' : '\n'));
:)))

еще чуть-чуть, и будет, как у меня в подписи :)))

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

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


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

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

Онлайн просмотровщик Gerber-файлов от PCBWay + Услуги 3D печати
Не в сети
 Заголовок сообщения: Re: Вопросы по С/С++ (СИ)
СообщениеДобавлено: Пт янв 13, 2017 18:18:38 
Друг Кота
Аватар пользователя

Карма: 27
Рейтинг сообщений: 33
Зарегистрирован: Пн ноя 22, 2010 00:57:15
Сообщений: 6296
Откуда: Ukraine
Рейтинг сообщения: 0
ARV писал(а):
FreshMan писал(а):
как можна сократить данный код ?
Код:
#define NUM_COUNT   32

int i = 0;
while(i < sizeof(sin_table)){
   fprintf( p_file, "0x%02X, ", sin_table[i] );
   if(!(i % NUM_COUNT)) fprintf(p_file, "\n");
   i++;
}


при i=0 происходит перевод строки
Изображение

_________________
Tell Me The Truth


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

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

Подробнее>>
Не в сети
 Заголовок сообщения: Re: Вопросы по С/С++ (СИ)
СообщениеДобавлено: Пт янв 13, 2017 19:30:19 
Друг Кота
Аватар пользователя

Карма: 107
Рейтинг сообщений: 1031
Зарегистрирован: Пт дек 17, 2010 15:07:50
Сообщений: 12366
Откуда: Крымский Федеральный Округ
Рейтинг сообщения: 0
Ну... тут проще нулевую выборку скормить в файл вручную. А потом вписать наш шедевр, начиная с первого:
Код:
for(int i=0; ++i<sizeof(table); fprintf(p_file,"0x%02X,%c", table[i], i%NUM_COUNT ? ' ' : '\n'));

_________________
Изображение
И ты врёшь!!! © Vladisman
Изображение


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

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

Подробнее>>
Не в сети
 Заголовок сообщения: Re: Вопросы по С/С++ (СИ)
СообщениеДобавлено: Пт янв 13, 2017 20:45:30 
Ум, честь и совесть. И скромность.
Аватар пользователя

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

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

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


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Вопросы по С/С++ (СИ)
СообщениеДобавлено: Сб янв 14, 2017 00:44:52 
Друг Кота
Аватар пользователя

Карма: 107
Рейтинг сообщений: 1031
Зарегистрирован: Пт дек 17, 2010 15:07:50
Сообщений: 12366
Откуда: Крымский Федеральный Округ
Рейтинг сообщения: 0
У меня какой-то пунктик на этом. Перед защитой курсовой последние два дня только и делал, что сидел да код сокращал. В итоге на страничку А4 влез с запасом, хотя там была работа с графикой и клеточные автоматы. :beer:

_________________
Изображение
И ты врёшь!!! © Vladisman
Изображение


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Вопросы по С/С++ (СИ)
СообщениеДобавлено: Сб янв 14, 2017 09:23:14 
Ум, честь и совесть. И скромность.
Аватар пользователя

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

я тут прочитал, что есть "спортивное программирование", есть конкурсы на самый "красивый" код (там форматируют текст в виде всяких картинок), на самый короткий, на самый странный (см. мою подпись)... но какое отношение всё это имеет к нормальной жизни?

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

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

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


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Вопросы по С/С++ (СИ)
СообщениеДобавлено: Вт янв 24, 2017 14:45:19 
Друг Кота
Аватар пользователя

Карма: 27
Рейтинг сообщений: 33
Зарегистрирован: Пн ноя 22, 2010 00:57:15
Сообщений: 6296
Откуда: Ukraine
Рейтинг сообщения: 0
интересует мнение опытных писателей кода относительно #pragma once
давно интересовался вопросом повторного включения модуля в многомодульном проэкте
тоесть
в главном модуле main усть #include <avr/io.h>
но он также нужен и в lcd.h и в ds18b20.h
что можете посоветовать ?

_________________
Tell Me The Truth


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Вопросы по С/С++ (СИ)
СообщениеДобавлено: Вт янв 24, 2017 14:51:43 
Друг Кота
Аватар пользователя

Карма: 86
Рейтинг сообщений: 1018
Зарегистрирован: Чт апр 11, 2013 11:19:59
Сообщений: 4875
Откуда: Минск
Рейтинг сообщения: 0
- Не использовать #pragma once
- Просто включать <avr/io.h> в каждом файле
- В своих многократно включаемых хидерах (myfile.h) оборачивать их содержимое в "скобки" препроцессора
Код:
#ifndef MYFILE_H
#define MYFILE_H

// содержимое myfile.h

#enfid

https://ru.wikipedia.org/wiki/Include_guard


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Вопросы по С/С++ (СИ)
СообщениеДобавлено: Вт янв 24, 2017 14:59:27 
Сверлит текстолит когтями
Аватар пользователя

Карма: 25
Рейтинг сообщений: 168
Зарегистрирован: Ср янв 29, 2014 08:41:31
Сообщений: 1231
Откуда: Баку
Рейтинг сообщения: 0
WiseLord писал(а):
- В своих многократно включаемых хидерах (myfile.h) оборачивать их содержимое в "скобки" препроцессора
Код:
#ifndef MYFILE_H
#define MYFILE_H

// содержимое myfile.h

#enfid

Почему-то в Keil'е это не работает, так же, как и рекомендуемая там форма записи:
Код:
#ifndef FILENAME_INCLUDED
#define FILENAME_INCLUDED

/* Header File Contents */

#endif

Либо я (что более вероятно) делаю это не так, как нужно.

_________________
Каждый имеет право на свое личное ошибочное мнение.

У меня было тяжелое детство - я до 14 лет смотрел черно-белый телевизор.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Вопросы по С/С++ (СИ)
СообщениеДобавлено: Вт янв 24, 2017 15:10:00 
Потрогал лапой паяльник
Аватар пользователя

Карма: -2
Рейтинг сообщений: 20
Зарегистрирован: Сб мар 17, 2012 20:31:44
Сообщений: 306
Откуда: Нью Йорк
Рейтинг сообщения: 1
Не может быть, чтоб не работало


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Вопросы по С/С++ (СИ)
СообщениеДобавлено: Вт янв 24, 2017 15:17:30 
Сверлит текстолит когтями
Аватар пользователя

Карма: 25
Рейтинг сообщений: 168
Зарегистрирован: Ср янв 29, 2014 08:41:31
Сообщений: 1231
Откуда: Баку
Рейтинг сообщения: 0
Сам понимаю, что не правильно это, но тем не менее в Мплабе нормально, а Кайл ругается.

_________________
Каждый имеет право на свое личное ошибочное мнение.

У меня было тяжелое детство - я до 14 лет смотрел черно-белый телевизор.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Вопросы по С/С++ (СИ)
СообщениеДобавлено: Вт янв 24, 2017 15:20:02 
Друг Кота
Аватар пользователя

Карма: 86
Рейтинг сообщений: 1018
Зарегистрирован: Чт апр 11, 2013 11:19:59
Сообщений: 4875
Откуда: Минск
Рейтинг сообщения: 0
Zhuk72 писал(а):
так же, как и рекомендуемая там форма записи
Собственно, обе записи ничем не отличаются.

Надеюсь, у Вас не во всех файлах именно "FILENAME_INCLUDED". У каждого хидера должно быть своё уникальное имя для макроса. Я обычно предпочитаю для файла типа FileName.h выбирать имя FILENAME_H.

И про keil - точно что-то не так делаете. Потому что та же STDPERIPH библиотека для STM32 точно с такими же макросами реализована.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Вопросы по С/С++ (СИ)
СообщениеДобавлено: Вт янв 24, 2017 17:12:11 
Потрогал лапой паяльник
Аватар пользователя

Карма: 20
Рейтинг сообщений: 121
Зарегистрирован: Вс янв 19, 2014 22:41:55
Сообщений: 353
Рейтинг сообщения: 0
Zhuk72 писал(а):
Код:
#enfid

Должно быть #endif
Опечатка?

_________________
Одновременным нажатием LIGHT и POWER, РП Sangean ATS-909X (ver 1.29) превращается в ATS-909XR! ;-)


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Вопросы по С/С++ (СИ)
СообщениеДобавлено: Вт янв 24, 2017 17:47:56 
Друг Кота
Аватар пользователя

Карма: 86
Рейтинг сообщений: 1018
Зарегистрирован: Чт апр 11, 2013 11:19:59
Сообщений: 4875
Откуда: Минск
Рейтинг сообщения: 0
опечатка


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Вопросы по С/С++ (СИ)
СообщениеДобавлено: Вт янв 24, 2017 17:54:16 
Сверлит текстолит когтями
Аватар пользователя

Карма: 25
Рейтинг сообщений: 168
Зарегистрирован: Ср янв 29, 2014 08:41:31
Сообщений: 1231
Откуда: Баку
Рейтинг сообщения: 0
WiseLord писал(а):
Надеюсь, у Вас не во всех файлах именно "FILENAME_INCLUDED".

Разумеется. FILENAME заменяется, скажем, на INIT_H, MENU_H и т.д.

_________________
Каждый имеет право на свое личное ошибочное мнение.

У меня было тяжелое детство - я до 14 лет смотрел черно-белый телевизор.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Вопросы по С/С++ (СИ)
СообщениеДобавлено: Вт янв 24, 2017 18:04:21 
Друг Кота
Аватар пользователя

Карма: 27
Рейтинг сообщений: 33
Зарегистрирован: Пн ноя 22, 2010 00:57:15
Сообщений: 6296
Откуда: Ukraine
Рейтинг сообщения: 0
WiseLord писал(а):
- Просто включать <avr/io.h> в каждом файле

а на размере кода сие не сказывается ?

_________________
Tell Me The Truth


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Вопросы по С/С++ (СИ)
СообщениеДобавлено: Вт янв 24, 2017 18:39:45 
Друг Кота
Аватар пользователя

Карма: 86
Рейтинг сообщений: 1018
Зарегистрирован: Чт апр 11, 2013 11:19:59
Сообщений: 4875
Откуда: Минск
Рейтинг сообщения: 0
С чего бы вдруг?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Вопросы по С/С++ (СИ)
СообщениеДобавлено: Чт янв 26, 2017 14:32:56 
Друг Кота
Аватар пользователя

Карма: 27
Рейтинг сообщений: 33
Зарегистрирован: Пн ноя 22, 2010 00:57:15
Сообщений: 6296
Откуда: Ukraine
Рейтинг сообщения: 0
есть некая структура
Код:
typedef struct{
   
   char chunkId[4];

   char format[4];

   char subchunk1Id[4];

   unsigned short audioFormat;

   unsigned short numChannels;

   unsigned long sampleRate;

   unsigned long byteRate;

   unsigned short blockAlign;

   unsigned short bitsPerSample;

   char subchunk2Id[4];

   unsigned long subchunk2Size;

}HEADER;

HEADER wav_header;


как обратится, считать данные, к примеру, с 0 или 5 или 30 байта данной структуры ?

_________________
Tell Me The Truth


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

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


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

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


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

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


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