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

Взоржал)) Весь пост в цитатник, адназначна!
Кстати, 52

Никогда не объясняйте что хотите собрать ,что собрали и что именно не работает .достаточно в пару предложений написать : «подключил датчик/моторчик/реле/ экран (нужное подчеркнуть) к arduino ,залил стандартный код но у меня не работает».
Участники форума сами и так все поймут - ведь Arduino и датчики/моторчик/реле/экран на всем белом свете всего 1 и подключить его можно только так как вы и никак иначе.

52 для начинающих - явный перебор.

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

Любимый дефайн? Согласен, это облегчит труд начинающего программиста и сделает код более универсальным

если и ни туда и нее сюда надо выносить за луп )))

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

Согласен. Последняя фраза первого поста немного не по теме ))

Это последняя фраза исказила всю идею поста :slight_smile:

1 лайк

Точнее, противоречит теме. (по крайней приведенным 4-м пунктам)

Если ваша функция возвращает статус её выполнения, а вы им не пользуетесь, то и возвращать ничего не надо. Зачем, ведь так и код легче, и места больше. Да и как же без сюрпризов

Пример:

bool SomeClass::some_function(ini arg_1, int arg_2)
{
    bool state = (arg_1 > arg_2);
    if (state)
        do_something(arg_1);
    else
        do_something(arg_2);
    //return state; // Это здесь лишнее, всё равно я им не пользуюсь
}

Ну, нужно чтобы компилировалось

В ArduinoIDE не нужно, и без этого компилируется

Вот это да! Не знал. Ни разу не пробовал так делать :joy:

И не надо. Оно-то компилируется, но с руганью. Так что совет неправильный.

А Вы проверьте. У меня не ругается в Arduino2.1.0

//===================================================================
// File SomeClass.h
#ifndef _SomeClass_h
#define _SomeClass_h

#if defined(ARDUINO) && ARDUINO >= 100
	#include "arduino.h"
#else
	#include "WProgram.h"
#endif

class SomeClass
{
 public:
	void init();
	bool some_function(int arg_1, int arg_2);
	void do_something(int arg);
};

#endif

//===================================================================
// SomeClass.cpp
#include "SomeClass.h"

void SomeClass::init()
{

}

bool SomeClass::some_function(int arg_1, int arg_2)
{
    bool state = (arg_1 > arg_2);
    if (state)
        do_something(arg_1);
    else
        do_something(arg_2);
    //return state; // Это здесь лишнее, всё равно я им не пользуюсь
}


//===================================================================
// scetch
#include "SomeClass.h"
SomeClass sc;
void setup() {
    sc.init();
}
bool f() {
    //return true;
}
void loop() {
    f();
    sc.some_function(1, 2);
}

так у тебя Warning-и отключены

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

У Вас конфигурация IDE для блондинок.

А наши новички не блондинки, а реальные пацаны!

2 лайка

Возьми с полки пирожок

тебе взрослые/умные дяди дело говорят, а ты огрызаешься.

1 лайк