Hm? Ten můj kód by měl čekat až se něco dorazí(pokud něco dorazí) a zmrazit, pokud se nedorazí nic. Já takový kód používám běžně pří normální seriálové komunikace a funguje dobře. Ten listen() je pro Nás k ničemu. Je to použity jen v případě, že softwarově ovládneme víc než jeden seriálové port. brmdoor děla jeden port softwarově a jeden přes hardwarem tak není žádný důvod používat listen(). V našem případě listen Nám může i škodit(jestli je v nesprávném místě) protože vychodí buffer: Citují odsud http:// arduiniana.org/libraries/newsoftserial/ ------------------------------------------
In this example, we assume that read_gps_data() uses the gps object and read _thermometer_data() uses the therm object. Any time you call the listen() method, it becomes the “active” object, and the previously active object is deactivated and its RX buffer discarded. An important point here is that object.available() always returns 0 unless object is already active. This means that you can’t write code like this:
void loop() { device1.listen(); if (device1.available() > 0) { int c = device1.read(); ... } device2.listen(); if (device2.available() > 0) { int c = device2.read(); ... } } ////////////////////////////////////////////////////////
Kód by měl fungovat podle mého čtení. Kdy jsi to flašnul zpátky na tu starou už to zase fungoval?(abychom vyloučili problém s hardwarem?)
Tim
---------- Původní zpráva ---------- Od: Petr Baudis pasky@ucw.cz Datum: 19. 6. 2013 Předmět: Re: [Brmlab] help needed: brmdoor (arduino skillz)
"On Wed, Jun 19, 2013 at 08:16:56PM +0200, timothyhobbs@seznam.cz wrote:
Já nemám čas jit do brmlabu teď(státnice prý mají přednost) ale doporučil bych Vám, zkusit tohle: https://github.com/timthelion/brmdoor/commit/d
739567
ac49fd5d8d193047c873e0ecf3226910e při debugování takových problému...
Hmm, to uplne nevim, jestli necemu pomuze, protoze to
while (rfidSerial.available() > 0)
se pousti de facto furt dokola a nikdy to tim neproleze skrz.
Petr "Pasky" Baudis _______________________________________________ Brmlab mailing list Brmlab@brmlab.cz http://brmlab.cz/cgi-bin/mailman/listinfo/brmlab"