Re: Компилятор для Carduino/Arduino/Freeduino.
Качаем новую версию IDE arduino-0018
Re: Компилятор для Carduino/Arduino/Freeduino.
А что даст эта новая версия?:)
Re: Компилятор для Carduino/Arduino/Freeduino.
Цитата:
* Synchronized with the Processing 1.0.9 code base...
Одно это уже хорошо! Да и остальное неплохо ;)
Вложений: 3
Re: Компилятор для Carduino/Arduino/Freeduino.
Альтернативный arduino монитор для отладки кода.
Выводит бинарные данные в десятичном или шестнадцатеричном виде , а не в символьном как в родном IDE.
Отправлять в порт можно значения от 0 до 255(0xFF) за одну посылку.
Отправлять можно даже если прием данных установлен на паузу.
Для отправки данных можно нажать кнопку "Send" или кнопку Enter на клавиатуре
Вложение 8159
Написал тестовый Скетч для проверки Carduino Monitor
Отправляемые из порта значения будут влиять на яркость светодиода D13
И будут возвращатся из Arduino и отображатся в Carduino мониторе
PHP код:
#define D13_High PORTB |=B00100000
#define D13_LOW PORTB &= B11011111
volatile unsigned int tcnt2;
volatile byte pwm_time;
byte bytes[] = {10};
void setup()
{
TIMSK2 &= ~(1<<TOIE2); //разрешения прерывания по переполнению таймера/счетчика Т2
TCCR2A &= ~((1<<WGM21) | (1<<WGM20));// Режим работы таймера/счетчика
TCCR2B &= ~(1<<WGM22);// Режим работы таймера/счетчика
ASSR &= ~(1<<AS2); //Выбор источника синхронизации таймера если AS2=0 от системного генератора
tcnt2 = 251; // 16000000/31000/64=8 tcnt2=256-8=248.
TIMSK2 |= (1<<TOIE2);//Разрешение прерывания по переполнению Т2.
Serial.begin (115200);
}
void loop()
{
if (Serial.available() > 0) bytes[0] = Serial.read(); // прочитать данные
Serial.write( bytes,1); //отправить данные
}
//****************обработчик прерывания********************
ISR(TIMER2_OVF_vect)
{
TCNT2 = tcnt2;
pwm_time++;
if(bytes[0] > pwm_time) D13_High; else D13_LOW;
}
Re: Компилятор для Carduino/Arduino/Freeduino.
Подправил программу "Carduino monitor"
Теперь читает пакеты любой длинны .
Можно выбрать режим отображения и отправки в Hex или Dec
по умолчанию Dec
Re: Компилятор для Carduino/Arduino/Freeduino.
Массив так нельзя инициализировать, вот варианты инициализации
Цитата:
int myInts[6];
int myPins[] = {2, 4, 8, 3, 6};
int mySensVals[6] = {2, 4, -8, 3, 2};
char message[6] = "hello";
Re: Компилятор для Carduino/Arduino/Freeduino.
Цитата:
Сообщение от
Т-1000
for(int i=0; i<7; i++)
{digitalWrite(clockPin1, HIGH);
int p1[i] = digitalRead(2); (строка с ошибкой)
}
...
такое написание недопустимо?
И если знаете, подскажите, пожалуйста, как из массива р1['0','0','1','0','1','1','0','1'] сделать переменную р1 со значением 00101101? (Массив берется из порта и может принимать любое значение)
Вот пример - считывает значения 8 ног и записывает их в биты.
int p=0;
for(int i=0; i<7; i++)
{
if (digitalRead(i))
p|=1<<i;
}
Re: Компилятор для Carduino/Arduino/Freeduino.
Выложил шпаргалку для Arduino