Changeset 65 in svn
- Timestamp:
- May 29, 2015 10:20:09 AM (11 years ago)
- File:
-
- 1 edited
-
branches/remocon/zasc/app_c/DST_nec_ir_sender.c (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
-
branches/remocon/zasc/app_c/DST_nec_ir_sender.c
r63 r65 21 21 } 22 22 23 static void signal38k(bool bOn) 24 { 25 int i; 26 SetIRLED(bOn ? 1 : 0); 27 for (i = 0; i < 1616; i++) 28 { 29 30 } 31 SetIRLED(0); 32 for (i = 0; i < 1616; i++) 33 { 34 35 } 36 } 37 38 static void signal(bool bOn, int nCount) 39 { 40 int i; 41 for (i = 0; i < nCount; i++) 42 { 43 signal38k(bOn); 44 } 45 } 46 23 47 static void SendBit(int bOn) 24 48 { 25 SetIRLED(1); 26 DHL_Delay562_5us(1); 27 SetIRLED(0); 28 DHL_Delay562_5us(bOn == 0 ? 1 : 2); 49 signal(true, 22); 50 signal(false, bOn == 0 ? 21 : 64); 29 51 } 30 52 … … 41 63 } 42 64 65 66 43 67 void DST_NEC_IR_Send(unsigned char custom0, unsigned char custom1, unsigned char code) 44 68 { 69 unsigned int flags = bos_enter_critical(); 45 70 // http://techdocs.altium.com/display/FPGA/NEC+Infrared+Transmission+Protocol 46 71 // a 9ms leading pulse burst (16 times the pulse burst length used for a logical data bit) 47 SetIRLED(1); 48 DHL_Delay562_5us(16); 72 signal(true, 38*9); 49 73 // a 4.5ms space 50 SetIRLED(0); 51 DHL_Delay562_5us(8); 74 signal(false, (38*9)/2); 52 75 // the 8-bit address for the receiving device 53 76 SendByte(custom0); … … 60 83 // a final 562.5¥ìs pulse burst to signify the end of message transmission. 61 84 SendBit(0); 85 bos_exit_critical(flags); 62 86 } 63 87
Note: See TracChangeset
for help on using the changeset viewer.
