- Timestamp:
- Mar 28, 2016, 2:09:46 PM (8 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
rtos_arduino/trunk/arduino_lib/hardware/arduino/samd/cores/arduino/SERCOM.h
r136 r175 1 /* 2 Copyright (c) 2014 Arduino. All right reserved. 3 4 This library is free software; you can redistribute it and/or 5 modify it under the terms of the GNU Lesser General Public 6 License as published by the Free Software Foundation; either 7 version 2.1 of the License, or (at your option) any later version. 8 9 This library is distributed in the hope that it will be useful, 10 but WITHOUT ANY WARRANTY; without even the implied warranty of 11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 12 See the GNU Lesser General Public License for more details. 13 14 You should have received a copy of the GNU Lesser General Public 15 License along with this library; if not, write to the Free Software 16 Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 17 */ 18 1 19 #ifndef _SERCOM_CLASS_ 2 20 #define _SERCOM_CLASS_ … … 62 80 typedef enum 63 81 { 64 UART_TX_PAD_0 = 0x0ul, //Only for UART 65 UART_TX_PAD_2 = 0x1ul, //Only for UART 82 UART_TX_PAD_0 = 0x0ul, // Only for UART 83 UART_TX_PAD_2 = 0x1ul, // Only for UART 84 UART_TX_RTS_CTS_PAD_0_2_3 = 0x2ul, // Only for UART with TX on PAD0, RTS on PAD2 and CTS on PAD3 66 85 } SercomUartTXPad; 67 86 68 87 typedef enum 69 88 { 70 SAMPLE_RATE_x16 = 0, //Arithmetic 71 SAMPLE_RATE_x8 = 0x2, //Arithmetic 72 SAMPLE_RATE_x3 = 0x3 //Arithmetic 89 SAMPLE_RATE_x16 = 0x1, //Fractional 90 SAMPLE_RATE_x8 = 0x3, //Fractional 73 91 } SercomUartSampleRate; 74 92 … … 144 162 uint8_t readDataUART( void ) ; 145 163 int writeDataUART(uint8_t data) ; 164 bool isUARTError() ; 165 void acknowledgeUARTError() ; 146 166 147 167 /* ========== SPI ========== */ 148 168 void initSPI(SercomSpiTXPad mosi, SercomRXPad miso, SercomSpiCharSize charSize, SercomDataOrder dataOrder) ; 169 void initSPIslave(SercomSpiTXPad mosi, SercomRXPad miso, SercomSpiCharSize charSize, SercomDataOrder dataOrder); 149 170 void initSPIClock(SercomSpiClockMode clockMode, uint32_t baudrate) ; 150 171 … … 153 174 void disableSPI( void ) ; 154 175 void setDataOrderSPI(SercomDataOrder dataOrder) ; 155 void setBaudrateSPI(uint8_t divider) ; 176 SercomDataOrder getDataOrderSPI( void ) ; 177 void setBaudrateSPI(uint16_t divider) ; 156 178 void setClockModeSPI(SercomSpiClockMode clockMode) ; 157 179 void writeDataSPI(uint8_t data) ; … … 168 190 void resetWIRE( void ) ; 169 191 void enableWIRE( void ) ; 170 171 172 173 void prepareCommandBitsWire(SercomMasterCommandWirecmd);192 void disableWIRE( void ); 193 void prepareNackBitWIRE( void ) ; 194 void prepareAckBitWIRE( void ) ; 195 void prepareCommandBitsWire(uint8_t cmd); 174 196 bool startTransmissionWIRE(uint8_t address, SercomWireReadWriteFlag flag) ; 175 197 bool sendDataMasterWIRE(uint8_t data) ; … … 178 200 bool isSlaveWIRE( void ) ; 179 201 bool isBusIdleWIRE( void ) ; 202 bool isBusOwnerWIRE( void ) ; 180 203 bool isDataReadyWIRE( void ) ; 181 204 bool isStopDetectedWIRE( void ) ; … … 183 206 bool isAddressMatch( void ) ; 184 207 bool isMasterReadOperationWIRE( void ) ; 185 208 bool isRXNackReceivedWIRE( void ) ; 186 209 int availableWIRE( void ) ; 187 210 uint8_t readDataWIRE( void ) ;
Note:
See TracChangeset
for help on using the changeset viewer.