|
sketch_jqr_uno.ino是网灵机器人的Arduino主程序,rf_send.ino是RF发送的源代码。
dht文件夹是DHT11温湿度模块的库,请先把它拷贝到Arduino IDE环境的libraries目录下。
推荐用arduino-1.0.1编译环境,打开sketch_jqr_uno.ino时,会自动把同一个目录下的rf_send.ino包含进来编译。
2个ino文件经过编译最终生成一个固件,上传到Arduino板子中。
- void pt2262_foura(void)
- {//针对于16MHz频率的单片机
- int i;
- for (i = 0; i < pt2262_count; i++)
- {delayMicroseconds(10);}
- }
- void ev1527_bit0(void)
- {
- digitalWrite(pt2262_pin, HIGH);
- pt2262_foura();
- digitalWrite(pt2262_pin, LOW);
- pt2262_foura();
- pt2262_foura();
- pt2262_foura();
- }
- void ev1527_bit1(void)
- {
- digitalWrite(pt2262_pin, HIGH);
- pt2262_foura();
- pt2262_foura();
- pt2262_foura();
- digitalWrite(pt2262_pin, LOW);
- pt2262_foura();
- }
- void pt2262_dama0(void)//BIT"0"
- {
- digitalWrite(pt2262_pin, HIGH);
- pt2262_foura();
- digitalWrite(pt2262_pin, LOW);
- pt2262_foura();
- pt2262_foura();
- pt2262_foura();
- digitalWrite(pt2262_pin, HIGH);
- pt2262_foura();
- digitalWrite(pt2262_pin, LOW);
- pt2262_foura();
- pt2262_foura();
- pt2262_foura();
- }
- void pt2262_dama1(void)//BIT"1"
- {
- digitalWrite(pt2262_pin, HIGH);
- pt2262_foura();
- pt2262_foura();
- pt2262_foura();
- digitalWrite(pt2262_pin, LOW);
- pt2262_foura();
-
- digitalWrite(pt2262_pin, HIGH);
- pt2262_foura();
- pt2262_foura();
- pt2262_foura();
- digitalWrite(pt2262_pin, LOW);
- pt2262_foura();
- }
- void pt2262_damaf(void)//BIT"f"
- {
- digitalWrite(pt2262_pin, HIGH);
- pt2262_foura();
- digitalWrite(pt2262_pin, LOW);
- pt2262_foura();
- pt2262_foura();
- pt2262_foura();
- digitalWrite(pt2262_pin, HIGH);
- pt2262_foura();
- pt2262_foura();
- pt2262_foura();
- digitalWrite(pt2262_pin, LOW);
- pt2262_foura();
- }
- void pt2262_syn(void)
- {
- int i=31;
- digitalWrite(pt2262_pin, HIGH);
- pt2262_foura();
- digitalWrite(pt2262_pin, LOW);
- while(i--)
- {
- pt2262_foura();
- }
- }
- void pt2262_send(uint16_t addr, uint8_t data)
- {
- uint16_t addr_bak = addr;
- uint8_t data_bak = data;
- uint8_t i;
- uint8_t j;
- uint8_t tmp;
- for (i = 0; i < 5; i++)
- {
- addr = addr_bak;
- data = data_bak;
- pt2262_syn();
- for (j = 0; j < 8; j++)
- {//A0 -> A7
- tmp = addr % 3;
- if (0 == tmp) pt2262_dama0();
- else if (1 == tmp) pt2262_dama1();
- else pt2262_damaf();
- addr = addr / 3;
- }
- for (j = 0; j < 4; j++)
- {//D0 -> D3
- tmp = data % 2;
- if (0 == tmp) pt2262_dama0();
- else if (1 == tmp) pt2262_dama1();
- data = data / 2;
- }
- }
- }
- void ev1527_send(uint16_t addr, uint8_t data)
- {
- uint16_t addr_bak = addr;
- uint8_t data_bak = data;
- uint8_t i;
- uint8_t j;
- uint8_t tmp;
- for (i = 0; i < 5; i++)
- {
- addr = addr_bak;
- data = data_bak;
- pt2262_syn();
- for (j = 0; j < 8; j++)
- {//A0 -> A7 (16bit)
- tmp = addr % 3;
- if (0 == tmp) pt2262_dama0();
- else if (1 == tmp) pt2262_dama1();
- else pt2262_damaf();
- addr = addr / 3;
- }
- for (j = 0; j < 8; j++)
- {//D0 -> D7 (8bit)
- tmp = data % 2;
- if (0 == tmp) ev1527_bit0();
- else if (1 == tmp) ev1527_bit1();
- data = data / 2;
- }
- }
- }
复制代码
|
|