1 #include <Ss_FastArduino.h> 3 #if defined FASTARDUINO_ON 5 void f_FastdigitalWrite(uint8_t pin, uint8_t val)
7 uint8_t bit = digitalPinToBitMask(pin);
9 out = portOutputRegister(digitalPinToPort(pin));
10 if (val != LOW) *out |= (uint8_t)bit;
11 else *out &= ~(uint8_t)bit;
14 int f_FastdigitalRead(uint8_t pin)
16 uint8_t bit = digitalPinToBitMask(pin);
17 uint8_t port = digitalPinToPort(pin);
18 if (*portInputRegister(port) & bit)
return HIGH;
23 void f_FastshiftOut(
const uint8_t dataPin,
const uint8_t clockPin,
const uint8_t val)
26 register uint8_t tmp=128;
30 send=((uint8_t)val &tmp);
31 f_FastdigitalWrite(dataPin,send);
32 f_FastdigitalWrite(clockPin, HIGH);
33 f_FastdigitalWrite(clockPin, LOW);
40 void f_FastDigitalPulse(uint8_t pin, uint8_t val)
42 uint8_t bit = digitalPinToBitMask(pin);
43 volatile uint8_t *out;
44 out = portOutputRegister(digitalPinToPort(pin));
45 if (val) {*out |= bit;*out &= ~bit;}
46 else {*out &= ~bit;*out |= bit;}
88 bool GetBitN(uint8_t * buff,
unsigned int Fbit)
93 if (((*(buff+byte))&(1<<bit))==(1<<bit))
return(
true);
106 void SetBitN(uint8_t * buff,
unsigned int Fbit,
bool val)
111 *(buff+byte) = (*(buff+byte) & ~(1<<bit)) | (val << bit);
123 extern int __heap_start, *__brkval;
125 return (
int) &v - (__brkval == 0 ? (
int) &__heap_start : (
int) __brkval);
160 randomSeed(millis()+analogRead(A0));
162 ran=random(spread*2);
164 for(
int i=0;i<campioni;i++)
166 int ran = random(spread*2-ran2);
168 *(arr+i)=media+ran-spread;
void HPulse(uint8_t pin)
Set digital pin to high, then to low.
bool GetBitN(uint8_t *buff, unsigned int Fbit)
This function return n bit from a buffer.
void LPulse(uint8_t pin)
Set digital pin to low, then to high.
#define FastdigitalWrite(a, b)
void Mc_SetNoisyArray(float *arr, int campioni, float media, float spread)
This fill a buffer using random values.
void SetBitN(uint8_t *buff, unsigned int Fbit, bool val)
Questa funzione setta l'n-esimo bit del buffer buff (0-n) (il singolo byte è riempito da destra a sini...
void f1_FastDigitalPulse(uint8_t pin, uint8_t val)
int Mc_FreeRam()
Calculate free RAM This function Works only on AVR microcontrollers.