Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- int vreme = 1;
- void setup() {
- // put your setup code here, to run once:
- Serial.begin(38400);
- pinMode(2, OUTPUT);
- cli(); // disable interrupt
- TCCR0A = 0;
- TCCR0B = 0;
- TCNT0 = 1; // initialize the counter from 0
- OCR0A = 124; // = (16*10^6) / (2000*64) - 1 (must be <256)
- TCCR0A |= (1 << WGM01); // turn on CTC mode
- TCCR0B |= (1 << CS01);// | (1 << CS00); // Set CS01 and CS00 bits for 64 prescaler
- TIMSK0 |= (1 << OCIE0A); // enable timer compare interrupt
- sei(); //allows interrupts
- }
- ISR(TIMER0_COMPA_vect) {
- vreme=0;
- }
- //#define DELAY 1
- char zn;
- int b = 0;
- short niz[8];
- void loop() {
- b = 0;
- if (Serial.available() > 0) {
- zn = Serial.read();
- if (zn != '\n') {
- for (int i = 7; i >= 0; i--)
- {
- if ((zn >> i) & 1)
- niz[b] = 1;
- else
- niz[b] = 0;
- b++;
- }
- digitalWrite(2, HIGH);
- vreme=1;
- while (vreme);
- for (int i = 0; i < b; i++) {
- //Serial.print(niz[i]);
- if (niz[i] == 1)
- digitalWrite(2, HIGH);
- else
- digitalWrite(2, LOW);
- vreme = 1;
- while (vreme);
- }
- digitalWrite(2, LOW);
- vreme = 1;
- while (vreme);
- }
- //Serial.println();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement