а я непоколибимо верил, что все операторы которые используются в языке ардуино представлены тут.
нет, конечно, это просто очень коротенькая шпаргалка, для тех, кто уже знает основы языка. Но базовых понятий тут нет или почти нет, за ними - в учебник.
Ардуино - это игрушка, но игрушка для программистов.
пример исходника ардуино - библиотека для ina3221 - в котором встречается куча конструкций. не описанных в шпаргалке. И кстати. в самом начале попадаются как раз #enfif - которых якобы "нет в ардуино" :)
// SDL_Arduino_INA3221 Library
// SDL_Arduino_INA3221.cpp Arduino code - runs in continuous mode
// Version 1.2
// SwitchDoc Labs September 2019
//
//
/*
Initial code from INA219 code (Basically just a core structure left)
@author K.Townsend (Adafruit Industries)
@license BSD (see BSDlicense.txt)
*/
#if ARDUINO >= 100
#include "Arduino.h"
#else
#include "WProgram.h"
#endif
#include <Wire.h>
#include "SDL_Arduino_INA3221.h"
/**************************************************************************/
/*!
@brief Sends a single command byte over I2C
*/
/**************************************************************************/
void SDL_Arduino_INA3221::wireWriteRegister (uint8_t reg, uint16_t value)
{
Wire.beginTransmission(INA3221_i2caddr);
#if ARDUINO >= 100
Wire.write(reg); // Register
Wire.write((value >> 8) & 0xFF); // Upper 8-bits
Wire.write(value & 0xFF); // Lower 8-bits
#else
Wire.send(reg); // Register
Wire.send(value >> 8); // Upper 8-bits
Wire.send(value & 0xFF); // Lower 8-bits
#endif
Wire.endTransmission();
}
/**************************************************************************/
/*!
@brief Reads a 16 bit values over I2C
*/
/**************************************************************************/
void SDL_Arduino_INA3221::wireReadRegister(uint8_t reg, uint16_t *value)
{
Wire.beginTransmission(INA3221_i2caddr);
#if ARDUINO >= 100
Wire.write(reg); // Register
#else
Wire.send(reg); // Register
#endif
Wire.endTransmission();
delay(1); // Max 12-bit conversion time is 586us per sample
Wire.requestFrom(INA3221_i2caddr, (uint8_t)2);
#if ARDUINO >= 100
// Shift values to create properly formed integer
*value = ((Wire.read() << 8) | Wire.read());
#else
// Shift values to create properly formed integer
*value = ((Wire.receive() << 8) | Wire.receive());
#endif
}
//
void SDL_Arduino_INA3221::INA3221SetConfig(void)
{
// Set Config register to take into account the settings above
uint16_t config = INA3221_CONFIG_ENABLE_CHAN1 |
INA3221_CONFIG_ENABLE_CHAN2 |
INA3221_CONFIG_ENABLE_CHAN3 |
INA3221_CONFIG_AVG1 |
INA3221_CONFIG_VBUS_CT2 |
INA3221_CONFIG_VSH_CT2 |
INA3221_CONFIG_MODE_2 |
INA3221_CONFIG_MODE_1 |
INA3221_CONFIG_MODE_0;
wireWriteRegister(INA3221_REG_CONFIG, config);
}
/**************************************************************************/
/*!
@brief Instantiates a new SDL_Arduino_INA3221 class
*/
/**************************************************************************/
SDL_Arduino_INA3221::SDL_Arduino_INA3221(uint8_t addr, float shuntresistor) {
INA3221_i2caddr = addr;
INA3221_shuntresistor = shuntresistor;
}
/**************************************************************************/
/*!
@brief Setups the HW (defaults to 32V and 2A for calibration values)
*/
/**************************************************************************/
void SDL_Arduino_INA3221::begin() {
Wire.begin();
// Set chip to known config values to start
INA3221SetConfig();
// Serial.print("shut resistor="); Serial.println(INA3221_shuntresistor);
// Serial.print("address="); Serial.println(INA3221_i2caddr);
}
/**************************************************************************/
/*!
@brief Gets the raw bus voltage (16-bit signed integer, so +-32767)
*/
/**************************************************************************/
int16_t SDL_Arduino_INA3221::getBusVoltage_raw(int channel) {
uint16_t value;
wireReadRegister(INA3221_REG_BUSVOLTAGE_1+(channel -1) *2, &value);
// Serial.print("BusVoltage_raw=");
// Serial.println(value,HEX);
// Shift to the right 3 to drop CNVR and OVF and multiply by LSB
return (int16_t)(value );
}
/**************************************************************************/
/*!
@brief Gets the raw shunt voltage (16-bit signed integer, so +-32767)
*/
/**************************************************************************/
int16_t SDL_Arduino_INA3221::getShuntVoltage_raw(int channel) {
uint16_t value;
wireReadRegister(INA3221_REG_SHUNTVOLTAGE_1+(channel -1) *2, &value);
// Serial.print("ShuntVoltage_raw=");
// Serial.println(value,HEX);
return (int16_t)value;
}
/**************************************************************************/
/*!
@brief Gets the shunt voltage in mV (so +-168.3mV)
*/
/**************************************************************************/
float SDL_Arduino_INA3221::getShuntVoltage_mV(int channel) {
int16_t value;
value = getShuntVoltage_raw(channel);
return value * 0.005;
}
/**************************************************************************/
/*!
@brief Gets the shunt voltage in volts
*/
/**************************************************************************/
float SDL_Arduino_INA3221::getBusVoltage_V(int channel) {
int16_t value = getBusVoltage_raw(channel);
return value * 0.001;
}
/**************************************************************************/
/*!
@brief Gets the current value in mA, taking into account the
config settings and current LSB
*/
/**************************************************************************/
float SDL_Arduino_INA3221::getCurrent_mA(int channel) {
float valueDec = getShuntVoltage_mV(channel)/INA3221_shuntresistor;
return valueDec;
}
/**************************************************************************/
/*!
@brief Gets the Manufacturers ID
*/
/**************************************************************************/
int SDL_Arduino_INA3221::getManufID()
{
uint16_t value;
wireReadRegister(0xFE, &value);
return value;
}
и как мне теперь с этим жить? у меня от той информации ухо чесалось, а теперь я еще и дергаться начну
ну это вам решать.
Будучи на вашем месте (а я часто, кстати. бываю на вашем месте. потому что постоянно изучаю что-то новое) - я бы видел два пути:
- либо разобраться в предмете осеновательно. для этого взять учебник и хорошенько его изучить страниц этак на 150-200, а не только предисловие, как вы цитируете :)
- либо бросить это дело. потому что вам это не нужно
сделаю кормушку, и забуду это дело как страшный сон.
Вот этим Вы убили последний шанс получить от кого-то "помощь".
Форум хоббийщиков - это место где общаются люди с общими интересами. А если у Вас нет никакого общего с нами интереса, а только кормушка нужна, так и Вы здесь никому не интересны. Купите готовую или закажите, чтобы Вам сделали - будет быстрее и дешевле.
а я думал, что тут люди в основном занимаются тем, что получают удовольствие от ощущения собственного превосходства, над новичками с глупыми вопросами. хотя вы ЕвгенийП, b707 и ua6em. разительно отличаетесь большей адекватностью.
в свою очередь благодарен вам за ту "помощь" которую вы мне уже оказали. думаю что этого хватит.
а я думал, что тут люди в основном занимаются тем, что получают удовольствие от ощущения собственного превосходства, над новичками с глупыми вопросами.
когда до тебя дойдёт, что "новичков" не существует, то тебе перестанет казаться.
!в очередной раз задаю вопрос: каким образом на России людям забивают в голову ржавый гвоздь чувства неполноценности? - если человек чего-то не знает или не понимает, где это рыть в тырнетах, он приходит и говорит: "здрасте, я неполноценный, т.е. - новичок.!
если бы это был единичный случай, но - нет. табуны недоделанных новичков из одного инкубатора, ведущих ебя, как под копирку - чуть, что сразу обижаются, возмущаются - мамка от титьки отлучила.
давай начнем с того, что ни один из этих примеров не является оператором.
printf(), out() и putchar() - это функции, ровно такие же как ардуиновские loop() или setup(). Функции можно придумать или подгрузить из библиотеки какие угодно.
main() - тоже функция. но с особым смыслом, главная функция любой программы на С. В ардуино она есть
#endif - директива препроцессора, очень широко применяется в ардуино, открой исходник практически любой библиотеки и ты ее увидишь
а я непоколибимо верил, что все
Операторы
Данные
Функции
Управляющие операторы
Константы
Цифровой ввод/вывод
Типы данных
Аналоговый ввод/вывод
Синтаксис
Дополнительные фунции ввода/вывода
Работа со временем
Преобразование типов данных
Арифметические операторы
Математические функции
Область видимости переменных и квалификаторы
Операторы сравнения
Логические операторы
Тригонометрические функции
Генераторы случайных значений
Унарные операторы
Внешние прерывания
Функции передачи данных
которые используются в языке ардуино представлены тут.
Попрoбуй .ru на .сс поменять, и очень удивишься. Там первоисточник, здесь краткая, не полная частичная информация. Даже на .ua больше. Мне не понятно, почему админы так сократили справочник.
Попрoбуй .ru на .сс поменять, и очень удивишься. Там первоисточник, здесь краткая, не полная частичная информация. Даже на .ua больше. Мне не понятно, почему админы так сократили справочник.
во-первых, ТС не знает английского, а во-вторых - не такая уж большая разница. В здешнем референсе переведено процентов 70 того, что на ардуино-сс
На английский есть гугль переводчик, а 70 % как то так получилось, что мне почти всегда надо то, чего не впихнули в эти 70%. И это нужное находилось на .сс . Так что впечатление от куцести перевода сложилось стойкое.
...Приходится задать вопрос, так как самостоятельный поиск ответа чаще всего бывает безуспешным, а про его правильность и говорить нечего (Интернет однако).
Текст любой дезинформации содержит 90-95% верных сведений, и только 5-10% - ложных. Но именно последние и являются ключевыми.
Исходя из этого, весь Ваш текст является дезинформацией.
Нет. с тем, что И-нет - большая помойка, в которой с равной вероятностью можно найти как истинную, так и ложную информацию, никто не спорит. Но весь И-нет ведь и не нужен. Достаточно Википедии или любого учебника.
которые используются в языке ардуино представлены тут.
Вот скажите, Вы, как электрик, наверняка знакомы с некоторым набором профессиональных терминов: анод, батарея, вольт, жила, заземление, изолятор, контакт... ?
Вы что, когда работаете электриком всегда используете только эти слова? В вашей речи никогда не проскальзывают слова, не являющиеся профессиональным жаргоном, такие как: я, ты, непоколебимо, верил, все... ?
В справочнике по Ардуино приведены не все конструкции "языка Ардуино", а только те из них, которые не входят в Си/Си++. Так вот: Си/Си++ - это общеупотребительные термины, а те, из справочника, - это узкопрофессиональные. Построить ни одну фразу, пользуясь только узкопрофессиональными терминами без использования общеупотребительных - невозможно.
Чтобы что-то сказать в своей сфере деятельности мало знать 30 специальных терминов, нужно еще знать минимум 3000 общеупотребительных слов. Притом, последние 3000 нужно знать все, хотя фраза и не обязана их все содержать одновременно. Но если Вы не будете знать их все, (а не только те, что входят в данную фразу) Вы будете сталкиваться с трудностями при построении каждой новой фразы. Что, собственно, у Вас сейчас и наблюдается с Ардуино.
Ну а если "не помещается в оперативную память", - Ардуино не для Вас.
Припозднился я, но - С рождеством!)) всем привет. может кто нибудь имеет возможность подкинуть ссылочку наместо,вкотором популярно обьясняется как читать шеснадцатиричные записи чисел вроде этого:
Шестнадцатеричные константы, как и двоичные, имеют специальную форму записи:
int y = 0x010F; // 271 (256 + 15)
пи.си. с таблицами триад и тетрад я разобрался и даже в восьмеричную систему через двоичную переводил. и сам искал, но не смог получить цифры приведенные в примере.
эту логику я понял. я даже понял что 010F; // 271 (256 + 15) цифра 15 это результат преобразования "F" я не могу понять как 0100 (это же останется если убрать F) пересчиталось в 256. А по той логике, что Вы говорите запись должна бы выглядеть так 000000010000000F ?
эту логику я понял. я даже понял что 010F; // 271 (256 + 15) цифра 15 это результат преобразования "F" я не могу понять как 0100 (это же останется если убрать F) пересчиталось в 256. А по той логике, что Вы говорите запись должна бы выглядеть так 000000010000000F ?
дратути)) я тут в книжечке пример скетча вычитал. библиотека указанная в тексте по предоставленной ссылке не доступна, и на просторах не нашел. В связи с чем проверить нет возможности. но возник вопрос при попытке понять как оно работает:
#include <Timer.h>
const int ledPin = 13;
const int switchPin = 5;
const int period = 1000;
boolean flashing = false;
int ledState = LOW;
Timer t; //создать таймер ,назвать «t»
void setup()
{
pinMode(ledPin, OUTPUT); //13 контакт - выход
pinMode(switchPin, INPUT_PULLUP); //подтягивающий резистор к кнопке на 5м
t.every(period, flashIfRequired); //вызывать функцию через период.
}
void loop()
{
if (digitalRead(switchPin) == LOW) // кнопка нажата? Если да то:
{
flashing = ! flashing; //изменить значение переменной на противоположное (false на truth)
if (! flashing) //если значение переменной изменилось то:
{
digitalWrite(ledPin, LOW); //на 13м контакте изменить уровень напряжения на низкий
}
}
t.update();
}
void flashIfRequired() //выполнять функцию раз в 1 сек.
{
if (flashing) //если переменная имеет номинальное значение (false) то:
{
ledState = ! ledState; //сменить значение на противоположное
digitalWrite(ledPin, ledState); //изменить значение на 13 ножке на значение переменной ledState
}
}
вопрос: я так понял, что кнопка приостанавливает мигание только на то время, пока она нажата. Так?
P.S. коментарии дописывал сам, в связи с чем могут быть неточности.
можно было не написать ни одной буквы, можно было написать 2 или 3 (да, нет), но Вы, ЕвгенийП, выбрали самый сложный путь - написать 114 букв(и это без учета пробелов , знаков припинания и пунктуации) так и не ответив на вопрос.
Здравствуйте уважаемые форумчане!
#include <iarduino_RTC.h>
int TimeWork ;
iarduino_RTC time (RTC_DS1302,7,6,5);
int LED = 2;
void setup(){
delay(300);
Serial.begin(9600);
time.begin();
pinMode(LED, OUTPUT);
pinMode(LED,INPUT_PULLUP);
Serial.println (time.seconds);
}
void loop(){
if(millis()%1000==0){ // если прошла 1 секунда
Serial.println (time.gettime("d-m-Y, H:i:s, D")); // выводим время
}
if (time.seconds == 10);
{
TimeWork = millis() ;
digitalWrite(LED,HIGH);
}
if(millis()-TimeWork >= 1000ul){
digitalWrite(LED,LOW);
}
delay(1);
}
Вот в этом коде работоспособность заканчивается на строчке №19 " if (time.seconds == 10);" . не включает LED в 1о секунд каждой минуты. Может быть там какой то формат (не десятичный например) возвращается?
P.S. пробовал присвоить значение с запроса "time.seconds" переменной и уже потом сравнивать - результат аналогичен прежнему.
Вот в этом коде работоспособность заканчивается на строчке №19 " if (time.seconds == 10);" . не включает LED
Я Вам уже несколько раз говорил, да, прочитайте ж Вы, наконец книжку по языку на котором пытаетесь писать. Вы каждый предпочитаете игнорировать совет и обвинять меня в том, я не отвечаю на Ваши вопросы (#486).
Я решил исправиться и отвечать не так, как раньше, для разумного человека, а так, как Вы, видимо, хотите - для не умеющего читать дебила: уберите нахрен точку с запятой из этой строки.
и ведь компелятор ни чего не говорил на эту тему...
А чего ему говорить? Это нормальная конструкция, которая нормально работает, только делает не то, что Вы хотели. Откуда ему (компилятору) знать что именно Вы хотели написать? Если бы Вы последовали моему совету, то знали бы об этом - эта фишка с точкой с запятой описана в любом учебнике языка.
и ведь компелятор ни чего не говорил на эту тему...
А чего ему говорить? Это нормальная конструкция, которая нормально работает, только делает не то, что Вы хотели. Откуда ему (компилятору) знать что именно Вы хотели написать? Если бы Вы последовали моему совету, то знали бы об этом - эта фишка с точкой с запятой описана в любом учебнике языка.
я так и подумал.
P.S. а на счет учебника, я один прочитал уже. Но ведь просто прочитать мало, нужно еще и понять что там написано. А ведь книги по программированию это не какой нибудь любовный роман, просто отслеживания сюжета не достаточно. нужно вникать в каждое предложение и многое запоминать. К сожалению мне это дается не просто. Требуется масса времени. по тому , параллельно с изучением, я все таки делаю свои поделки)
Eвгений, подскажите еще 1 ответ пожалуйста. в этом же коде, после того как я убрал ";" осталась еще одна проблема: светодиод вовремя загорается и через секунду гаснет, но загорается "в пол накала". (+ не знаю на сколько это важно - примерно через секунду после того как я нажимаю кнопку "открыть COM порт" светодиод мигает коротко, примерно на 50-100 мс.)
раньше встречалась мне подобная проблема, когда программа без задержки включала и выключала светодиод, но тут, вроде, время работы четко прописано...
светодиод вовремя загорается и через секунду гаснет, но загорается "в пол накала". (+ не знаю на сколько это важно - примерно через секунду после того как я нажимаю кнопку "открыть COM порт" светодиод мигает коротко, примерно на 50-100 мс.)
а зачем вы порт для светодиода прописали ОДНОВРЕМЕННО и как выход, и как вход с подтяжкой?
Опять "невнимательность" ? вы вообще очень легковесно относитесь к строчкам в коде, программирование такого не прощает.
а я непоколибимо верил, что все операторы которые используются в языке ардуино представлены тут.
нет, конечно, это просто очень коротенькая шпаргалка, для тех, кто уже знает основы языка. Но базовых понятий тут нет или почти нет, за ними - в учебник.
Ардуино - это игрушка, но игрушка для программистов.
пример исходника ардуино - библиотека для ina3221 - в котором встречается куча конструкций. не описанных в шпаргалке. И кстати. в самом начале попадаются как раз #enfif - которых якобы "нет в ардуино" :)
и как мне теперь с этим жить? у меня от той информации ухо чесалось, а теперь я еще и дергаться начну
и как мне теперь с этим жить? у меня от той информации ухо чесалось, а теперь я еще и дергаться начну
ну это вам решать.
Будучи на вашем месте (а я часто, кстати. бываю на вашем месте. потому что постоянно изучаю что-то новое) - я бы видел два пути:
- либо разобраться в предмете осеновательно. для этого взять учебник и хорошенько его изучить страниц этак на 150-200, а не только предисловие, как вы цитируете :)
- либо бросить это дело. потому что вам это не нужно
и лучше, кстати, взять не один учебник - а три-четыре, и читать их параллельно. Их сравнения разных обьяснений обычно понимается быстрее.
сделаю кормушку, и забуду это дело как страшный сон.
сделаю кормушку, и забуду это дело как страшный сон.
без учебника не сделаете. Разве что найдете такой же проект и тупо скопируете.
"весна покажет..." )))
сделаю кормушку, и забуду это дело как страшный сон.
Вот этим Вы убили последний шанс получить от кого-то "помощь".
Форум хоббийщиков - это место где общаются люди с общими интересами. А если у Вас нет никакого общего с нами интереса, а только кормушка нужна, так и Вы здесь никому не интересны. Купите готовую или закажите, чтобы Вам сделали - будет быстрее и дешевле.
а я думал, что тут люди в основном занимаются тем, что получают удовольствие от ощущения собственного превосходства, над новичками с глупыми вопросами. хотя вы ЕвгенийП, b707 и ua6em. разительно отличаетесь большей адекватностью.
в свою очередь благодарен вам за ту "помощь" которую вы мне уже оказали. думаю что этого хватит.
а я думал, что тут люди в основном занимаются тем, что получают удовольствие от ощущения собственного превосходства, над новичками с глупыми вопросами.
когда до тебя дойдёт, что "новичков" не существует, то тебе перестанет казаться.
!в очередной раз задаю вопрос: каким образом на России людям забивают в голову ржавый гвоздь чувства неполноценности? - если человек чего-то не знает или не понимает, где это рыть в тырнетах, он приходит и говорит: "здрасте, я неполноценный, т.е. - новичок.!
если бы это был единичный случай, но - нет. табуны недоделанных новичков из одного инкубатора, ведущих ебя, как под копирку - чуть, что сразу обижаются, возмущаются - мамка от титьки отлучила.
спасибо.
давай начнем с того, что ни один из этих примеров не является оператором.
printf(), out() и putchar() - это функции, ровно такие же как ардуиновские loop() или setup(). Функции можно придумать или подгрузить из библиотеки какие угодно.
main() - тоже функция. но с особым смыслом, главная функция любой программы на С. В ардуино она есть
#endif - директива препроцессора, очень широко применяется в ардуино, открой исходник практически любой библиотеки и ты ее увидишь
а я непоколибимо верил, что все
Операторы
Данные
Функции
Управляющие операторы
Константы
Цифровой ввод/вывод
Типы данных
Аналоговый ввод/вывод
Синтаксис
Дополнительные фунции ввода/вывода
Работа со временем
Преобразование типов данных
Арифметические операторы
Математические функции
Область видимости переменных и квалификаторы
Операторы сравнения
Логические операторы
Тригонометрические функции
Генераторы случайных значений
Унарные операторы
Внешние прерывания
Функции передачи данных
которые используются в языке ардуино представлены тут.
Попрoбуй .ru на .сс поменять, и очень удивишься. Там первоисточник, здесь краткая, не полная частичная информация. Даже на .ua больше. Мне не понятно, почему админы так сократили справочник.
Попрoбуй .ru на .сс поменять, и очень удивишься. Там первоисточник, здесь краткая, не полная частичная информация. Даже на .ua больше. Мне не понятно, почему админы так сократили справочник.
во-первых, ТС не знает английского, а во-вторых - не такая уж большая разница. В здешнем референсе переведено процентов 70 того, что на ардуино-сс
На английский есть гугль переводчик, а 70 % как то так получилось, что мне почти всегда надо то, чего не впихнули в эти 70%. И это нужное находилось на .сс . Так что впечатление от куцести перевода сложилось стойкое.
прошу прощения, за свою тупость и амбиции.
это не тупость, это издержки веры )))
Товарищи программисты! Вот вы и постарели еще на год... Поздравляю вас! )))
Товарищи программисты! Вот вы и постарели еще на год... Поздравляю вас! )))
А ты типа не программист и не постарел, чтоле??? )_))
Не стареют душой программисты.Ура товарищи. :))
Скетчи не горят :)
...Приходится задать вопрос, так как самостоятельный поиск ответа чаще всего бывает безуспешным, а про его правильность и говорить нечего (Интернет однако).
Текст любой дезинформации содержит 90-95% верных сведений, и только 5-10% - ложных. Но именно последние и являются ключевыми.
Исходя из этого, весь Ваш текст является дезинформацией.
Нет. с тем, что И-нет - большая помойка, в которой с равной вероятностью можно найти как истинную, так и ложную информацию, никто не спорит. Но весь И-нет ведь и не нужен. Достаточно Википедии или любого учебника.
Статья из Википедии находится здесь: https://ru.wikipedia.org/wiki/%D0%94%D0%B5%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5_%D1%81_%D0%BE%D1%81%D1%82%D0%B0%D1%82%D0%BA%D0%BE%D0%BC
А список рекомендуемой учебной литературы - на этом форуме: http://arduino.ru/forum/obshchii/pesochnitsa-dlya-vsekh-novichkov
Поэтому то, что Вы не нашли ни того, ни другого, говорит лишь о том, что Вы и не пытались искать.
Мне тут Дед Мороз мультиметр подогнал. Вот думаю, чё с ним делать? Пихать чё-нить измерять - страшно за такую-то цену.
Выдержка из описания по ссылке:
Мсье часто работает с напряжениями выше 8000В или просто понимает фразу "могут выдерживать" как "могут выдерживать, а могут - и нет"?
а я непоколибимо верил, что все
Операторы
...
Функции передачи данных
которые используются в языке ардуино представлены тут.
Вот скажите, Вы, как электрик, наверняка знакомы с некоторым набором профессиональных терминов: анод, батарея, вольт, жила, заземление, изолятор, контакт... ?
Вы что, когда работаете электриком всегда используете только эти слова? В вашей речи никогда не проскальзывают слова, не являющиеся профессиональным жаргоном, такие как: я, ты, непоколебимо, верил, все... ?
В справочнике по Ардуино приведены не все конструкции "языка Ардуино", а только те из них, которые не входят в Си/Си++. Так вот: Си/Си++ - это общеупотребительные термины, а те, из справочника, - это узкопрофессиональные. Построить ни одну фразу, пользуясь только узкопрофессиональными терминами без использования общеупотребительных - невозможно.
Чтобы что-то сказать в своей сфере деятельности мало знать 30 специальных терминов, нужно еще знать минимум 3000 общеупотребительных слов. Притом, последние 3000 нужно знать все, хотя фраза и не обязана их все содержать одновременно. Но если Вы не будете знать их все, (а не только те, что входят в данную фразу) Вы будете сталкиваться с трудностями при построении каждой новой фразы. Что, собственно, у Вас сейчас и наблюдается с Ардуино.
Ну а если "не помещается в оперативную память", - Ардуино не для Вас.
Мсье вообще как-то до лампочки эта фраза.
Товарищи программисты! Вот вы и постарели еще на год... Поздравляю вас! )))
А ты типа не программист и не постарел, чтоле??? )_))
так я же говорю - товарищи)) т.е. я с вами)))
Припозднился я, но - С рождеством!)) всем привет. может кто нибудь имеет возможность подкинуть ссылочку наместо,вкотором популярно обьясняется как читать шеснадцатиричные записи чисел вроде этого:
Шестнадцатеричные константы, как и двоичные, имеют специальную форму записи:
int y = 0x010F; // 271 (256 + 15)
пи.си. с таблицами триад и тетрад я разобрался и даже в восьмеричную систему через двоичную переводил. и сам искал, но не смог получить цифры приведенные в примере.
010F = 0001 0000 1111 = 100 001 111 = 417
1-2-4-8-16-32-64-128-256-512-1024 и т.д.
https://www.youtube.com/watch?v=qSkUuFySwqE
эту логику я понял. я даже понял что 010F; // 271 (256 + 15) цифра 15 это результат преобразования "F" я не могу понять как 0100 (это же останется если убрать F) пересчиталось в 256. А по той логике, что Вы говорите запись должна бы выглядеть так 000000010000000F ?
опять какая то охинея у меня получилась.
1 - 1, 2 - 2 ...9 - 9, A - 10, B - 11 ... F - 15.
1F => 1*16 + 15
эту логику я понял. я даже понял что 010F; // 271 (256 + 15) цифра 15 это результат преобразования "F" я не могу понять как 0100 (это же останется если убрать F) пересчиталось в 256. А по той логике, что Вы говорите запись должна бы выглядеть так 000000010000000F ?
не путайте двоичные числа и шестнадцатиричные
0x010F - это шестандцатиричное
а 0000 0001 0000 1111 -оно же двоичное
и то и другое = 271 в десятичной записи
010F
1*16 (в степени 2) + 0*16( в степени 1) + 15*16 (в степени 0) = 256+0+15 так?
010F
1*16 (в степени 2) + 0*16( в степени 1) + 15*16 (в степени 0) = 256+0+15 так?
правильно
всем благодарность и хорошего настроения))
дратути)) я тут в книжечке пример скетча вычитал. библиотека указанная в тексте по предоставленной ссылке не доступна, и на просторах не нашел. В связи с чем проверить нет возможности. но возник вопрос при попытке понять как оно работает:
вопрос: я так понял, что кнопка приостанавливает мигание только на то время, пока она нажата. Так?
P.S. коментарии дописывал сам, в связи с чем могут быть неточности.
можно было не написать ни одной буквы, можно было написать 2 или 3 (да, нет), но Вы, ЕвгенийП, выбрали самый сложный путь - написать 114 букв(и это без учета пробелов , знаков припинания и пунктуации) так и не ответив на вопрос.
Видите, какой я неленивый.
XD
Про либу - какие вопросы, в стр.24 запрятан и вызов flashIfRequired, вобщем херня банальная. Закрыли тему.
Вот пока с Вами не пообщаюсь, ни как понимание не приходит -
напишу сюда, Вы заставляете усомнится, тогда еще поразмышляю, и все понятно становится...
а без этого, по ходу, ни как))))
Для этого резиновую уточку можно использовать. Тоже помогает )))
https://ru.wikipedia.org/wiki/Метод_утёнка
Вот в этом коде работоспособность заканчивается на строчке №19 " if (time.seconds == 10);" . не включает LED в 1о секунд каждой минуты. Может быть там какой то формат (не десятичный например) возвращается?
P.S. пробовал присвоить значение с запроса "time.seconds" переменной и уже потом сравнивать - результат аналогичен прежнему.
Вот в этом коде работоспособность заканчивается на строчке №19 " if (time.seconds == 10);" . не включает LED
Я Вам уже несколько раз говорил, да, прочитайте ж Вы, наконец книжку по языку на котором пытаетесь писать. Вы каждый предпочитаете игнорировать совет и обвинять меня в том, я не отвечаю на Ваши вопросы (#486).
Я решил исправиться и отвечать не так, как раньше, для разумного человека, а так, как Вы, видимо, хотите - для не умеющего читать дебила: уберите нахрен точку с запятой из этой строки.
фух... я то думал... а это просто невнимательность... и ведь компелятор ни чего не говорил на эту тему...
и ведь компелятор ни чего не говорил на эту тему...
А чего ему говорить? Это нормальная конструкция, которая нормально работает, только делает не то, что Вы хотели. Откуда ему (компилятору) знать что именно Вы хотели написать? Если бы Вы последовали моему совету, то знали бы об этом - эта фишка с точкой с запятой описана в любом учебнике языка.
и ведь компелятор ни чего не говорил на эту тему...
А чего ему говорить? Это нормальная конструкция, которая нормально работает, только делает не то, что Вы хотели. Откуда ему (компилятору) знать что именно Вы хотели написать? Если бы Вы последовали моему совету, то знали бы об этом - эта фишка с точкой с запятой описана в любом учебнике языка.
я так и подумал.
P.S. а на счет учебника, я один прочитал уже. Но ведь просто прочитать мало, нужно еще и понять что там написано. А ведь книги по программированию это не какой нибудь любовный роман, просто отслеживания сюжета не достаточно. нужно вникать в каждое предложение и многое запоминать. К сожалению мне это дается не просто. Требуется масса времени. по тому , параллельно с изучением, я все таки делаю свои поделки)
Eвгений, подскажите еще 1 ответ пожалуйста. в этом же коде, после того как я убрал ";" осталась еще одна проблема: светодиод вовремя загорается и через секунду гаснет, но загорается "в пол накала". (+ не знаю на сколько это важно - примерно через секунду после того как я нажимаю кнопку "открыть COM порт" светодиод мигает коротко, примерно на 50-100 мс.)
раньше встречалась мне подобная проблема, когда программа без задержки включала и выключала светодиод, но тут, вроде, время работы четко прописано...
светодиод вовремя загорается и через секунду гаснет, но загорается "в пол накала". (+ не знаю на сколько это важно - примерно через секунду после того как я нажимаю кнопку "открыть COM порт" светодиод мигает коротко, примерно на 50-100 мс.)
а зачем вы порт для светодиода прописали ОДНОВРЕМЕННО и как выход, и как вход с подтяжкой?
Опять "невнимательность" ? вы вообще очень легковесно относитесь к строчкам в коде, программирование такого не прощает.
нет, это уже глупость.
P.S. после удаления строки "pinMode(LED,INPUT_PULLUP)" ни чего не изменилось.