Форум Микро-Чип
Поиск и заказ электронных компонентов
 

Вернуться   Форум Микро-Чип > Cетевые протоколы и технологии

Cетевые протоколы и технологии TCP/IP стек

Ответ
 
Опции темы Опции просмотра
Старый 19.05.2020, 17:07   #76
pal1222@yandex.ru
Senior Member
 
Регистрация: 30.09.2008
Сообщений: 1,544
Вес репутации: 3332/91
pal1222@yandex.ru has a reputation beyond reputepal1222@yandex.ru has a reputation beyond reputepal1222@yandex.ru has a reputation beyond reputepal1222@yandex.ru has a reputation beyond reputepal1222@yandex.ru has a reputation beyond reputepal1222@yandex.ru has a reputation beyond reputepal1222@yandex.ru has a reputation beyond reputepal1222@yandex.ru has a reputation beyond reputepal1222@yandex.ru has a reputation beyond reputepal1222@yandex.ru has a reputation beyond reputepal1222@yandex.ru has a reputation beyond repute
По умолчанию Re: PIC18F46K22+ENC28J60

Цитата:
Сообщение от Vanizma Посмотреть сообщение
да, это смотря как они определены...

но stdbool gcc'шный определяет именно как 1 и 0, а далее каждый сам решает по переносимости.
кроме того, условий может быть много и в итоге получим какое-то число, а с ?1:0 - только 2 крайних значения

п.с. и это не я про такую херь тут придумал спросить, что получится...
Кстати, проверил... у меня сейчас (IAR ARM 8.40.1) в качестве false-результата (без C++ bool) используется "2", проверка результата оперирует младшим битом
pal1222@yandex.ru вне форума   Ответить с цитированием
Старый 19.05.2020, 17:56   #77
Vanizma
Senior Member
 
Аватар для Vanizma
 
Регистрация: 30.04.2008
Адрес: Pskov
Сообщений: 4,183
Вес репутации: 4763/133
Vanizma has a reputation beyond reputeVanizma has a reputation beyond reputeVanizma has a reputation beyond reputeVanizma has a reputation beyond reputeVanizma has a reputation beyond reputeVanizma has a reputation beyond reputeVanizma has a reputation beyond reputeVanizma has a reputation beyond reputeVanizma has a reputation beyond reputeVanizma has a reputation beyond reputeVanizma has a reputation beyond repute
Отправить сообщение для Vanizma с помощью ICQ
По умолчанию Re: PIC18F46K22+ENC28J60

Цитата:
Сообщение от SergP01 Посмотреть сообщение
дык.... я вам тоже "шаблон" привёл....
я понимаю , конечно, по сути -IF - возвращает bool .... типа ключ....
а вот теперь в моём примере наштампуйте с десяток IF...
это не считается полноценной функцией?

всё на месте.....
джамп... подсчёты... выход с результатом.... да ещё и "толчок" даёт....
вы приводили шаблон if(func()>a), в котором внутри if вы проверяете результат работы другой(гих) функции(ий) - в таком случае будут выполняться по очереди функции, возвращаться результат и уже if'ом проверять условие уже без вызова функций....
func - функция, if - нет, это просто условный переход. Если много условий в if - будет много условных переходов.
т.е. if может проверять результат выполнения функций, но сам функцией не является.
Это оператор....
__________________

Vanizma вне форума   Ответить с цитированием
Старый 19.05.2020, 18:04   #78
SergP01
Senior Member
 
Аватар для SergP01
 
Регистрация: 09.11.2012
Адрес: SPB
Возраст: 52
Сообщений: 1,491
Вес репутации: 725/49
SergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to behold
По умолчанию Re: PIC18F46K22+ENC28J60

Цитата:
Сообщение от Vanizma Посмотреть сообщение
вы приводили шаблон if(func()>a), в котором внутри if вы проверяете результат работы другой(гих) функции(ий) - в таком случае будут выполняться по очереди функции, возвращаться результат и уже if'ом проверять условие уже без вызова функций....
func - функция, if - нет, это просто условный переход. Если много условий в if - будет много условных переходов.
т.е. if может проверять результат выполнения функций, но сам функцией не является.
Это оператор....
я согласен....
но, по факту- это функция.....
я ей выдал переменные... и получил результат работы
SergP01 вне форума   Ответить с цитированием
Старый 19.05.2020, 18:16   #79
Pridnya
Senior Member
 
Регистрация: 21.01.2009
Адрес: Russia, Orel
Возраст: 41
Сообщений: 4,890
Вес репутации: 4724/137
Pridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond repute
По умолчанию Re: PIC18F46K22+ENC28J60

Цитата:
Сообщение от SergP01 Посмотреть сообщение
я согласен....
но, по факту- это функция.....
я ей выдал переменные... и получил результат работы
Проблема в том, что сначала вы забыли естественный язык (его правила), затем искуственный (язык программирования, если когда-либо владели) уже вряд ли сможете освоить, мозг так работает - привык нарушать правила и иначе не может. Теперь для вас все нечеткое, размытое. Отдельные слова имеют смысл, весь текст в целом лишен смысла, целенаправленной деятельности вообще нет. Тяжелый случай. Исправляйтесь, выкарабкивайтесь.
__________________
Прогресс неизбежен.
Pridnya вне форума   Ответить с цитированием
Старый 19.05.2020, 18:27   #80
SergP01
Senior Member
 
Аватар для SergP01
 
Регистрация: 09.11.2012
Адрес: SPB
Возраст: 52
Сообщений: 1,491
Вес репутации: 725/49
SergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to behold
По умолчанию Re: PIC18F46K22+ENC28J60

Цитата:
Сообщение от Pridnya Посмотреть сообщение
Проблема в том, что сначала вы забыли естественный язык (его правила), затем искуственный (язык программирования, если когда-либо владели) уже вряд ли сможете освоить, мозг так работает - привык нарушать правила и иначе не может. Теперь для вас все нечеткое, размытое. Отдельные слова имеют смысл, весь текст в целом лишен смысла, целенаправленной деятельности вообще нет. Тяжелый случай. Исправляйтесь, выкарабкивайтесь.
спасибо, за содержательный ответ...
но...ИМХО.... ежели мне if(.......) возвращает значение- я считаю его функцией
наверное- в определениях не сошлись....
SergP01 вне форума   Ответить с цитированием
Старый 19.05.2020, 18:38   #81
Vanizma
Senior Member
 
Аватар для Vanizma
 
Регистрация: 30.04.2008
Адрес: Pskov
Сообщений: 4,183
Вес репутации: 4763/133
Vanizma has a reputation beyond reputeVanizma has a reputation beyond reputeVanizma has a reputation beyond reputeVanizma has a reputation beyond reputeVanizma has a reputation beyond reputeVanizma has a reputation beyond reputeVanizma has a reputation beyond reputeVanizma has a reputation beyond reputeVanizma has a reputation beyond reputeVanizma has a reputation beyond reputeVanizma has a reputation beyond repute
Отправить сообщение для Vanizma с помощью ICQ
По умолчанию Re: PIC18F46K22+ENC28J60

Цитата:
Сообщение от SergP01 Посмотреть сообщение
спасибо, за содержательный ответ...
но...ИМХО.... ежели мне if(.......) возвращает значение- я считаю его функцией
наверное- в определениях не сошлись....
Где оно возвразяет значение? Куда?
Во напишите правильно, полностью, а не обрезав - и всё поменяется...
if(...) - функция

if(...)
{
....
}
- уператор условия. В скобках проверяется условие, ничего никуда не возвращается, а в зависимости от условия - выполняется или нет команды в {}

Думать, что условие выполняется в отдельной функции - крайне странно.
__________________

Vanizma вне форума   Ответить с цитированием
Старый 19.05.2020, 18:51   #82
SergP01
Senior Member
 
Аватар для SergP01
 
Регистрация: 09.11.2012
Адрес: SPB
Возраст: 52
Сообщений: 1,491
Вес репутации: 725/49
SergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to behold
По умолчанию Re: PIC18F46K22+ENC28J60

ну...да....
только условия проверить надо и выдать результат...
пускай это будет триггер.... но - это результат....
у меня на получение этого результата- 100500 строчек кода.... компилятор туду прыгает....
разве это не "функция"?
SergP01 вне форума   Ответить с цитированием
Старый 19.05.2020, 19:16   #83
Vanizma
Senior Member
 
Аватар для Vanizma
 
Регистрация: 30.04.2008
Адрес: Pskov
Сообщений: 4,183
Вес репутации: 4763/133
Vanizma has a reputation beyond reputeVanizma has a reputation beyond reputeVanizma has a reputation beyond reputeVanizma has a reputation beyond reputeVanizma has a reputation beyond reputeVanizma has a reputation beyond reputeVanizma has a reputation beyond reputeVanizma has a reputation beyond reputeVanizma has a reputation beyond reputeVanizma has a reputation beyond reputeVanizma has a reputation beyond repute
Отправить сообщение для Vanizma с помощью ICQ
По умолчанию Re: PIC18F46K22+ENC28J60

Цитата:
Сообщение от SergP01 Посмотреть сообщение
ну...да....
только условия проверить надо и выдать результат...
пускай это будет триггер.... но - это результат....
у меня на получение этого результата- 100500 строчек кода.... компилятор туду прыгает....
разве это не "функция"?
Нет, это просто условные переходы туды сюды. Без вызова call.
__________________

Vanizma вне форума   Ответить с цитированием
Старый 19.05.2020, 22:39   #84
SergP01
Senior Member
 
Аватар для SergP01
 
Регистрация: 09.11.2012
Адрес: SPB
Возраст: 52
Сообщений: 1,491
Вес репутации: 725/49
SergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to behold
По умолчанию Re: PIC18F46K22+ENC28J60

Цитата:
Сообщение от Vanizma Посмотреть сообщение
Нет, это просто условные переходы туды сюды. Без вызова call.
почти готов голову уже не знаю чем посыпать...

а что то вроде такого?

int a,b,c;

void m_Sub()
{
c=a-b;
}

main()
{
m_Sub();
__ asm "jnz 0x0000";
}

ну... за правописание не ручаюсь......

вроде функция.... только на IF похожа...

ну.. там пардон... флаги тоже в стеке лежали....
но о чём я хотел сказать- наверное поняли...
SergP01 вне форума   Ответить с цитированием
Старый 20.05.2020, 01:47   #85
Vanizma
Senior Member
 
Аватар для Vanizma
 
Регистрация: 30.04.2008
Адрес: Pskov
Сообщений: 4,183
Вес репутации: 4763/133
Vanizma has a reputation beyond reputeVanizma has a reputation beyond reputeVanizma has a reputation beyond reputeVanizma has a reputation beyond reputeVanizma has a reputation beyond reputeVanizma has a reputation beyond reputeVanizma has a reputation beyond reputeVanizma has a reputation beyond reputeVanizma has a reputation beyond reputeVanizma has a reputation beyond reputeVanizma has a reputation beyond repute
Отправить сообщение для Vanizma с помощью ICQ
По умолчанию Re: PIC18F46K22+ENC28J60

Цитата:
Сообщение от SergP01 Посмотреть сообщение
почти готов голову уже не знаю чем посыпать...

а что то вроде такого?

int a,b,c;

void m_Sub()
{
c=a-b;
}

main()
{
m_Sub();
__ asm "jnz 0x0000";
}

ну... за правописание не ручаюсь......

вроде функция.... только на IF похожа...

ну.. там пардон... флаги тоже в стеке лежали....
но о чём я хотел сказать- наверное поняли...
это фактически равнозначно if (func()), (только не правильно написано....)
что есть проверка условием результат функции, где опять таки функция имеет мало отношения к самому оператору if.
__________________

Vanizma вне форума   Ответить с цитированием
Старый 20.05.2020, 02:32   #86
SergP01
Senior Member
 
Аватар для SergP01
 
Регистрация: 09.11.2012
Адрес: SPB
Возраст: 52
Сообщений: 1,491
Вес репутации: 725/49
SergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to behold
По умолчанию Re: PIC18F46K22+ENC28J60

Цитата:
Сообщение от Vanizma Посмотреть сообщение
это фактически равнозначно if (func()), (только не правильно написано....)
что есть проверка условием результат функции, где опять таки функция имеет мало отношения к самому оператору if.
опять запутались... или - запутали...
оператор if(....) мне возвращает значение..... он.. там... пол года данные собирал....
это не есть функция?
я в него 100500 данных залил....
а потом в другом месте вызывать буду.....

if(a+b>c)

{ c =0;}

if(b/c< a) { a= 2;}
else
{ c=( (b-a)/sin(a)));}

блин.. ну раньше, на ASM, я бы этот IF в виде функции написал.... а сейчас- это ресурсы отжирает.... куча лишнего кода получается..... а по сути....хоть застрелите, функция.....

Последний раз редактировалось SergP01; 20.05.2020 в 02:44.
SergP01 вне форума   Ответить с цитированием
Старый 20.05.2020, 10:22   #87
besogon
Senior Member
 
Регистрация: 12.07.2012
Возраст: 33
Сообщений: 2,318
Вес репутации: 4401/96
besogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond repute
По умолчанию Re: PIC18F46K22+ENC28J60

Использовать неявные преобразования плохая практика.

Результатом логических выражений является логический, а не числовой тип. не 0 и 1, а true и false.

то, что можно gcc может кастовать логический тип в числовой исключительно следствие того, что в свое время к огромному сожалению написали кучу кода, где люди использовали эту возможность.

только сейчас объявили устаревшим оператор ++ к типу bool.
надеюсь пройдет несколько лет и неявный каст логического типа к числу тоже будет ошибкой.

SergP01
Код:
if(b/c< a) { a= 2;}
else
{ c=( (b-a)/sin(a)));}
смотрите на 0 не разделите. в лучшем случае получите исключение, в худшем - ошибку в алгоритме.

а по сути....хоть застрелите, функция..... - я счастлив, что мы не работаем вместе.

Vanizma
вряд-ли можно судить о том, что что-то функция по наличию или отсутствию тех или иных мнемоник. уровень абстракции другой.
besogon вне форума   Ответить с цитированием
Старый 20.05.2020, 23:02   #88
SergP01
Senior Member
 
Аватар для SergP01
 
Регистрация: 09.11.2012
Адрес: SPB
Возраст: 52
Сообщений: 1,491
Вес репутации: 725/49
SergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to behold
По умолчанию Re: PIC18F46K22+ENC28J60

Цитата:
Сообщение от besogon Посмотреть сообщение
смотрите на 0 не разделите. в лучшем случае получите исключение, в худшем - ошибку в алгоритме.
.
я подобную штуку в чужом коде искал....
только там посложнее....
там лонг на ноль проверялся....
и как выяснилось
МС4.5 компилил... и глоталось...
а BC5 компилил и прога не работала...
а потом ещё и выяснилось... что на разных процах- нуля может не быть... в переменных long

кстати.... для меня это было открытие....
1.0-1.0 .... на разных процах не давало 0.0

Последний раз редактировалось SergP01; 20.05.2020 в 23:09.
SergP01 вне форума   Ответить с цитированием
Старый 20.05.2020, 23:59   #89
SergP01
Senior Member
 
Аватар для SergP01
 
Регистрация: 09.11.2012
Адрес: SPB
Возраст: 52
Сообщений: 1,491
Вес репутации: 725/49
SergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to behold
По умолчанию Re: PIC18F46K22+ENC28J60

Цитата:
Сообщение от besogon Посмотреть сообщение
смотрите на 0 не разделите. в лучшем случае получите исключение, в худшем - ошибку в алгоритме.
.
я... когда по молодости на эти грабли наступил....
начал к ним 0.000001 прибавлять....
но это не правильный метод... ИМХО....
мне показалось, что нужно к целому приводить, путем умножения(скока мне там после запятой надо)...

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

Последний раз редактировалось SergP01; 21.05.2020 в 00:06.
SergP01 вне форума   Ответить с цитированием
Ответ


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 
Опции темы
Опции просмотра

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

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Глюк Timer3 в PIC18F46K22 doc321 Продукция MICROCHIP 0 14.03.2012 17:23
ENC28J60 не работает SPI k.evgeny Продукция MICROCHIP 2 01.01.2012 18:57
ENC28J60 Подскажите знающие как решить один непонятный момент west329 Общетехнические вопросы 25 24.02.2009 09:38
Начало работы с ENC28J60 Mario Продукция MICROCHIP 2 14.07.2007 19:18
проблемы с enc28j60 megabyde Продукция MICROCHIP 2 27.04.2007 05:38


Часовой пояс GMT +3, время: 09:04.


Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, Jelsoft Enterprises Ltd. Перевод: zCarot