1
0
mirror of https://github.com/esp8266/Arduino.git synced 2025-06-16 11:21:18 +03:00

[sam] merging CMSIS with current internal dev

This commit is contained in:
Thibaut VIARD
2011-10-11 20:46:18 +02:00
parent 2699d5d001
commit ee7177d68b
87 changed files with 955 additions and 1078 deletions

View File

@ -35,27 +35,48 @@ void SPIClass::begin()
SPCR |= _BV(SPE);
}
void SPIClass::end() {
void SPIClass::end()
{
SPCR &= ~_BV(SPE);
}
void SPIClass::setBitOrder(uint8_t bitOrder)
void SPIClass::setBitOrder( uint8_t bitOrder )
{
if(bitOrder == LSBFIRST) {
if(bitOrder == LSBFIRST)
{
SPCR |= _BV(DORD);
} else {
}
else
{
SPCR &= ~(_BV(DORD));
}
}
void SPIClass::setDataMode(uint8_t mode)
void SPIClass::setDataMode( uint8_t mode )
{
SPCR = (SPCR & ~SPI_MODE_MASK) | mode;
}
void SPIClass::setClockDivider(uint8_t rate)
void SPIClass::setClockDivider( uint8_t rate )
{
SPCR = (SPCR & ~SPI_CLOCK_MASK) | (rate & SPI_CLOCK_MASK);
SPSR = (SPSR & ~SPI_2XCLOCK_MASK) | ((rate >> 2) & SPI_2XCLOCK_MASK);
}
byte SPIClass::transfer( byte _data )
{
SPDR = _data;
while (!(SPSR & _BV(SPIF)))
;
return SPDR;
}
void SPIClass::attachInterrupt( void )
{
SPCR |= _BV(SPIE) ;
}
void SPIClass::detachInterrupt( void )
{
SPCR &= ~_BV(SPIE) ;
}