Не могу вылечить ватчдог на "голой" атмеге328р с внутр тактированием 8 МГц

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

ua6em пишет:

Теперь то понятно, нужны точные интервали micros() вам в руки )))

Ой, не скажите :(((((

Там свои заморочки!

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

ЕвгенийП пишет:

sadman41 пишет:

А где вы в наше время встречали синхронность? Даже плаванье уже не то...

ой, не говорите. С тех пор как там появились мужики, я и на девочек-то смотреть не могу. Только посмотрю, тут жемужиков представляю :(

какое у Вас развитое воображение )))
А что, действительно есть мужское синхронное?

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

ЕвгенийП пишет:

ua6em пишет:

Теперь то понятно, нужны точные интервали micros() вам в руки )))

Ой, не скажите :(((((

Там свои заморочки!

кругом засада, добавили бы чтоли в камень таймеров 32 битных штук 7, сложности то никакой ведь вроде

sadman41
Offline
Зарегистрирован: 19.10.2016

ua6em пишет:

А что, действительно есть мужское синхронное?

Конечно. Но эти сволочи постоянно приносят с собой в бассейн мяч...

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

ua6em пишет:

А что, действительно есть мужское синхронное?

С чемпоната мира 2015 началось

https://www.youtube.com/watch?v=ZZBU1n6K344

https://www.youtube.com/watch?v=DXdv2CvnlhM

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

после десяти лет работы на ТВ я сундук не смотрю, совсем одичал )))
показали нашу олимпийскую...плохо переношу стервозных дам

b707
Offline
Зарегистрирован: 26.05.2017

ua6em пишет:

мы не в церкви, на веру не воспринимаем, показал бы код, чтобы начинающему это понятно было и флуда бы не было )))

в коде, который показал андриано, про обновление миллис написано в самой первой строчке. И знания Си для этого не требуется. всего лишь умножить 64*256 и разделить на 16 МГц

wdrakula
wdrakula аватар
Offline
Зарегистрирован: 15.03.2016

ЕвгенийП пишет:

ua6em пишет:

Если Влад на автомате такие конструкции пишет, что же он напишет на пулемёте )))

Вы об этой конструкции?

void loop(){
  // Каждую секунду мигаем светодиодом и значение счетчика пишем в Serial
  if(!(millis()%1000)){
    timer++;
    Serial.println(timer);
    digitalWrite(13, digitalRead(13)==1?0:1); delay(1);
  }
}

так она ж вроде .... старая как дерьмо мамонта. Это кусок был на хабре ещё в 2013 году (там под спойлером найдёте).

А вообще, весело у вас тут без меня :))))

Во-во! А то мне этот кошмар приписывают! И церковь тоже я развалил...

wdrakula
wdrakula аватар
Offline
Зарегистрирован: 15.03.2016

ЕвгенийП пишет:

sadman41 пишет:

А где вы в наше время встречали синхронность? Даже плаванье уже не то...

ой, не говорите. С тех пор как там появились мужики, я и на девочек-то смотреть не могу. Только посмотрю, тут жемужиков представляю :(

Вот недостаточно ты, Женя, еще толерантен! Работать надо над собой! Толерантность требует постоянной тренировки. Рекомендую записи женских соревнований по метанию молота 1р/д и мужской кёрлинг - 1 р/д, перед сном. ;)))))))))))))))))

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

я не грамотный, могу только говорить, увидел, что тактируется на 64-й такт, а это как раз 4 микросекунды(при 16 Mhz), о которых я и писал потом посмотрел на конструкцию %1000, код счетчика в командах ассемблера для меня был бы более понятен
да, тогда счетчик микросекунд тоже отставать будет, а что будет происходить при изменении тактовой частоты?
Что-то вы меня совсем запутали

andriano
andriano аватар
Offline
Зарегистрирован: 20.06.2015

ua6em пишет:

какой алгоритм кроме прямого выводы показаний микросекунд и миллисекунд может быть?

Интересный Вы человек. Вот, вроде, на словах все правильно пишите, а в коде - увы.

Давайте с начала: millis() у нас возвращает значение некоторой переменной. И больше она не делает ничего!

А переменная эта меняется в прерывании, вызываемом раз в 1024 мкс. И это прерывание инкрементирует ту самую переменную, что возвращает millis(). Раз в 1024 мкс - это 976.5625 раз в секунду. А нам нужно, чтобы за секунду переменная имела приращение 1000, поэтому обычно переменная инкрементируется 1 раз за прерывание, но иногда - два раза так, чтобы за секунду выходило ровно 1000.

То есть часы millis() у нас тикают не совсенм с той частотой, что нужно, да еще и неравномерно - когда на 1, а когда - на 2.

Но все эти неравномерности укладываются в 1 мс. Вы же в своем коде с одной стороны делаете интервал измерений намного реже, чем происходят прерывания, а с другой - округляете то, что считали с микросекундного счетчика, до миллисекунд. Поэтому ни одного из указанных выше эффектов не можете почувствовать.

Т.е. на словах, вроде, верно, а эксперимент поставлен неправильно.

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

#define size 512
uint8_t m[size];
uint16_t mc[size];

void setup(){
  for(int i = 0; i < size; i++) {
    m[i] = millis();
    mc[i] = micros();
    delayMicroseconds(96);
  }
  Serial.begin(115200);
  for(int i = 0; i < size; i++) {
    Serial.print(i);
    Serial.print('\t');
    Serial.print(m[i]);
    Serial.print('\t');
    Serial.println(mc[i]);
  }  
}
void loop(){}

А теперь выдачу:

0	0	4
1	0	104
2	0	200
3	0	300
4	0	396
5	0	496
6	0	596
7	0	692
8	0	792
9	0	892
10	0	988
11	1	1096
12	1	1192
13	1	1292
14	1	1388
15	1	1488
16	1	1588
17	1	1684
18	1	1784
19	1	1884
20	1	1980
21	2	2084
22	2	2184
23	2	2284
24	2	2380
25	2	2480
26	2	2580
27	2	2676
28	2	2776
29	2	2876
30	2	2972
31	2	3076
32	3	3176
33	3	3276
34	3	3372
35	3	3472
36	3	3572
37	3	3668
38	3	3768
39	3	3868
40	3	3964
41	3	4064
42	4	4168
43	4	4268
44	4	4364
45	4	4464
46	4	4564
47	4	4660
48	4	4760
49	4	4856
50	4	4956
51	4	5056
52	5	5160
53	5	5260
54	5	5356
55	5	5456
56	5	5556
57	5	5652
58	5	5752
59	5	5848
60	5	5948
61	5	6048
62	6	6152
63	6	6252
64	6	6348
65	6	6448
66	6	6544
67	6	6644
68	6	6744
69	6	6840
70	6	6940
71	6	7040
72	6	7136
73	7	7244
74	7	7340
75	7	7440
76	7	7536
77	7	7636
78	7	7736
79	7	7832
80	7	7932
81	7	8032
82	7	8128
83	8	8232
84	8	8332
85	8	8432
86	8	8528
87	8	8628
88	8	8728
89	8	8824
90	8	8924
91	8	9024
92	8	9120
93	9	9224
94	9	9324
95	9	9424
96	9	9520
97	9	9620
98	9	9720
99	9	9816
100	9	9916
101	9	10016
102	9	10112
103	9	10212
104	10	10316
105	10	10416
106	10	10512
107	10	10612
108	10	10712
109	10	10808
110	10	10908
111	10	11004
112	10	11104
113	10	11204
114	11	11308
115	11	11408
116	11	11504
117	11	11604
118	11	11704
119	11	11800
120	11	11900
121	11	11996
122	11	12096
123	11	12196
124	12	12300
125	12	12400
126	12	12496
127	12	12596
128	12	12692
129	12	12792
130	12	12892
131	12	12988
132	12	13088
133	12	13188
134	12	13284
135	13	13392
136	13	13488
137	13	13588
138	13	13684
139	13	13784
140	13	13884
141	13	13980
142	13	14080
143	13	14180
144	13	14276
145	14	14380
146	14	14480
147	14	14580
148	14	14676
149	14	14776
150	14	14876
151	14	14972
152	14	15072
153	14	15172
154	14	15268
155	15	15372
156	15	15472
157	15	15572
158	15	15668
159	15	15768
160	15	15868
161	15	15964
162	15	16064
163	15	16164
164	15	16260
165	15	16360
166	16	16464
167	16	16564
168	16	16660
169	16	16760
170	16	16860
171	16	16956
172	16	17056
173	16	17152
174	16	17252
175	16	17352
176	17	17456
177	17	17556
178	17	17652
179	17	17752
180	17	17852
181	17	17948
182	17	18048
183	17	18144
184	17	18244
185	17	18344
186	18	18448
187	18	18548
188	18	18644
189	18	18744
190	18	18840
191	18	18940
192	18	19040
193	18	19136
194	18	19236
195	18	19336
196	18	19432
197	19	19540
198	19	19636
199	19	19736
200	19	19832
201	19	19932
202	19	20032
203	19	20128
204	19	20228
205	19	20328
206	19	20424
207	20	20528
208	20	20628
209	20	20728
210	20	20824
211	20	20924
212	20	21024
213	20	21120
214	20	21220
215	20	21320
216	20	21416
217	21	21520
218	21	21620
219	21	21720
220	21	21816
221	21	21916
222	21	22016
223	21	22112
224	21	22212
225	21	22312
226	21	22408
227	21	22508
228	22	22612
229	22	22712
230	22	22808
231	22	22908
232	22	23008
233	22	23104
234	22	23204
235	22	23300
236	22	23400
237	22	23500
238	23	23604
239	23	23704
240	23	23800
241	23	23900
242	23	24000
243	23	24096
244	23	24196
245	23	24292
246	23	24392
247	23	24492
248	24	24596
249	24	24696
250	24	24792
251	24	24892
252	24	24988
253	24	25088
254	24	25188
255	24	25284
256	24	25384
257	24	25484
258	24	25580
259	25	25688
260	25	25784
261	25	25884
262	25	25980
263	25	26080
264	25	26180
265	25	26276
266	25	26376
267	25	26476
268	25	26572
269	26	26676
270	26	26776
271	26	26876
272	26	26972
273	26	27072
274	26	27172
275	26	27268
276	26	27368
277	26	27468
278	26	27564
279	27	27668
280	27	27768
281	27	27868
282	27	27964
283	27	28064
284	27	28164
285	27	28260
286	27	28360
287	27	28460
288	27	28556
289	27	28656
290	28	28760
291	28	28860
292	28	28956
293	28	29056
294	28	29156
295	28	29252
296	28	29352
297	28	29448
298	28	29548
299	28	29648
300	29	29752
301	29	29852
302	29	29948
303	29	30048
304	29	30148
305	29	30244
306	29	30344
307	29	30440
308	29	30540
309	29	30640
310	30	30744
311	30	30844
312	30	30940
313	30	31040
314	30	31136
315	30	31236
316	30	31336
317	30	31432
318	30	31532
319	30	31632
320	30	31728
321	31	31836
322	31	31932
323	31	32032
324	31	32128
325	31	32228
326	31	32328
327	31	32424
328	31	32524
329	31	32624
330	31	32720
331	32	32824
332	32	32924
333	32	33024
334	32	33120
335	32	33220
336	32	33320
337	32	33416
338	32	33516
339	32	33616
340	32	33712
341	33	33816
342	33	33916
343	33	34016
344	33	34112
345	33	34212
346	33	34312
347	33	34408
348	33	34508
349	33	34608
350	33	34704
351	33	34804
352	34	34908
353	34	35008
354	34	35104
355	34	35204
356	34	35304
357	34	35400
358	34	35500
359	34	35596
360	34	35696
361	34	35796
362	35	35900
363	35	36000
364	35	36096
365	35	36196
366	35	36296
367	35	36392
368	35	36492
369	35	36588
370	35	36688
371	35	36788
372	36	36892
373	36	36992
374	36	37088
375	36	37188
376	36	37284
377	36	37384
378	36	37484
379	36	37580
380	36	37680
381	36	37780
382	36	37876
383	37	37984
384	37	38080
385	37	38180
386	37	38276
387	37	38376
388	37	38476
389	37	38572
390	37	38672
391	37	38772
392	37	38868
393	38	38972
394	38	39072
395	38	39172
396	38	39268
397	38	39368
398	38	39468
399	38	39564
400	38	39664
401	38	39764
402	38	39860
403	39	39964
404	39	40064
405	39	40164
406	39	40260
407	39	40360
408	39	40460
409	39	40556
410	39	40656
411	39	40756
412	39	40852
413	39	40952
414	40	41056
415	40	41156
416	40	41252
417	40	41352
418	40	41452
419	40	41548
420	40	41648
421	40	41744
422	40	41844
423	40	41944
424	41	42048
425	41	42148
426	41	42244
427	41	42344
428	41	42444
429	41	42540
430	41	42640
431	41	42736
432	41	42836
433	41	42936
434	43	43040
435	43	43140
436	43	43236
437	43	43336
438	43	43432
439	43	43532
440	43	43632
441	43	43728
442	43	43828
443	43	43928
444	43	44024
445	44	44132
446	44	44228
447	44	44328
448	44	44424
449	44	44524
450	44	44624
451	44	44720
452	44	44820
453	44	44920
454	44	45016
455	45	45120
456	45	45220
457	45	45320
458	45	45416
459	45	45516
460	45	45616
461	45	45712
462	45	45812
463	45	45912
464	45	46008
465	46	46112
466	46	46212
467	46	46312
468	46	46408
469	46	46508
470	46	46608
471	46	46704
472	46	46804
473	46	46904
474	46	47000
475	46	47100
476	47	47204
477	47	47304
478	47	47400
479	47	47500
480	47	47600
481	47	47696
482	47	47796
483	47	47896
484	47	47992
485	47	48092
486	48	48196
487	48	48296
488	48	48392
489	48	48492
490	48	48592
491	48	48688
492	48	48788
493	48	48884
494	48	48984
495	48	49084
496	49	49188
497	49	49288
498	49	49384
499	49	49484
500	49	49580
501	49	49680
502	49	49780
503	49	49876
504	49	49976
505	49	50076
506	49	50172
507	50	50280
508	50	50376
509	50	50476
510	50	50572
511	50	50672

Обратите внимание на строки 433-434, как раз в этом месте происходит инкремент на двойку.

Цитата:

В опубликованном вами же ни разу не вижу, что миллис шлёпает через 1024 микросекунды

#define MILLIS_INC (MICROSECONDS_PER_TIMER0_OVERFLOW / 1000)

Ну как бы "шлепает" не здесь, а в прерывании.

Цитата:

Хуже того, то-есть вижу непрофессионализм разработчиков (исходя из ваших слов) так как они применяют
и, я скажу вам довольно успешно, конструкцию вида x%1000  ;-)))

Вы всерьез считаете, что все арифметические операции подразделяются на те, которые применяются профессионалами, и те, что применяются непрофессионалами?

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

Цитата:

PS кода не смотрел да и толку, коли не понимаю в С, а вот на ассемблере смог бы, но коли счетчик микросекунд делят сдвигом на три бита когда в битах D0-D2 нули, не думаю чтобы скосячили в миллис )))

Что Вы хотели сказать, не понял, но от языка программирования это точно не зависит.

andriano
andriano аватар
Offline
Зарегистрирован: 20.06.2015

ua6em пишет:

PS вот чесслово интуитивно предполагал что конструкция x%y реализована как команда процессора, логично жеж?

В AVR такого нет - за ненадобностью. А в 88/86 - это обычная команда div. Только частное нужно было брать из регистра (e)ax, а модуль - из (e)dx.

(и в данном случае - именно последний вариант, т.к. вычисления производит компилятор, а компилятор работает на 86+)

andriano
andriano аватар
Offline
Зарегистрирован: 20.06.2015

ua6em пишет:

ЕвгенийП пишет:

Да, гранаты, они вечно. А чего там про 1000 и 1024, если коротко. я то я же задолбался страницы темы листать?

да товарищ утверждает, что миллис образуется делением микро на 1024 так что конструкция if(!(millis()%1000)){ будет всегда лажать

Не нужно пытаться пересказывать своими словами то, чего не поняли.

А то это можно воспринимать и как клевету. (так что я жду извинений)

andriano
andriano аватар
Offline
Зарегистрирован: 20.06.2015

ua6em пишет:

так код не синхронный жеж тогда, его плющит, как минимум раз в 40 миллисекунд

Да, это проблема. Но считается, что не слишком большая. 

Вот если бы ШИМ на четырех лапах изменялся от 0 до 255, а на двух - от 0 до 249, проблема была бы больше (по крайней мере, так считается).

Так что, как говорится: из двух зол - меньшее.

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

Дак я уже увидел пробником, что на 40 миллисе, просто весьма весьма непривычно, у меня в станках все таймеры и счетчики от кварца 100кгц тактировались и строго синхронно все  таймеры (секунды, десятки, сотни, тысячи), а что будет происходить при смене кварца ардуины, вон даже 27 Mhz в пробнике, а он каким-то чудным образом интервалы меряет...
 

Значит ОНКЕЛЬ не так уж и не прав, говоря о чистом С ))) (если он имел ввиду этот конкур)
 

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

andriano пишет:

Не нужно пытаться пересказывать своими словами то, чего не поняли.

А то это можно воспринимать и как клевету. (так что я жду извинений)


Да мне не сложно! Не понял! Был не прав!

 

PS мои извинения реально стоят Вашего поста

andriano
andriano аватар
Offline
Зарегистрирован: 20.06.2015

ua6em пишет:

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

Ну так постом выше я уже писал. Могу расписать подробнее:

У контроллера весьма ограниченный набор периферии. Но при этом хочется, чтобы он при одних и тех же настройках обеспечивал максимальное количество всяких разнообразных возможностей.

Настроить его на 1000 прерываний в секунду можно и совсем не сложно. Надо просто заставить таймер 0 считать не до 255, а до 249. Но при этом исказится работа ШИМ на двух ногах из 6.

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

Теперь сложилось.

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

Кстати, мужики, я тут подумал, andriano поднял очень важную тему про пропуски значений millis. Сколько мы видели здесь попыток работать с абсолютными значениями millis на равенство? Постоянно ведь встречаются! Это просто данному куску говнокода повезло (что дало мне возможность позмеиться :)))), а вообще-то проблема существует - и andriano прав на 101%! 

Родился пример из нескольких строк, который показывает пропуски значений millis. 

Andriano, Вы напишете кокотенький текст с примером для песочницы или мне написать? Я предлагаю не вдаваться в те дефайны и делимости (мозг не выносить) а просто показать примеры пропуска и сказать - "не пользуйте на равенство и забудьте про абсолютные значения".

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

wdrakula пишет:
Рекомендую записи женских соревнований по метанию молота 1р/д и мужской кёрлинг
Интересуюсь женским хоккеем. Лично знаком с некоторыми игроками. К нему почему-то нормально отношусь.

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

ЕвгенийП пишет:

Кстати, мужики, я тут подумал, andriano поднял очень важную тему про пропуски значений millis. Сколько мы видели здесь попыток работать с абсолютными значениями millis на равенство? Постоянно ведь встречаются! Это просто данному куску говнокода повезло (что дало мне возможность позмеиться :)))), а вообще-то проблема существует - и andriano прав на 101%! 

Родился пример из нескольких строк, который показывает пропуски значений millis. 

Andriano, Вы напишете кокотенький текст с примером для песочницы или мне написать? Я предлагаю не вдаваться в те дефайны и делимости (мозг не выносить) а просто показать примеры пропуска и сказать - "не пользуйте на равенство и забудьте про абсолютные значения".

Интересно, потерей двух пинов ШИМ можно этот косяк с миллис исправить?
Это как раз тот случай, когда писали, что использование таймера  приведёт к потере ШИМ на некоторых пинах?
(я о ваших библиотеках для моего сервотестера)

b707
Offline
Зарегистрирован: 26.05.2017

ua6em пишет:

Интересно, потерей двух пинов ШИМ можно этот косяк с миллис исправить?
Это как раз тот случай, когда писали, что использование таймера  приведёт к потере ШИМ на некоторых пинах?
 

Интересно, вы читаете то, что вам пишут? :)

Это я так, по доброму интересуюсь... Андриано же только что расписал, что никакой потери ШИМ не будет, будет просто разная частота на разных пинах.

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

b707 пишет:

ua6em пишет:

Интересно, потерей двух пинов ШИМ можно этот косяк с миллис исправить?
Это как раз тот случай, когда писали, что использование таймера  приведёт к потере ШИМ на некоторых пинах?
 

Интересно, вы читаете то, что вам пишут? :)

Это я так, по доброму интересуюсь... Андриано же только что расписал, что никакой потери ШИМ не будет, будет просто разная частота на разных пинах.

конечно читаю,могу не понимать но это как бы другая история... для меня ШИМ от 0 до 249 это потеря ))), просто эти пины можно использовать и по другим назначениям, редко когда требуется 6 каналов, мне точно пока не потребовалось, максимум удалось придумать куда пристроить 4-ре

andriano
andriano аватар
Offline
Зарегистрирован: 20.06.2015

ЕвгенийП пишет:

...и andriano прав на 101%! 

Слющай, абидна, да? Другие прави на 100500%, а я - толка на 101%. (((

Цитата:

Родился пример из нескольких строк, который показывает пропуски значений millis. 

Andriano, Вы напишете кокотенький текст с примером для песочницы или мне написать? Я предлагаю не вдаваться в те дефайны и делимости (мозг не выносить) а просто показать примеры пропуска и сказать - "не пользуйте на равенство и забудьте про абсолютные значения".

Если бы я еще понял, чего Вы от меня хотите...

"пример из нескольких строк, который показывает пропуски значений millis" уже содержится в после №161.

Вопрос о "не пользуйте на равенство" на самом деле гораздо более обширный и, наверно, гораздо чаще имеет /место в случае, когда loop() по тем или иным причинам не укладывается в 1 мс. А в случае с float/double и вообще безотносительно любых других условий.

Есть и другие вопросы, к которым, нередко, относятся весьма небрежно. Например, нам хотелось что-то сделать на 1000 мс, а реально получилось только на 1003. Когда нам планировать следующий цикл обработки? на 2000 или на 2003? В зависимости от того, что мы хотим, решение будет различным: если выдержать длительность паузы, то 2003, а если обеспечить максимально близкий темп, то 2000. И в коде это выглядит по-разному.

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

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

b707 пишет:
вместо тернарного оператора правильнее было бы поставить отрицание, а делей в 1мс и вовсе лишний.

Почему Вы не можете предположить, что автор православный и использовать отрицание ему религия не позволяет?

andriano
andriano аватар
Offline
Зарегистрирован: 20.06.2015

Православие не запрещает использовать отрицание, это Вы с чем-то перепутали.

xDriver
xDriver аватар
Offline
Зарегистрирован: 14.08.2015

куда вас пенесло-то ?

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

andriano пишет:

Православие не запрещает использовать отрицание, это Вы с чем-то перепутали.

Это Вы перепутали. Некоторое время назад я тут приводил ссыклу на учебник православной математики (вот в этой теме), так в учебнике прямо сказано: «Отрицанiе – въ арифметике это «богомерзкая» операцiя» ... термины «отрицанiе», «отрицательный» въ православной арифметике неприменимы» (стр. 15).

Скачайте, почитайте, там ещё много чего интересного.

wdrakula
wdrakula аватар
Offline
Зарегистрирован: 15.03.2016

andriano пишет:

Православие не запрещает использовать отрицание, это Вы с чем-то перепутали.

Cергей! Отсутствие чувства юмора, конечно, не уголовное преступление, но штрафы, в административном порядке, я бы, все-таки, выписывал! Женя уже давно публиковал этот перл! То ж есть чудо просто, какой бред!

-----

andriano
andriano аватар
Offline
Зарегистрирован: 20.06.2015

wdrakula пишет:

Cергей! Отсутствие чувства юмора, конечно, не уголовное преступление, но штрафы, в административном порядке, я бы, все-таки, выписывал!

Все ясно:

Отсутствие смайликов в сообщении является очевиднейшим признаком отсутствия чувуства юмора у автора.

wdrakula
wdrakula аватар
Offline
Зарегистрирован: 15.03.2016

andriano пишет:

wdrakula пишет:

Cергей! Отсутствие чувства юмора, конечно, не уголовное преступление, но штрафы, в административном порядке, я бы, все-таки, выписывал!

Все ясно:

Отсутствие смайликов в сообщении является очевиднейшим признаком отсутствия чувуства юмора у автора.

Сергей! Я, напомню, сам православный, но смешной глум, на мой взгляд, очень полезен Церкви, чтобы совсем в мракобесие не скатиться! Ну ведь правда же смешно, про "православную арифметику"?

---

ЗЫ: Если кто-то заметит меня в очереди за "Крещенской водичкой" - пристрелите меня, плз!

andriano
andriano аватар
Offline
Зарегистрирован: 20.06.2015

wdrakula пишет:

Cергей! Отсутствие чувства юмора, конечно, не уголовное преступление, но штрафы, в административном порядке, я бы, все-таки, выписывал!

Все ясно:

Отсутствие смайликов в сообщении является очевиднейшим признаком отсутствия чувуства юмора у автора.

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

wdrakula пишет:

Cергей! Отсутствие чувства юмора, конечно, не уголовное преступление, но штрафы, в административном порядке, я бы, все-таки, выписывал! Женя уже давно публиковал этот перл! То ж есть чудо просто, какой бред!

Лично я бы кодекс по административным правонарушениям отменил, так как по сути это ЦЕННИК (индульгенция) за совершение оных )))

Pyotr
Offline
Зарегистрирован: 12.03.2014

ЕвгенийП пишет:

Кстати, мужики, я тут подумал, andriano поднял очень важную тему про пропуски значений millis. Сколько мы видели здесь попыток работать с абсолютными значениями millis на равенство? Постоянно ведь встречаются! Это просто данному куску говнокода повезло (что дало мне возможность позмеиться :)))), а вообще-то проблема существует - и andriano прав на 101%! 

Родился пример из нескольких строк, который показывает пропуски значений millis. 

Andriano, Вы напишете кокотенький текст с примером для песочницы или мне написать? Я предлагаю не вдаваться в те дефайны и делимости (мозг не выносить) а просто показать примеры пропуска и сказать - "не пользуйте на равенство и забудьте про абсолютные значения".

Петрович, когда я говорил о пропусках миллис и предлагал допилить этот момент, Вы сказали, что это никому не нужно. Там и пример я предлагал для 16 МГц плат. 

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

Pyotr пишет:
Вы сказали, что это никому не нужно.
Да? Ну, значит, сейчас поменял своё мнение. Уж слишком много народу забивается на абсолютные значения миллиса. И сколько не объясняй, что абсолютные значения не нужны, - не верят.

wdrakula
wdrakula аватар
Offline
Зарегистрирован: 15.03.2016

Ну там не про то было. Там Петр предлагал переписать миллис, чтобы он точные значения давал. Вот на это предложение ты и ответил: "на фиг нужно?" ...или как-то похоже.

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

Может быть, я не понмю.

bwn
Offline
Зарегистрирован: 25.08.2014

ЕвгенийП пишет:

Уж слишком много народу забивается на абсолютные значения миллиса. И сколько не объясняй, что абсолютные значения не нужны, - не верят.

Боюсь, не поможет. Они, не неверят, они не читают.(((
Смотрю, уже и раздел соответствующий появился, а как постили дурь в проекты, так и продолжают. Может не хватает мозгов, чтобы осознать себя новичком? Не знаю. 
Я там ваяю "Программное обеспечение для девайса", закончу открою для редакции. Будет не руководство по программированию, а сборник советов, как сделать работоспособное устройство. Этот включу, не применительно к миллис, а в принципе. Надеюсь, тем двум процентам, которые хотят, поможет. ИМХО.

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

bwn пишет:

 Надеюсь, тем двум процентам, которые хотят, поможет. ИМХО.


...тоже подумалось, ведь в программировании мужчина который хочет, но не может, не ИМПОТЕНТ жеж и, это исправимо )))

DetSimen
DetSimen аватар
Offline
Зарегистрирован: 25.01.2017

ua6em пишет:

в программировании мужчина который хочет, но не может, не ИМПОТЕНТ жеж и, это исправимо )))

в 80% случаев - неисправимо.