ASF4 API Reference Manual
User Manual:
Open the PDF directly: View PDF
Page Count: 497 [warning: Documents this large are best viewed by clicking the View PDF Link!]
- Table of Contents
- 1. Advanced Software Framework Version 4 (ASF4) Introduction and Context
- 2. Software Architecture
- 2.1. Peripheral Driver - Architecture Overview
- 2.2. Driver Use-cases, Types, and Variants
- 2.3. ASF4 Project Folder Structure
- 2.4. Hardware Abstraction Layer (HAL)
- 2.5. I/O System
- 2.6. Hardware Proxy Layer (HPL)
- 2.7. Hardware Register Interface (HRI)
- 2.8. RTOS Support
- 2.9. ASF4 Project Folder Structure - Full
- 3. Driver Implementation and Design Conventions
- 3.1. Introduction
- 3.2. ASF4 and Atmel START Configuration
- 3.3. Driver Implementation
- 3.4. Design Conventions
- 3.5. Toolchain and Device-specific Support
- 3.6. Embedded Software Coding Style
- 3.6.1. MISRA 2004 Compliance
- 3.6.2. Function and Variable Names
- 3.6.3. Constants
- 3.6.4. Inline Constants
- 3.6.5. Variables
- 3.6.6. Type Definitions
- 3.6.7. Structures and Unions
- 3.6.8. Functions
- 3.6.9. Return Statement
- 3.6.10. Function like Macro
- 3.6.11. Indentation
- 3.6.12. Text Formatting
- 3.6.13. Space
- 3.6.14. Continuation
- 3.6.15. Comments
- 3.6.16. Braces
- 3.6.17. Pointer Declaration
- 3.6.18. Compound Statements
- 3.6.19. Switch-case Statement
- 3.6.20. "Fall-through" Switch-cases
- 3.6.21. Goto Statments
- 3.6.22. Operators
- 3.6.23. Preprocessor Directives
- 3.6.24. Header Files
- 3.6.25. Doxygen Comments
- 3.6.26. End of File
- 4. AC Drivers
- 4.1. AC Basics and Best Practice
- 4.2. AC Asynchronous Driver
- 4.3. AC Synchronous Driver
- 5. ADC Drivers
- 5.1. ADC Basics and Best Practice
- 5.2. ADC Asynchronous Driver
- 5.2.1. Summary of the API's Functional Features
- 5.2.2. Summary of Configuration Options
- 5.2.3. Driver Implementation Description
- 5.2.4. Example of Usage
- 5.2.5. Dependencies
- 5.2.6. Structs
- 5.2.7. Enums
- 5.2.8. Typedefs
- 5.2.9. Functions
- 5.2.9.1. adc_async_init
- 5.2.9.2. adc_async_deinit
- 5.2.9.3. adc_async_register_channel_buffer
- 5.2.9.4. adc_async_enable_channel
- 5.2.9.5. adc_async_disable_channel
- 5.2.9.6. adc_async_register_callback
- 5.2.9.7. adc_async_read_channel
- 5.2.9.8. adc_async_start_conversion
- 5.2.9.9. adc_async_set_reference
- 5.2.9.10. adc_async_set_resolution
- 5.2.9.11. adc_async_set_inputs
- 5.2.9.12. adc_async_set_conversion_mode
- 5.2.9.13. adc_async_set_channel_differential_mode
- 5.2.9.14. adc_async_set_channel_gain
- 5.2.9.15. adc_async_set_window_mode
- 5.2.9.16. adc_async_set_thresholds
- 5.2.9.17. adc_async_get_threshold_state
- 5.2.9.18. adc_async_is_channel_conversion_complete
- 5.2.9.19. adc_async_flush_rx_buffer
- 5.2.9.20. adc_async_get_version
- 5.3. ADC DMA Driver
- 5.3.1. Summary of the API's Functional Features
- 5.3.2. Summary of Configuration Options
- 5.3.3. Driver Implementation Description
- 5.3.4. Example of Usage
- 5.3.5. Dependencies
- 5.3.6. Structs
- 5.3.7. Enums
- 5.3.8. Typedefs
- 5.3.9. Functions
- 5.3.9.1. adc_dma_init
- 5.3.9.2. adc_dma_deinit
- 5.3.9.3. adc_dma_enable_channel
- 5.3.9.4. adc_dma_disable_channel
- 5.3.9.5. adc_dma_register_callback
- 5.3.9.6. adc_dma_read
- 5.3.9.7. adc_dma_start_conversion
- 5.3.9.8. adc_dma_set_reference
- 5.3.9.9. adc_dma_set_resolution
- 5.3.9.10. adc_dma_set_inputs
- 5.3.9.11. adc_dma_set_conversion_mode
- 5.3.9.12. adc_dma_set_channel_differential_mode
- 5.3.9.13. adc_dma_set_channel_gain
- 5.3.9.14. adc_dma_set_window_mode
- 5.3.9.15. adc_dma_set_thresholds
- 5.3.9.16. adc_dma_get_threshold_state
- 5.3.9.17. adc_dma_is_conversion_complete
- 5.3.9.18. adc_dma_get_version
- 5.4. ADC RTOS Driver
- 5.4.1. Summary of the API's Functional Features
- 5.4.2. Summary of Configuration Options
- 5.4.3. Driver Implementation Description
- 5.4.4. Example of Usage
- 5.4.5. Dependencies
- 5.4.6. Structs
- 5.4.7. Functions
- 5.4.7.1. adc_os_init
- 5.4.7.2. adc_os_deinit
- 5.4.7.3. adc_os_register_channel_buffer
- 5.4.7.4. adc_os_enable_channel
- 5.4.7.5. adc_os_disable_channel
- 5.4.7.6. adc_os_read_channel
- 5.4.7.7. adc_os_start_conversion
- 5.4.7.8. adc_os_set_reference
- 5.4.7.9. adc_os_set_resolution
- 5.4.7.10. adc_os_set_inputs
- 5.4.7.11. adc_os_set_conversion_mode
- 5.4.7.12. adc_os_set_channel_differential_mode
- 5.4.7.13. adc_os_set_channel_gain
- 5.4.7.14. adc_os_set_window_mode
- 5.4.7.15. adc_os_set_thresholds
- 5.4.7.16. adc_os_get_threshold_state
- 5.4.7.17. adc_os_wait_channel_threshhold_reach
- 5.4.7.18. adc_os_flush_rx_buffer
- 5.4.7.19. adc_os_get_version
- 5.5. ADC Synchronous Driver
- 5.5.1. Summary of the API's Functional Features
- 5.5.2. Summary of Configuration Options
- 5.5.3. Driver Implementation Description
- 5.5.4. Example of Usage
- 5.5.5. Dependencies
- 5.5.6. Structs
- 5.5.7. Functions
- 5.5.7.1. adc_sync_init
- 5.5.7.2. adc_sync_deinit
- 5.5.7.3. adc_sync_enable_channel
- 5.5.7.4. adc_sync_disable_channel
- 5.5.7.5. adc_sync_read_channel
- 5.5.7.6. adc_sync_set_reference
- 5.5.7.7. adc_sync_set_resolution
- 5.5.7.8. adc_sync_set_inputs
- 5.5.7.9. adc_sync_set_conversion_mode
- 5.5.7.10. adc_sync_set_channel_differential_mode
- 5.5.7.11. adc_sync_set_channel_gain
- 5.5.7.12. adc_sync_set_window_mode
- 5.5.7.13. adc_sync_set_thresholds
- 5.5.7.14. adc_sync_get_threshold_state
- 5.5.7.15. adc_sync_is_channel_conversion_complete
- 5.5.7.16. adc_sync_get_version
- 6. Analog Glue Function
- 7. Audio Driver
- 8. CAN Driver
- 8.1. CAN Basics and Best Practice
- 8.2. CAN Asynchronous Driver
- 8.2.1. Summary of the API's Functional Features
- 8.2.2. Summary of Configuration Options
- 8.2.3. Driver Implementation Description
- 8.2.4. Example of Usage
- 8.2.5. Dependencies
- 8.2.6. Structs
- 8.2.7. Typedefs
- 8.2.8. Functions
- 8.2.8.1. can_async_init
- 8.2.8.2. can_async_deinit
- 8.2.8.3. can_async_enable
- 8.2.8.4. can_async_disable
- 8.2.8.5. can_async_read
- 8.2.8.6. can_async_write
- 8.2.8.7. can_async_register_callback
- 8.2.8.8. can_async_get_rxerr
- 8.2.8.9. can_async_get_txerr
- 8.2.8.10. can_async_set_mode
- 8.2.8.11. can_async_set_filter
- 8.2.8.12. can_async_get_version
- 9. CRC Driver
- 10. Calendar Drivers
- 10.1. Calendar Basics and Best Practice
- 10.2. Calendar Bare-bone Driver
- 10.3. Calendar RTOS Driver
- 11. Camera Driver
- 11.1. Camera Basics and Best Practice
- 11.2. Camera Asynchronous Driver
- 12. Cryptography (AES) Driver
- 12.1. AES Basics and Best Practice
- 12.2. AES Synchronous Driver
- 12.2.1. Summary of the API's Functional Features
- 12.2.2. Summary of Configuration Options
- 12.2.3. Driver Implementation Description
- 12.2.4. Example of Usage
- 12.2.5. Dependencies
- 12.2.6. Structs
- 12.2.7. Functions
- 12.2.7.1. aes_sync_init
- 12.2.7.2. aes_sync_deinit
- 12.2.7.3. aes_sync_enable
- 12.2.7.4. aes_sync_disable
- 12.2.7.5. aes_sync_set_encrypt_key
- 12.2.7.6. aes_sync_set_decrypt_key
- 12.2.7.7. aes_sync_ecb_crypt
- 12.2.7.8. aes_sync_cbc_crypt
- 12.2.7.9. aes_sync_cfb128_crypt
- 12.2.7.10. aes_sync_cfb64_crypt
- 12.2.7.11. aes_sync_cfb32_crypt
- 12.2.7.12. aes_sync_cfb16_crypt
- 12.2.7.13. aes_sync_cfb8_crypt
- 12.2.7.14. aes_sync_ofb_crypt
- 12.2.7.15. aes_sync_ctr_crypt
- 12.2.7.16. aes_sync_gcm_crypt_and_tag
- 12.2.7.17. aes_sync_gcm_auth_decrypt
- 12.2.7.18. aes_sync_gcm_start
- 12.2.7.19. aes_sync_gcm_update
- 12.2.7.20. aes_sync_gcm_finish
- 12.2.7.21. aes_sync_ccm_crypt_and_tag
- 12.2.7.22. aes_sync_ccm_auth_decrypt
- 12.2.7.23. aes_sync_get_version
- 13. DAC Drivers
- 13.1. DAC Basics and Best Practice
- 13.2. DAC Asynchronous Driver
- 13.3. DAC RTOS Driver
- 13.4. DAC Synchronous Driver
- 14. Delay Driver
- 15. Digital Glue Logic
- 16. Ethernet MAC Driver
- 16.1. Ethernet Asynchronous Driver
- 16.1.1. Summary of the API's Functional Features
- 16.1.2. Dependencies
- 16.1.3. Structs
- 16.1.4. Typedefs
- 16.1.5. Functions
- 16.1.5.1. mac_async_init
- 16.1.5.2. mac_async_deinit
- 16.1.5.3. mac_async_enable
- 16.1.5.4. mac_async_disable
- 16.1.5.5. mac_async_write
- 16.1.5.6. mac_async_read
- 16.1.5.7. mac_async_read_len
- 16.1.5.8. mac_async_enable_irq
- 16.1.5.9. mac_async_disable_irq
- 16.1.5.10. mac_async_register_callback
- 16.1.5.11. mac_async_set_filter
- 16.1.5.12. mac_async_set_filter_ex
- 16.1.5.13. mac_async_write_phy_reg
- 16.1.5.14. mac_async_read_phy_reg
- 16.1.5.15. mac_async_get_version
- 16.1. Ethernet Asynchronous Driver
- 17. Event System Driver
- 18. External Bus Driver
- 19. External IRQ Driver
- 20. Flash Driver
- 21. Frequency Meter Drivers
- 21.1. Frequency Meter Basics and Best Practice
- 21.2. Frequency Meter Asynchronous Driver
- 21.2.1. Summary of the API's Functional Features
- 21.2.2. Summary of Configuration Options
- 21.2.3. Driver Implementation Description
- 21.2.4. Example of Usage
- 21.2.5. Dependencies
- 21.2.6. Structs
- 21.2.7. Enums
- 21.2.8. Typedefs
- 21.2.9. Functions
- 21.2.9.1. freqmeter_async_init
- 21.2.9.2. freqmeter_async_deinit
- 21.2.9.3. freqmeter_async_enable
- 21.2.9.4. freqmeter_async_disable
- 21.2.9.5. freqmeter_async_start
- 21.2.9.6. freqmeter_async_register_callback
- 21.2.9.7. freqmeter_async_set_measurement_period
- 21.2.9.8. freqmeter_async_set_measurement_parameter
- 21.2.9.9. freqmeter_async_read
- 21.2.9.10. freqmeter_async_flush_rx_buffer
- 21.2.9.11. freqmeter_async_get_version
- 21.3. Frequency Meter Synchronous Driver
- 22. Graphic LCD Driver
- 23. Graphics Processing Unit Driver(2D)
- 24. Hash Algorithm Driver
- 24.1. SHA Synchronous Driver
- 24.1.1. Summary of the API's Functional Features
- 24.1.2. Driver Implementation Description
- 24.1.3. Dependencies
- 24.1.4. Structs
- 24.1.5. Functions
- 24.1.5.1. sha_sync_init
- 24.1.5.2. sha_sync_deinit
- 24.1.5.3. sha_sync_enable
- 24.1.5.4. sha_sync_disable
- 24.1.5.5. sha_sync_sha1_start
- 24.1.5.6. sha_sync_sha256_start
- 24.1.5.7. sha_sync_sha1_update
- 24.1.5.8. sha_sync_sha256_update
- 24.1.5.9. sha_sync_sha1_finish
- 24.1.5.10. sha_sync_sha256_finish
- 24.1.5.11. sha_sync_sha1_compute
- 24.1.5.12. sha_sync_sha256_compute
- 24.1.5.13. sha_sync_get_version
- 24.1. SHA Synchronous Driver
- 25. Helper Drivers
- 26. I2C Drivers
- 26.1. I2C Basics and Best Practice
- 26.2. I2C Master Asynchronous Driver
- 26.2.1. Summary of the API's Functional Features
- 26.2.2. Summary of Configuration Options
- 26.2.3. Driver Implementation Description
- 26.2.4. Example of Usage
- 26.2.5. Dependencies
- 26.2.6. Structs
- 26.2.7. Defines
- 26.2.8. Enums
- 26.2.9. Typedefs
- 26.2.10. Functions
- 26.2.10.1. i2c_m_async_init
- 26.2.10.2. i2c_m_async_deinit
- 26.2.10.3. i2c_m_async_set_slaveaddr
- 26.2.10.4. i2c_m_async_register_callback
- 26.2.10.5. i2c_m_async_set_baudrate
- 26.2.10.6. i2c_m_async_enable
- 26.2.10.7. i2c_m_async_disable
- 26.2.10.8. i2c_m_async_cmd_write
- 26.2.10.9. i2c_m_async_cmd_read
- 26.2.10.10. i2c_m_async_transfer
- 26.2.10.11. i2c_m_async_send_stop
- 26.2.10.12. i2c_m_async_get_status
- 26.2.10.13. i2c_m_async_get_io_descriptor
- 26.2.10.14. i2c_m_get_version
- 26.3. I2C Master RTOS Driver
- 26.4. I2C Master Synchronous Driver
- 26.4.1. Summary of the API's Functional Features
- 26.4.2. Summary of Configuration Options
- 26.4.3. Driver Implementation Description
- 26.4.4. Example of Usage
- 26.4.5. Dependencies
- 26.4.6. Structs
- 26.4.7. Defines
- 26.4.8. Functions
- 26.4.8.1. i2c_m_sync_init
- 26.4.8.2. i2c_m_sync_deinit
- 26.4.8.3. i2c_m_sync_set_slaveaddr
- 26.4.8.4. i2c_m_sync_set_baudrate
- 26.4.8.5. i2c_m_sync_enable
- 26.4.8.6. i2c_m_sync_disable
- 26.4.8.7. i2c_m_sync_cmd_write
- 26.4.8.8. i2c_m_sync_cmd_read
- 26.4.8.9. i2c_m_sync_transfer
- 26.4.8.10. i2c_m_sync_send_stop
- 26.4.8.11. i2c_m_sync_get_io_descriptor
- 26.4.8.12. i2c_m_sync_get_version
- 26.5. I2C Slave Asynchronous Driver
- 26.5.1. Summary of the API's Functional Features
- 26.5.2. Summary of Configuration Options
- 26.5.3. Driver Implementation Description
- 26.5.4. Example of Usage
- 26.5.5. Dependencies
- 26.5.6. Structs
- 26.5.7. Enums
- 26.5.8. Typedefs
- 26.5.9. Functions
- 26.5.9.1. i2c_s_async_init
- 26.5.9.2. i2c_s_async_deinit
- 26.5.9.3. i2c_s_async_set_addr
- 26.5.9.4. i2c_s_async_register_callback
- 26.5.9.5. i2c_s_async_enable
- 26.5.9.6. i2c_s_async_disable
- 26.5.9.7. i2c_s_async_get_io_descriptor
- 26.5.9.8. i2c_s_async_get_bytes_received
- 26.5.9.9. i2c_s_async_get_bytes_sent
- 26.5.9.10. i2c_s_async_flush_rx_buffer
- 26.5.9.11. i2c_s_async_abort_tx
- 26.5.9.12. i2c_s_async_get_status
- 26.5.9.13. i2c_s_async_get_version
- 26.6. I2C Slave Synchronous Driver
- 27. I2S Controller Driver
- 28. MCI Drivers
- 28.1. MCI RTOS Driver
- 28.1.1. Summary of the API's Functional Features
- 28.1.2. Dependencies
- 28.1.3. Structs
- 28.1.4. Functions
- 28.1.4.1. mci_os_init
- 28.1.4.2. mci_os_deinit
- 28.1.4.3. mci_os_select_device
- 28.1.4.4. mci_os_deselect_device
- 28.1.4.5. mci_os_get_bus_width
- 28.1.4.6. mci_os_is_high_speed_capable
- 28.1.4.7. mci_os_send_init_sequence
- 28.1.4.8. mci_os_send_cmd
- 28.1.4.9. mci_os_get_response
- 28.1.4.10. mci_os_get_response_128
- 28.1.4.11. mci_os_adtc_start
- 28.1.4.12. mci_os_adtc_stop
- 28.1.4.13. mci_os_read_bytes
- 28.1.4.14. mci_os_write_bytes
- 28.1.4.15. mci_os_start_read_blocks
- 28.1.4.16. mci_os_start_write_blocks
- 28.1.4.17. mci_os_wait_end_of_read_blocks
- 28.1.4.18. mci_os_wait_end_of_write_blocks
- 28.1.4.19. mci_os_get_version
- 28.2. MCI Synchronous Driver
- 28.2.1. Summary of the API's Functional Features
- 28.2.2. Dependencies
- 28.2.3. Structs
- 28.2.4. Functions
- 28.2.4.1. mci_sync_init
- 28.2.4.2. mci_sync_deinit
- 28.2.4.3. mci_sync_select_device
- 28.2.4.4. mci_sync_deselect_device
- 28.2.4.5. mci_sync_get_bus_width
- 28.2.4.6. mci_sync_is_high_speed_capable
- 28.2.4.7. mci_sync_send_clock
- 28.2.4.8. mci_sync_send_cmd
- 28.2.4.9. mci_sync_get_response
- 28.2.4.10. mci_sync_get_response_128
- 28.2.4.11. mci_sync_adtc_start
- 28.2.4.12. mci_sync_adtc_stop
- 28.2.4.13. mci_sync_read_word
- 28.2.4.14. mci_sync_write_word
- 28.2.4.15. mci_sync_start_read_blocks
- 28.2.4.16. mci_sync_start_write_blocks
- 28.2.4.17. mci_sync_wait_end_of_read_blocks
- 28.2.4.18. mci_sync_wait_end_of_write_blocks
- 28.2.4.19. mci_sync_get_version
- 28.1. MCI RTOS Driver
- 29. PAC Driver
- 30. PWM Driver
- 31. Position Decoder Driver
- 31.1. PDEC Basics and Best Practice
- 31.2. PDEC Asynchronous Driver
- 31.2.1. Summary of the API's Functional Features
- 31.2.2. Summary of Configuration Options
- 31.2.3. Driver Implementation Description
- 31.2.4. Example of Usage
- 31.2.5. Dependencies
- 31.2.6. Structs
- 31.2.7. Typedefs
- 31.2.8. Functions
- 31.2.8.1. pdec_async_init
- 31.2.8.2. pdec_async_deinit
- 31.2.8.3. pdec_async_enable
- 31.2.8.4. pdec_async_disable
- 31.2.8.5. pdec_async_write_position
- 31.2.8.6. pdec_async_read_position
- 31.2.8.7. pdec_async_set_up_threshold
- 31.2.8.8. pdec_async_set_low_threshold
- 31.2.8.9. pdec_async_register_callback
- 31.2.8.10. pdec_async_get_version
- 32. Quad SPI Drivers
- 32.1. Quad SPI Basics and Best Practice
- 32.2. Quad SPI DMA Driver
- 32.3. Quad SPI Synchronous Driver
- 33. RAND Driver
- 34. SPI Drivers
- 34.1. SPI Basics and Best Practice
- 34.2. SPI Master Asynchronous Driver
- 34.2.1. Summary of the API's Functional Features
- 34.2.2. Summary of Configuration Options
- 34.2.3. Driver Implementation Description
- 34.2.4. Example of Usage
- 34.2.5. Dependencies
- 34.2.6. Structs
- 34.2.7. Defines
- 34.2.7.1. SPI_M_ASYNC_STATUS_BUSY
- 34.2.7.2. SPI_M_ASYNC_STATUS_TX_DONE
- 34.2.7.3. SPI_M_ASYNC_STATUS_RX_DONE
- 34.2.7.4. SPI_M_ASYNC_STATUS_COMPLETE
- 34.2.7.5. SPI_M_ASYNC_STATUS_ERR_MASK
- 34.2.7.6. SPI_M_ASYNC_STATUS_ERR_POS
- 34.2.7.7. SPI_M_ASYNC_STATUS_ERR_OVRF
- 34.2.7.8. SPI_M_ASYNC_STATUS_ERR_ABORT
- 34.2.7.9. SPI_M_ASYNC_STATUS_ERR_EXTRACT
- 34.2.8. Enums
- 34.2.9. Typedefs
- 34.2.10. Functions
- 34.2.10.1. spi_m_async_init
- 34.2.10.2. spi_m_async_deinit
- 34.2.10.3. spi_m_async_enable
- 34.2.10.4. spi_m_async_disable
- 34.2.10.5. spi_m_async_set_baudrate
- 34.2.10.6. spi_m_async_set_mode
- 34.2.10.7. spi_m_async_set_char_size
- 34.2.10.8. spi_m_async_set_data_order
- 34.2.10.9. spi_m_async_transfer
- 34.2.10.10. spi_m_async_get_status
- 34.2.10.11. spi_m_async_register_callback
- 34.2.10.12. spi_m_async_get_io_descriptor
- 34.2.10.13. spi_m_async_get_version
- 34.3. SPI Master DMA Driver
- 34.3.1. Summary of the API's Functional Features
- 34.3.2. Summary of Configuration Options
- 34.3.3. Driver Implementation Description
- 34.3.4. Example of Usage
- 34.3.5. Dependencies
- 34.3.6. Structs
- 34.3.7. Enums
- 34.3.8. Typedefs
- 34.3.9. Functions
- 34.3.9.1. spi_m_dma_init
- 34.3.9.2. spi_m_dma_deinit
- 34.3.9.3. spi_m_dma_enable
- 34.3.9.4. spi_m_dma_disable
- 34.3.9.5. spi_m_dma_set_baudrate
- 34.3.9.6. spi_m_dma_set_mode
- 34.3.9.7. spi_m_dma_set_char_size
- 34.3.9.8. spi_m_dma_set_data_order
- 34.3.9.9. spi_m_dma_transfer
- 34.3.9.10. spi_m_dma_register_callback
- 34.3.9.11. spi_m_dma_get_io_descriptor
- 34.3.9.12. spi_m_dma_get_version
- 34.4. SPI Master RTOS Driver
- 34.4.1. Summary of the API's Functional Features
- 34.4.2. Summary of Configuration Options
- 34.4.3. Driver Implementation Description
- 34.4.4. Example of Usage
- 34.4.5. Dependencies
- 34.4.6. Structs
- 34.4.7. Functions
- 34.4.7.1. spi_m_os_init
- 34.4.7.2. spi_m_os_deinit
- 34.4.7.3. spi_m_os_enable
- 34.4.7.4. spi_m_os_disable
- 34.4.7.5. spi_m_os_set_baudrate
- 34.4.7.6. spi_m_os_set_mode
- 34.4.7.7. spi_m_os_set_char_size
- 34.4.7.8. spi_m_os_set_data_order
- 34.4.7.9. spi_m_os_transfer
- 34.4.7.10. spi_m_os_get_io_descriptor
- 34.4.7.11. spi_m_os_get_version
- 34.5. SPI Master Synchronous Driver
- 34.5.1. Summary of the API's Functional Features
- 34.5.2. Summary of Configuration Options
- 34.5.3. Driver Implementation Description
- 34.5.4. Example of Usage
- 34.5.5. Dependencies
- 34.5.6. Structs
- 34.5.7. Functions
- 34.5.7.1. spi_m_sync_init
- 34.5.7.2. spi_m_sync_deinit
- 34.5.7.3. spi_m_sync_enable
- 34.5.7.4. spi_m_sync_disable
- 34.5.7.5. spi_m_sync_set_baudrate
- 34.5.7.6. spi_m_sync_set_mode
- 34.5.7.7. spi_m_sync_set_char_size
- 34.5.7.8. spi_m_sync_set_data_order
- 34.5.7.9. spi_m_sync_transfer
- 34.5.7.10. spi_m_sync_get_io_descriptor
- 34.5.7.11. spi_m_sync_get_version
- 34.6. SPI Slave Asynchronous Driver
- 34.6.1. Summary of the API's Functional Features
- 34.6.2. Summary of Configuration Options
- 34.6.3. Driver Implementation Description
- 34.6.4. Example of Usage
- 34.6.5. Dependencies
- 34.6.6. Structs
- 34.6.7. Enums
- 34.6.8. Typedefs
- 34.6.9. Functions
- 34.6.9.1. spi_s_async_init
- 34.6.9.2. spi_s_async_deinit
- 34.6.9.3. spi_s_async_enable
- 34.6.9.4. spi_s_async_disable
- 34.6.9.5. spi_s_async_set_mode
- 34.6.9.6. spi_s_async_set_char_size
- 34.6.9.7. spi_s_async_set_data_order
- 34.6.9.8. spi_s_async_get_status
- 34.6.9.9. spi_s_async_register_callback
- 34.6.9.10. spi_s_async_flush_rx_buffer
- 34.6.9.11. spi_s_async_abort_tx
- 34.6.9.12. spi_s_async_get_io_descriptor
- 34.6.9.13. spi_s_async_get_version
- 34.7. SPI Slave Synchronous Driver
- 34.7.1. Summary of the API's Functional Features
- 34.7.2. Summary of Configuration Options
- 34.7.3. Driver Implementation Description
- 34.7.4. Example of Usage
- 34.7.5. Dependencies
- 34.7.6. Structs
- 34.7.7. Functions
- 34.7.7.1. spi_s_sync_init
- 34.7.7.2. spi_s_sync_deinit
- 34.7.7.3. spi_s_sync_enable
- 34.7.7.4. spi_s_sync_disable
- 34.7.7.5. spi_s_sync_set_mode
- 34.7.7.6. spi_s_sync_set_char_size
- 34.7.7.7. spi_s_sync_set_data_order
- 34.7.7.8. spi_s_sync_break_on_ss_detect
- 34.7.7.9. spi_s_sync_transfer
- 34.7.7.10. spi_s_sync_get_io_descriptor
- 34.7.7.11. spi_s_sync_get_version
- 35. Segment LCD Drivers
- 35.1. Segment LCD Synchronous Driver
- 35.1.1. Summary of the API's Functional Features
- 35.1.2. Dependencies
- 35.1.3. Structs
- 35.1.4. Functions
- 35.1.4.1. slcd_sync_init
- 35.1.4.2. slcd_sync_deinit
- 35.1.4.3. slcd_sync_enable
- 35.1.4.4. slcd_sync_disable
- 35.1.4.5. slcd_sync_seg_on
- 35.1.4.6. slcd_sync_seg_off
- 35.1.4.7. slcd_sync_seg_blink
- 35.1.4.8. slcd_sync_write_char
- 35.1.4.9. slcd_sync_write_string
- 35.1.4.10. slcd_sync_start_animation
- 35.1.4.11. slcd_sync_stop_animation
- 35.1.4.12. slcd_sync_set_animation_period
- 35.1. Segment LCD Synchronous Driver
- 36. Temperature Sensor Drivers
- 36.1. Temperature Sensor Asynchronous Driver
- 36.1.1. Summary of the API's Functional Features
- 36.1.2. Summary of Configuration Options
- 36.1.3. Driver Implementation Description
- 36.1.4. Example of Usage
- 36.1.5. Dependencies
- 36.1.6. Structs
- 36.1.7. Enums
- 36.1.8. Typedefs
- 36.1.9. Functions
- 36.1.9.1. temp_async_init
- 36.1.9.2. temp_async_deinit
- 36.1.9.3. temp_async_enable
- 36.1.9.4. temp_async_disable
- 36.1.9.5. temp_async_read
- 36.1.9.6. temp_async_set_window_monitor
- 36.1.9.7. temp_async_start_window_monitor
- 36.1.9.8. temp_async_stop_window_monitor
- 36.1.9.9. temp_async_register_callback
- 36.1.9.10. temp_async_get_version
- 36.2. Temperature Sensor Synchronous Driver
- 36.1. Temperature Sensor Asynchronous Driver
- 37. Timer Driver
- 38. USART Drivers
- 38.1. USART Basics and Best Practice
- 38.2. USART Asynchronous Driver
- 38.2.1. Summary of the API's Functional Features
- 38.2.2. Summary of Configuration Options
- 38.2.3. Driver Implementation Description
- 38.2.4. Example of Usage
- 38.2.5. Dependencies
- 38.2.6. Structs
- 38.2.7. Defines
- 38.2.8. Enums
- 38.2.9. Typedefs
- 38.2.10. Functions
- 38.2.10.1. usart_async_init
- 38.2.10.2. usart_async_deinit
- 38.2.10.3. usart_async_enable
- 38.2.10.4. usart_async_disable
- 38.2.10.5. usart_async_get_io_descriptor
- 38.2.10.6. usart_async_register_callback
- 38.2.10.7. usart_async_set_flow_control
- 38.2.10.8. usart_async_set_baud_rate
- 38.2.10.9. usart_async_set_data_order
- 38.2.10.10. usart_async_set_mode
- 38.2.10.11. usart_async_set_parity
- 38.2.10.12. usart_async_set_stopbits
- 38.2.10.13. usart_async_set_character_size
- 38.2.10.14. usart_async_flow_control_status
- 38.2.10.15. usart_async_is_tx_empty
- 38.2.10.16. usart_async_is_rx_not_empty
- 38.2.10.17. usart_async_get_status
- 38.2.10.18. usart_async_flush_rx_buffer
- 38.2.10.19. usart_async_get_version
- 38.3. USART DMA Driver
- 38.3.1. Summary of the API's Functional Features
- 38.3.2. Summary of configuration options
- 38.3.3. Driver Implementation Description
- 38.3.4. Example of Usage
- 38.3.5. Dependencies
- 38.3.6. Structs
- 38.3.7. Functions
- 38.3.7.1. usart_dma_init
- 38.3.7.2. usart_dma_deinit
- 38.3.7.3. usart_dma_enable
- 38.3.7.4. usart_dma_disable
- 38.3.7.5. usart_dma_get_io_descriptor
- 38.3.7.6. usart_dma_register_callback
- 38.3.7.7. usart_dma_set_baud_rate
- 38.3.7.8. usart_dma_set_data_order
- 38.3.7.9. usart_dma_set_mode
- 38.3.7.10. usart_dma_set_parity
- 38.3.7.11. usart_dma_set_stopbits
- 38.3.7.12. usart_dma_set_character_size
- 38.3.7.13. _usart_dma_set_flow_control_state
- 38.3.7.14. usart_dma_get_version
- 38.4. USART RTOS Driver
- 38.4.1. Summary of the API's Functional Features
- 38.4.2. Summary of Configuration Options
- 38.4.3. Driver Implementation Description
- 38.4.4. Example of Usage
- 38.4.5. Dependencies
- 38.4.6. Structs
- 38.4.7. Functions
- 38.4.7.1. usart_os_init
- 38.4.7.2. usart_os_deinit
- 38.4.7.3. usart_os_enable
- 38.4.7.4. usart_os_disable
- 38.4.7.5. usart_os_get_io
- 38.4.7.6. usart_os_set_flow_control
- 38.4.7.7. usart_os_set_baud_rate
- 38.4.7.8. usart_os_set_data_order
- 38.4.7.9. usart_os_set_mode
- 38.4.7.10. usart_os_set_parity
- 38.4.7.11. usart_os_set_stopbits
- 38.4.7.12. usart_os_set_character_size
- 38.4.7.13. usart_os_flow_control_status
- 38.4.7.14. usart_os_flush_rx_buffer
- 38.4.7.15. usart_os_get_version
- 38.5. USART Synchronous Driver
- 38.5.1. Summary of the API's Functional Features
- 38.5.2. Summary of Configuration Options
- 38.5.3. Driver Implementation Description
- 38.5.4. Example of Usage
- 38.5.5. Dependencies
- 38.5.6. Structs
- 38.5.7. Functions
- 38.5.7.1. usart_sync_init
- 38.5.7.2. usart_sync_deinit
- 38.5.7.3. usart_sync_enable
- 38.5.7.4. usart_sync_disable
- 38.5.7.5. usart_sync_get_io_descriptor
- 38.5.7.6. usart_sync_set_flow_control
- 38.5.7.7. usart_sync_set_baud_rate
- 38.5.7.8. usart_sync_set_data_order
- 38.5.7.9. usart_sync_set_mode
- 38.5.7.10. usart_sync_set_parity
- 38.5.7.11. usart_sync_set_stopbits
- 38.5.7.12. usart_sync_set_character_size
- 38.5.7.13. usart_sync_flow_control_status
- 38.5.7.14. usart_sync_is_tx_empty
- 38.5.7.15. usart_sync_is_rx_not_empty
- 38.5.7.16. usart_sync_get_version
- 39. USB Drivers
- 39.1. USB Driver Basics and Best Practice
- 39.2. USB Device Driver
- 39.2.1. Summary of the API's Functional Features
- 39.2.2. Driver Implementation Description
- 39.2.3. Dependencies
- 39.2.4. Considerations for SAM D21 USB
- 39.2.5. Structs
- 39.2.6. Typedefs
- 39.2.7. Functions
- 39.2.7.1. usb_d_init
- 39.2.7.2. usb_d_deinit
- 39.2.7.3. usb_d_register_callback
- 39.2.7.4. usb_d_enable
- 39.2.7.5. usb_d_disable
- 39.2.7.6. usb_d_attach
- 39.2.7.7. usb_d_detach
- 39.2.7.8. usb_d_get_speed
- 39.2.7.9. usb_d_get_frame_num
- 39.2.7.10. usb_d_get_uframe_num
- 39.2.7.11. usb_d_set_address
- 39.2.7.12. usb_d_send_remotewakeup
- 39.2.7.13. usb_d_ep0_init
- 39.2.7.14. usb_d_ep_init
- 39.2.7.15. usb_d_ep_deinit
- 39.2.7.16. usb_d_ep_register_callback
- 39.2.7.17. usb_d_ep_enable
- 39.2.7.18. usb_d_ep_disable
- 39.2.7.19. usb_d_ep_get_req
- 39.2.7.20. usb_d_ep_transfer
- 39.2.7.21. usb_d_ep_abort
- 39.2.7.22. usb_d_ep_get_status
- 39.2.7.23. usb_d_ep_halt
- 39.2.7.24. usb_d_get_version
- 39.3. USB Host Driver
- 39.3.1. Summary of the API's Functional Features
- 39.3.2. Dependencies
- 39.3.3. Functions
- 39.3.3.1. usb_h_init
- 39.3.3.2. usb_h_deinit
- 39.3.3.3. usb_h_enable
- 39.3.3.4. usb_h_disable
- 39.3.3.5. usb_h_register_callback
- 39.3.3.6. usb_h_get_frame_n
- 39.3.3.7. usb_h_get_microframe_n
- 39.3.3.8. usb_h_suspend
- 39.3.3.9. usb_h_resume
- 39.3.3.10. usb_h_rh_reset
- 39.3.3.11. usb_h_rh_suspend
- 39.3.3.12. usb_h_rh_resume
- 39.3.3.13. usb_h_rh_check_status
- 39.3.3.14. usb_h_pipe_allocate
- 39.3.3.15. usb_h_pipe_free
- 39.3.3.16. usb_h_pipe_set_control_param
- 39.3.3.17. usb_h_pipe_register_callback
- 39.3.3.18. usb_h_control_xfer
- 39.3.3.19. usb_h_bulk_int_iso_xfer
- 39.3.3.20. usb_h_high_bw_out
- 39.3.3.21. usb_h_pipe_is_busy
- 39.3.3.22. usb_h_pipe_abort
- 39.3.3.23. usb_h_get_version
- 40. Utility Drivers
- 40.1. List
- 40.2. Ring Buffer
- 40.3. Utility Macros
- 40.3.1. Defines
- 40.3.1.1. CONTAINER_OF
- 40.3.1.2. ARRAY_SIZE
- 40.3.1.3. COMPILER_PRAGMA
- 40.3.1.4. COMPILER_PACK_SET
- 40.3.1.5. COMPILER_PACK_RESET
- 40.3.1.6. LE_BYTE0
- 40.3.1.7. LE_BYTE1
- 40.3.1.8. LE_BYTE2
- 40.3.1.9. LE_BYTE3
- 40.3.1.10. LE_2_U16
- 40.3.1.11. LE_2_U32
- 40.3.1.12. size_of_mask
- 40.3.1.13. pos_of_mask
- 40.3.1.14. round_up
- 40.3.1.15. min
- 40.3.1.16. max
- 40.3.2. Typedefs
- 40.3.3. Zero-Bit Counting
- 40.3.1. Defines
- 41. WDT Driver
- 42. Revision History
- The Microchip Web Site
- Customer Change Notification Service
- Customer Support
- Microchip Devices Code Protection Feature
- Legal Notice
- Trademarks
- Quality Management System Certified by DNV
- Worldwide Sales and Service