Koda: |
#include <avr\io.h>
#include <avr\interrupt.h> #include <util/delay.h> #include <inttypes.h> #include <stdio.h> #include "lcd_lib.c" #include "twi.c" #include "definicije.h" //#include "nrf24l01.c" //#include "spi.c" |
Koda: |
xx 00011000 == 1 00000000 == 1 00010000 == 0 00001000 ==0 |
Koda: |
SIGNAL (INT1_vect)
{ //bitno preverjanje bitov enkoderja //Enaka == ena smer, različna == druga smer if (PIND & (1 << PD3) ^ PIND & (1 << PD4)) ++Gor; else ++Dol; } |
Citiram: |
Gre se pa za priklop malega enkoderja, da bi ugotovil smer. |
Koda: |
//prekinitev - vrtenje enkoderja
SIGNAL (INT1_vect) { if (PIND & (1 << PD4)) ++Gor; else ++Dol; Neaktiv = 0; } |
Koda: |
//prekinitev - vrtenje enkoderja
SIGNAL (INT1_vect) { if (!(PIND & (1 << PD3)) && PIND & (1 << PD4) || PIND & (1 << PD3) && !(PIND & (1 << PD4))) ++Gor; else ++Dol; Neaktiv = 0; } |
Koda: |
int Read_Temp_Sub (uint16_t adresa, int16_t OldTemp)
{ unsigned char i,j, counter = 0; int b = 0; unsigned char scratchpad [9]; unsigned char shift,tip, fb, crc = 0; if (DS_init ()) { do { // temperatura DS_init (); DS_write_byte (DS_MatchRom); for (uint8_t a=0; a < 8; a++) { DS_write_byte (EEPROM_Read_char (adresa + a)); } DS_write_byte (DS_ReadScratchpad); //read scratshpad //for (uint8_t s = 0; s < 9 s++) //{ scratchpad [s] = DS_read_byte (); } //preberi cel scratchpad scratchpad[0] = DS_read_byte (); //Preberi LSB scratchpad[1] = DS_read_byte (); //Preberi MSB scratchpad[2] = DS_read_byte (); //Preberi MSB scratchpad[3] = DS_read_byte (); //Preberi MSB scratchpad[4] = DS_read_byte (); //Preberi MSB scratchpad[5] = DS_read_byte (); //Preberi MSB scratchpad[6] = DS_read_byte (); //Preberi MSB scratchpad[7] = DS_read_byte (); //Preberi MSB scratchpad[8] = DS_read_byte (); //Preberi MSB |
lojzek je napisal/a: |
Za pogojem oz. za for zanko se ne da podpičja... |
Koda: |
for (uint8_t s = 0; s < 9; ++s) { scratchpad [s] = DS_read_byte (); } |