Например TDA7294

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





Текущее время: Ср июл 09, 2025 07:41:57

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


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



Начать новую тему Ответить на тему  [ Сообщений: 7669 ]     ... , , , 13, , , ...  
Автор Сообщение
Не в сети
 Заголовок сообщения: Re: Вопросы по С/С++ (СИ)
СообщениеДобавлено: Пт янв 28, 2011 19:42:37 
Грызет канифоль
Аватар пользователя

Карма: 1
Рейтинг сообщений: 4
Зарегистрирован: Пн окт 25, 2010 20:47:04
Сообщений: 271
Откуда: Казахстан, Астана
Рейтинг сообщения: 0
ARV писал(а):
Код:
char buf[32];
//fuse_lo равен 0х06
itoa(fuse_lo,buf,16);
if(strlen(buf) < 2) LCDsendString("0");
LCDsendString(buf);

если вы не использовали sprintf в других частях программы, боюсь, вы будете удивлены размером кода, приведенного вами с воплем "вот то, что надо!"....


да прилично и помипо этого 0х0f привращает тупо в число(Очень досадно! Вы правы!), досадно что придеться несколько раз повторить с разными действиями, но размерчик меньше.! спасибо ARV

_________________
Изображение
Мастер на все руки, кручу, кручу, кручу и матерюсь
Повелитель паяльной станции, лома, и пинцета!!!


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Вопросы по С/С++ (СИ)
СообщениеДобавлено: Сб фев 05, 2011 14:29:07 
Потрогал лапой паяльник

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

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


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

Карма: 67
Рейтинг сообщений: 1060
Зарегистрирован: Чт сен 18, 2008 12:27:21
Сообщений: 19693
Откуда: Столица Мира Санкт-Петербург
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
12val12 писал(а):
POPTC.3=A

И что, по-вашему, должно произойти, если в третий бит порта С записать "А"? :)

_________________
[ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ]
Измерить нннада?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Вопросы по С/С++ (СИ)
СообщениеДобавлено: Сб фев 05, 2011 14:47:21 
Потрогал лапой паяльник

Зарегистрирован: Пт янв 29, 2010 19:42:27
Сообщений: 315
Рейтинг сообщения: 0
Gudd-Head писал(а):
12val12 писал(а):
POPTC.3=A

И что, по-вашему, должно произойти, если в третий бит порта С записать "А"? :)

А= либо 0 либо 1
цель не писать
if (A) { PORTC=PORTC|0b1 } else {PORTC=PORTC & (~ (0b1}

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


Вернуться наверх
 
Выбираем индустриальные и медицинские источники питания MEAN WELL в открытом исполнении

Использование модульных источников питания открытого типа широко распространено в современных устройствах. Присущие им компактность, гибкость в интеграции и высокая эффективность делают их отличным решением для систем промышленной автоматизации, телекоммуникационного оборудования, медицинской техники, устройств «умного дома» и прочих приложений. Рассмотрим подробнее характеристики и особенности трех самых популярных вариантов AC/DC-преобразователей MW открытого типа, подходящих для применения в промышленных устройствах - серий EPS, EPP и RPS представленных на Meanwell.market.

Подробнее>>
Не в сети
 Заголовок сообщения: Re: Вопросы по С/С++ (СИ)
СообщениеДобавлено: Сб фев 05, 2011 23:53:50 
Потрогал лапой паяльник
Аватар пользователя

Зарегистрирован: Пн янв 07, 2008 16:56:28
Сообщений: 302
Откуда: Минск
Рейтинг сообщения: 0
Были у меня часы с ду, добавил в часы термометр, всё работает, показывает, кроме одной мелочи

часы перестали реагировать на нажатие кнопки "настройка". Причём кнопка срабатывает как надо, если мы уже в меню. В меню получается возможно зайти только с пульта ду, где эта кнопка продублирована.
Может кто глянуть прошивку, помочь касяк найдти - вроде скобки не пропустил, ничего не удалил.
во вложении 2 кода - до установки термометра и после


Последний раз редактировалось levaclaus Пт фев 11, 2011 18:40:14, всего редактировалось 1 раз.

Вернуться наверх
 
Не в сети
 Заголовок сообщения: left shift count >= width of type
СообщениеДобавлено: Вс фев 06, 2011 22:21:19 
Встал на лапы

Зарегистрирован: Пт ноя 02, 2007 18:18:26
Сообщений: 87
Рейтинг сообщения: 0
WinAVR ругается
варнингом "left shift count >= width of type" на строчку

Код:
case 0b00000001: Flags |= (1<<RUN_FLAG);break;//set run_flag

при этом нормально кушает
Код:
case 0b00000001: Flags |= 0b01000000;break;//set run_flag

при том что есть
Код:
#define RUN_FLAG 0b01000000


что я делаю не правильно?


Вернуться наверх
 
Распродажа паяльного оборудования ATTEN!
Паяльные станции, паяльники и аксессуары по самой выгодной цене.

По промокоду radiokot скидка 10%
Не в сети
 Заголовок сообщения: Re: Вопросы по С/С++ (СИ)
СообщениеДобавлено: Вс фев 06, 2011 22:49:19 
Поставщик валерьянки для Кота
Аватар пользователя

Карма: 2
Рейтинг сообщений: 23
Зарегистрирован: Чт апр 08, 2010 18:50:01
Сообщений: 2095
Откуда: Краснодар
Рейтинг сообщения: 0
задефайнь RUN_FLAG просто на 7.

и на память.
Код:
x |= y
это
Код:
x = x | y

а
Код:
x |= (1 << y)
это
Код:
x = x | ( 1 << y )
.. жопа. так тоже не правильно :)))

_________________
RETI ;рети-рети интеррапт, через шины данных тракт, через память, через порт, возвращайся в главный код
@hobbyelectronics


Последний раз редактировалось Кислый Вс фев 06, 2011 23:00:14, всего редактировалось 2 раз(а).

Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Вопросы по С/С++ (СИ)
СообщениеДобавлено: Вс фев 06, 2011 22:52:16 
Поставщик валерьянки для Кота
Аватар пользователя

Карма: 2
Рейтинг сообщений: 23
Зарегистрирован: Чт апр 08, 2010 18:50:01
Сообщений: 2095
Откуда: Краснодар
Рейтинг сообщения: 0
так. у меня глобальный вопрос.
обычно в программе я имею один .с и несаколько заголовочных. давно было интересно, как собрать несколько .с в кучу посредством одного заголовочного .h . Я не пойму самого принципа КАК ?

_________________
RETI ;рети-рети интеррапт, через шины данных тракт, через память, через порт, возвращайся в главный код
@hobbyelectronics


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

Карма: 98
Рейтинг сообщений: 2116
Зарегистрирован: Чт дек 28, 2006 08:19:56
Сообщений: 18401
Откуда: Новочеркасск
Рейтинг сообщения: 0
Медали: 2
Получил миской по аватаре (1) Мявтор 3-й степени (1)
никак. при помощи заголовочников сишные исходники в кучу не собираются :)
и вообще, не всегда между ними может быть связь (количественная).
исходники КОМПИЛИРУЮТСЯ - то ли при помощи makefile, то ли путем принудительного перечисления или еще как-то, поэтому когда ваш проект состоит из нескольких исходников, вы все их и должны "скормить" компилятору, а потом полученные объектные файлы - линкеру. вот как-то так :)

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

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


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Вопросы по С/С++ (СИ)
СообщениеДобавлено: Вс фев 06, 2011 23:41:39 
Поставщик валерьянки для Кота
Аватар пользователя

Карма: 2
Рейтинг сообщений: 23
Зарегистрирован: Чт апр 08, 2010 18:50:01
Сообщений: 2095
Откуда: Краснодар
Рейтинг сообщения: 0
не не не. вы меня не правильно поняли.
я не могу понять вот чего:
Код:
// 1.c
#include ololo.h;
.. blah - blah - blah ..


Код:
// 2.c
#include ololo.h;
.. blah - blah - blah ..


так я в одном из проэктов прикрепил функцию blow_fish'a работает уже пол года, а вот как ? это мне очень интересно.

_________________
RETI ;рети-рети интеррапт, через шины данных тракт, через память, через порт, возвращайся в главный код
@hobbyelectronics


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

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

хидер - он ведь что делает? он уведомляет компилятор, что такие-то вещи СУЩЕСТВУЮТ и имеют такие-то характеристики (тип, параметры и т.п.). компилятор и компилирует исходники, оставляя по этой информации в нужных местах нужные дыры - адреса для перехода на функции, адреса переменных и т.п. а потом за дело берется компоновщик, который ковыряется во всех объектных файлах проекта, включая системные библиотеки, и ищет все упомянутые в хидерах сущности, помещая на место дыр их адреса или значения... при этом, если надо, прилепляется и код этих сущностей из системных библиотек...

яснее стало?

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

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


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

Карма: 2
Рейтинг сообщений: 23
Зарегистрирован: Чт апр 08, 2010 18:50:01
Сообщений: 2095
Откуда: Краснодар
Рейтинг сообщения: 0
нет не стало.. ладно. буду искать что-то посерьезнне из литературы.

появился еще вопрос.
как создать массив необходимой мне длинны, когда длинны массива я не знаю в принципе ( допустим он вычисляется )

т.е. конструкция

int a = 5;
int b[a] = {};

невозможна
при этом нельхочется создавать "массив с запасом", и не хочется использовать new.. я теряю ощущение контроля ситуации.

_________________
RETI ;рети-рети интеррапт, через шины данных тракт, через память, через порт, возвращайся в главный код
@hobbyelectronics


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Вопросы по С/С++ (СИ)
СообщениеДобавлено: Пн фев 07, 2011 00:06:56 
Ум, честь и совесть. И скромность.
Аватар пользователя

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

т.е. конструкция

int a = 5;
int b[a] = {};

невозможна
при этом нельхочется создавать "массив с запасом", и не хочется использовать new.. я теряю ощущение контроля ситуации.
во-первых, ваша конструкция и так невозможна в Си, разве что при использовании расширений стандарта (например, GCC вполне позволяет делать локальные массивы с вычисляемым по ходу пьесы размером).

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

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

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


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

Карма: 1
Рейтинг сообщений: 15
Зарегистрирован: Пт янв 21, 2011 14:16:36
Сообщений: 130
Откуда: Уфа
Рейтинг сообщения: 0
Кислый писал(а):
задефайнь RUN_FLAG просто на 7.

Поправочка: на 6.
Ибо 0b01000000 == 1<<6.


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

Карма: 2
Рейтинг сообщений: 23
Зарегистрирован: Чт апр 08, 2010 18:50:01
Сообщений: 2095
Откуда: Краснодар
Рейтинг сообщения: 0
Цитата:
например, GCC вполне позволяет делать локальные массивы с вычисляемым по ходу пьесы размером

вот тут поподробнее. у меня по дефолту установлен GCC ))

_________________
RETI ;рети-рети интеррапт, через шины данных тракт, через память, через порт, возвращайся в главный код
@hobbyelectronics


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

Карма: 2
Рейтинг сообщений: 23
Зарегистрирован: Чт апр 08, 2010 18:50:01
Сообщений: 2095
Откуда: Краснодар
Рейтинг сообщения: 0
ARV писал(а):

яснее стало?


Код:
//1.c
#include <stdio.h>
#include <stdlib.h>
#include "include.h"

int main()
{
    int z;
    z = bla_bla(10);
    printf("%i", z);

    return 0;
}


Код:
//2.c
#include "include.h"

int bla_bla(int x)
{
    return (3*add(x, x));
}


Код:
//include.h

int add (int x, int y)
{
    return (x + y);
}


цункции друг друга видят, но не компилится. ссылается на .. да вот

$ gcc *.c -o ./mainRRR
/tmp/cckzpR0R.o: In function `add':
main.c:(.text+0x0): multiple definition of `add'
/tmp/cchkwV7r.o:include.c:(.text+0x0): first defined here
collect2: ld returned 1 exit status

_________________
RETI ;рети-рети интеррапт, через шины данных тракт, через память, через порт, возвращайся в главный код
@hobbyelectronics


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Вопросы по С/С++ (СИ)
СообщениеДобавлено: Пн фев 07, 2011 02:25:28 
Держит паяльник хвостом
Аватар пользователя

Карма: 10
Рейтинг сообщений: 79
Зарегистрирован: Ср апр 16, 2008 13:22:54
Сообщений: 902
Откуда: Приднестровье, Тирасполь
Рейтинг сообщения: 0
Код:
//include.h
#ifndef INCLUDE_H
#define INCLUDE_H

int add (int x, int y);

#endif

_________________
Любой, заслуживающий внимания, опыт приобретается себе в убыток...


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

Карма: 2
Рейтинг сообщений: 23
Зарегистрирован: Чт апр 08, 2010 18:50:01
Сообщений: 2095
Откуда: Краснодар
Рейтинг сообщения: 0
так. а как сообщаются два .с файла в одном проэкте ? функции доступны, а переменные и константы - нет ?

_________________
RETI ;рети-рети интеррапт, через шины данных тракт, через память, через порт, возвращайся в главный код
@hobbyelectronics


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Вопросы по С/С++ (СИ)
СообщениеДобавлено: Пн фев 07, 2011 02:34:12 
Держит паяльник хвостом
Аватар пользователя

Карма: 10
Рейтинг сообщений: 79
Зарегистрирован: Ср апр 16, 2008 13:22:54
Сообщений: 902
Откуда: Приднестровье, Тирасполь
Рейтинг сообщения: 0
Конечно нет. Принцип инкапсуляции. Чтобы никто шаловливыми ручками ничего не испортил. Но можно сделать видимыми с помощью extern...

_________________
Любой, заслуживающий внимания, опыт приобретается себе в убыток...


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Вопросы по С/С++ (СИ)
СообщениеДобавлено: Пн фев 07, 2011 03:48:20 
Опытный кот
Аватар пользователя

Карма: 7
Рейтинг сообщений: 52
Зарегистрирован: Чт дек 31, 2009 19:27:45
Сообщений: 842
Откуда: Бровари, Україна
Рейтинг сообщения: 0
ARV писал(а):
разве что при использовании расширений стандарта (например, GCC вполне позволяет делать локальные массивы с вычисляемым по ходу пьесы размером).
VLA - Variable-Length Array - это не расширение GCC, а стандарт C99, долгих лет ему жизни.
И в локальных переменных, и в параметрах
Код:
int foo( int sx, int sy, int array[sy][sx] ) {
    int temp = 0;
    for( int y = 0; y < sy; ++y)
        for( int x = 0; x < sx; ++x )
            temp += array[y][x];
    return temp;
}
Без VLA тут пришлось бы передавать int *array и вручную индексировать.

Просто, как минимум поначал, часть компиляторов, декларирующих соответствие C99, ограничились поддержкой комментариев "стиля С++", объявлением переменных "по месту", включая for( int i =0; и так далее, да inline. На этом фоне полная поддержка C99 в GCC начала казаться расширениями :-)

Вот что gcc расширил, так С99-е понятие _Complex на целочисленные типы:
Код:
signed char  _Complex a, b, c;

void foo()
{
        a = b * c;
}

Цитата:
avr-gcc -Os -std=c99 -S -mmcu=atmega8 complex.c --pedantic
complex.c:2:1: warning: ISO C does not support complex integer types [-pedantic]
Всего лишь warning, а без --pedantic так молча ест.
Код:
foo:
   lds r18,b
   lds r24,b+1
   lds r20,c
   lds r19,c+1
   mul r20,r18
   mov r25,r0
   clr r1           ; зря он R1 каждый раз чистит, но это просто недостаток оптимизатора
   mul r19,r24
   mov r21,r0
   clr r1
   sub r25,r21
   sts a,r25
   mul r20,r24
   mov r24,r0
   clr r1
   mul r19,r18
   mov r18,r0
   clr r1
   add r24,r18
   sts a+1,r24
   ret
Куда бы эту гайку М3 прикрутить...

_________________
Лень в виде мании величия: «ты гений, зачем стараться?». В виде комплекса: «всё равно не выйдет, зачем упираться?». Как логика: «если достаточно, зачем знать и уметь больше?». Цель одна: остановить. Не любит тепло работающих мышц и шум работающего мозга.


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

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


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

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


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

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


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