H
hobby_85
Guest
Ostin RF pakki, lähetin ja vastaanotin, sekä verkkosivuilla samanlainen tuote on alla.Nyt IM yrittää kirjoittaa koodia, vain varmista, että se toimii.
http://www.sparkfun.com/commerce/product_info.php?products_id=8950
IM käyttämällä PIC 16f688 ja jos LED syttyy oikea malli, tiedän koodi toimii.Kuitenkin, se ei ole.
Tässä on TX-koodi:
# include <16F688.h>
//------------------------------------------------ -------------------------------
# define WireTX PIN_C4 / /
# define WireRX PIN_C5
//------------------------------------------------ -------------------------------
# sulakkeet XT, NOWDT, NOPROTECT, NOBROWNOUT, PUT
# käytön viive (kello = 4000000)
# käyttö RS232 (baud = 2400, XMIT = WireTX, ssä = WireRX, Stream = COM_A)
void main () (
for (;
<img src="http://www.edaboard.com/images/smiles/icon_wink.gif" alt="Räpyttää" border="0" />
(
if (input (PIN_C2) == 0) / / Jos painiketta painetaan
(
output_high (PIN_A1), / / output korkea Led
delay_ms (20) / / viive 20ms
fputc ( "T", COM_A), / / lähettää tietoja
delay_ms (20);
delay_ms (1000) / / viive noin ms
output_low (PIN_A1), / / output alhainen johtanut
)
output_high (PIN_A1) / / Jos painiketta ei paineta Sitten off LED PIN D1
delay_ms (50);
output_low (PIN_A1);
delay_ms (50);
)
)
Joten jos painiketta painetaan, kirjain T on tarkoitus lähettää yli, ja LED pitäisi tulla, sitten pois sitten pidemmän aikaa.
Tässä on vastaava vastaanotin koodi:
# include <16F688.h>
# sulakkeet XT, NOWDT, NOPROTECT, BROWNOUT, PUT
# käytön viive (kello = 4000000)
//------------------------------
# define WireTX PIN_C4
# define WireRX PIN_C5
//------------------------------
# käyttö RS232 (baud = 2400, XMIT = WireTX, ssä = WireRX, Stream = COM_A)
unsigned int8 tiedot;
int1 flag = 0;
# int_rda
void rd_isr (void) (
disable_interrupts (INT_RDA), / / Poista Serial Vastaanota keskeytys
disable_interrupts (GLOBAL), / / Poista Global Keskeytykset
data = fgetc (COM_A);
if (data == 'T') (
flag = 1;
)
enable_interrupts (GLOBAL);
enable_interrupts (INT_RDA);
)
void main () (
enable_interrupts (maailmanlaajuinen);
enable_interrupts (int_rda);
for (;
<img src="http://www.edaboard.com/images/smiles/icon_wink.gif" alt="Räpyttää" border="0" />
(
if (flag == 1) (
output_high (PIN_A1);
delay_ms (1000);
output_low (PIN_A1);
flag = 0;
)
output_high (PIN_A1);
delay_ms (50);
output_low (PIN_A1);
delay_ms (50);
)
)
Joten jos viesti on vastaanotettu, LED pitäisi tulla päälle / pois päältä 1 sekunnin välein.Jos ei, se olisi vain vilkkua päälle ja pois päältä.
Olen oskilloskooppi, jotta voin tarkastella signaalia siirretään.Tässä on ongelmia:
1) kytkin - Kun olen tarkistanut RF-signaali lähetetään, kun painiketta meni, huomasin askel oskilloskooppi.Viesti välitetään ikuisesti ja johti olisi valoa koodattu.
Joten tiedän jotain lähetettiin yli.Kuitenkin, kun pari sekuntia, vaikka kytkin on pois päältä, viesti on lähetetty automaattisesti.
Olen kytketty 220k aseistakieltäytyjä alkaen tuotannon MC LED, ja sitten GND.
2) vastaanotin - johti kytkeytyy päälle / pois, kuin se didnt saa mitään.Kuitenkin, kun olen kytkenyt OSC vastaanottimeen / RX ja MC, näen hypätä signaalin, vastaa signaali lähetetään TX.Joten miksi isnt LED-valoilla odotetusti?
Any ideas?
Kiitos
http://www.sparkfun.com/commerce/product_info.php?products_id=8950
IM käyttämällä PIC 16f688 ja jos LED syttyy oikea malli, tiedän koodi toimii.Kuitenkin, se ei ole.
Tässä on TX-koodi:
# include <16F688.h>
//------------------------------------------------ -------------------------------
# define WireTX PIN_C4 / /
# define WireRX PIN_C5
//------------------------------------------------ -------------------------------
# sulakkeet XT, NOWDT, NOPROTECT, NOBROWNOUT, PUT
# käytön viive (kello = 4000000)
# käyttö RS232 (baud = 2400, XMIT = WireTX, ssä = WireRX, Stream = COM_A)
void main () (
for (;
<img src="http://www.edaboard.com/images/smiles/icon_wink.gif" alt="Räpyttää" border="0" />
(
if (input (PIN_C2) == 0) / / Jos painiketta painetaan
(
output_high (PIN_A1), / / output korkea Led
delay_ms (20) / / viive 20ms
fputc ( "T", COM_A), / / lähettää tietoja
delay_ms (20);
delay_ms (1000) / / viive noin ms
output_low (PIN_A1), / / output alhainen johtanut
)
output_high (PIN_A1) / / Jos painiketta ei paineta Sitten off LED PIN D1
delay_ms (50);
output_low (PIN_A1);
delay_ms (50);
)
)
Joten jos painiketta painetaan, kirjain T on tarkoitus lähettää yli, ja LED pitäisi tulla, sitten pois sitten pidemmän aikaa.
Tässä on vastaava vastaanotin koodi:
# include <16F688.h>
# sulakkeet XT, NOWDT, NOPROTECT, BROWNOUT, PUT
# käytön viive (kello = 4000000)
//------------------------------
# define WireTX PIN_C4
# define WireRX PIN_C5
//------------------------------
# käyttö RS232 (baud = 2400, XMIT = WireTX, ssä = WireRX, Stream = COM_A)
unsigned int8 tiedot;
int1 flag = 0;
# int_rda
void rd_isr (void) (
disable_interrupts (INT_RDA), / / Poista Serial Vastaanota keskeytys
disable_interrupts (GLOBAL), / / Poista Global Keskeytykset
data = fgetc (COM_A);
if (data == 'T') (
flag = 1;
)
enable_interrupts (GLOBAL);
enable_interrupts (INT_RDA);
)
void main () (
enable_interrupts (maailmanlaajuinen);
enable_interrupts (int_rda);
for (;
<img src="http://www.edaboard.com/images/smiles/icon_wink.gif" alt="Räpyttää" border="0" />
(
if (flag == 1) (
output_high (PIN_A1);
delay_ms (1000);
output_low (PIN_A1);
flag = 0;
)
output_high (PIN_A1);
delay_ms (50);
output_low (PIN_A1);
delay_ms (50);
)
)
Joten jos viesti on vastaanotettu, LED pitäisi tulla päälle / pois päältä 1 sekunnin välein.Jos ei, se olisi vain vilkkua päälle ja pois päältä.
Olen oskilloskooppi, jotta voin tarkastella signaalia siirretään.Tässä on ongelmia:
1) kytkin - Kun olen tarkistanut RF-signaali lähetetään, kun painiketta meni, huomasin askel oskilloskooppi.Viesti välitetään ikuisesti ja johti olisi valoa koodattu.
Joten tiedän jotain lähetettiin yli.Kuitenkin, kun pari sekuntia, vaikka kytkin on pois päältä, viesti on lähetetty automaattisesti.
Olen kytketty 220k aseistakieltäytyjä alkaen tuotannon MC LED, ja sitten GND.
2) vastaanotin - johti kytkeytyy päälle / pois, kuin se didnt saa mitään.Kuitenkin, kun olen kytkenyt OSC vastaanottimeen / RX ja MC, näen hypätä signaalin, vastaa signaali lähetetään TX.Joten miksi isnt LED-valoilla odotetusti?
Any ideas?
Kiitos