Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #define CYCLE 1000
- #define W_0 600
- #define W_1 400
- #define INTRO_1 1500
- #define INTRO_0 1500
- #define OUTRO_1 1500
- void report(int pin, unsigned long count)
- {
- char msg[16] = {'T', 'Z', 'S', 0x04, 'C', 'o', 'u', 'n', 't', ':'};
- msg[10] = (count >> 8) & 0xff;
- msg[11] = count & 0xff;
- send_msg(pin, msg, 12);
- }
- void send_msg(int pin, char * bp, int n)
- {
- intro(pin);
- send_bytes(pin, bp, n);
- //outro(pin);
- }
- void send_bytes(int pin, char * bp, int n)
- {
- while (n-- > 0) {
- int b = *bp++ & 0xff;
- int m = 0x80;
- while (m != 0) {
- int w = (b & m) ? W_1 : W_0;
- digitalWrite(pin, HIGH);
- delayMicroseconds(w);
- digitalWrite(pin, LOW);
- delayMicroseconds(CYCLE-w);
- m >>= 1;
- }
- }
- }
- void intro(int pin)
- {
- digitalWrite(pin, HIGH);
- delayMicroseconds(INTRO_1);
- digitalWrite(pin, LOW);
- delayMicroseconds(INTRO_0);
- }
- void outro(int pin)
- {
- digitalWrite(pin, HIGH);
- delayMicroseconds(OUTRO_1);
- digitalWrite(pin, LOW);
- }
Advertisement
Add Comment
Please, Sign In to add comment