Contents
Advanced Software Framework Version 4 (ASF4) Introduction and Context
Introduction to ASF4
ASF4: Atmel START, Software Content and IDEs
Quick Start and Workflow Overview
Documentation Resources
ASFv4 vs ASFv3 Benchmark
Software Architecture
Peripheral Driver - Architecture Overview
Driver Use-cases, Types, and Variants
ASF4 Project Folder Structure
System Initialization
Root Level Files
Examples Folder
Pin Configuration
Config Folder
Hardware Abstraction Layer (HAL)
Mandatory Driver Functionality
I/O System
Hardware Proxy Layer (HPL)
Hardware Register Interface (HRI)
RTOS Support
ASF4 Project Folder Structure - Full
Driver Implementation and Design Conventions
ASF4 and Atmel START Configuration
Driver Implementation
Design Conventions
Toolchain and Device-specific Support
Embedded Software Coding Style
AC Drivers
AC Asynchronous Driver
Structs
ac_callbacks Struct
ac_async_descriptor Struct
Enums
ac_callback_type Enum
Typedefs
ac_cb_t typedef
Functions
ac_async_init
ac_async_deinit
ac_async_enable
ac_async_disable
ac_async_register_callback
ac_async_start_comparison
ac_async_stop_comparison
ac_async_get_version
AC Synchronous Driver
Structs
ac_sync_descriptor Struct
Functions
ac_sync_init
ac_sync_deinit
ac_sync_enable
ac_sync_disable
ac_sync_get_result
ac_sync_start_comparison
ac_sync_stop_comparison
ac_sync_get_version
ADC Drivers
ADC Asynchronous Driver
Structs
adc_async_callbacks Struct
adc_async_ch_callbacks Struct
adc_async_channel_descriptor Struct
adc_async_descriptor Struct
Enums
adc_async_callback_type Enum
Typedefs
adc_async_cb_t typedef
Functions
adc_async_init
adc_async_deinit
adc_async_register_channel_buffer
adc_async_enable_channel
adc_async_disable_channel
adc_async_register_callback
adc_async_read_channel
adc_async_start_conversion
adc_async_set_reference
adc_async_set_resolution
adc_async_set_inputs
adc_async_set_conversion_mode
adc_async_set_channel_differential_mode
adc_async_set_channel_gain
adc_async_set_window_mode
adc_async_set_thresholds
adc_async_get_threshold_state
adc_async_is_channel_conversion_complete
adc_async_flush_rx_buffer
adc_async_get_version
ADC DMA Driver
Structs
adc_dma_callbacks Struct
adc_dma_descriptor Struct
Enums
adc_dma_callback_type Enum
Typedefs
adc_dma_cb_t typedef
Functions
adc_dma_init
adc_dma_deinit
adc_dma_enable_channel
adc_dma_disable_channel
adc_dma_register_callback
adc_dma_read
adc_dma_start_conversion
adc_dma_set_reference
adc_dma_set_resolution
adc_dma_set_inputs
adc_dma_set_conversion_mode
adc_dma_set_channel_differential_mode
adc_dma_set_channel_gain
adc_dma_set_window_mode
adc_dma_set_thresholds
adc_dma_get_threshold_state
adc_dma_is_conversion_complete
adc_dma_get_version
ADC RTOS Driver
Structs
adc_os_channel_descriptor Struct
adc_os_descriptor Struct
Functions
adc_os_init
adc_os_deinit
adc_os_register_channel_buffer
adc_os_enable_channel
adc_os_disable_channel
adc_os_read_channel
adc_os_start_conversion
adc_os_set_reference
adc_os_set_resolution
adc_os_set_inputs
adc_os_set_conversion_mode
adc_os_set_channel_differential_mode
adc_os_set_channel_gain
adc_os_set_window_mode
adc_os_set_thresholds
adc_os_get_threshold_state
adc_os_wait_channel_threshhold_reach
adc_os_flush_rx_buffer
adc_os_get_version
ADC Synchronous Driver
Structs
adc_sync_descriptor Struct
Functions
adc_sync_init
adc_sync_deinit
adc_sync_enable_channel
adc_sync_disable_channel
adc_sync_read_channel
adc_sync_set_reference
adc_sync_set_resolution
adc_sync_set_inputs
adc_sync_set_conversion_mode
adc_sync_set_channel_differential_mode
adc_sync_set_channel_gain
adc_sync_set_window_mode
adc_sync_set_thresholds
adc_sync_get_threshold_state
adc_sync_is_channel_conversion_complete
adc_sync_get_version
Analog Glue Function
Functions
custom_analog_init
custom_analog_deinit
custom_analog_enable
custom_analog_disable
Audio Driver
Audio DMA Driver
Structs
audio_dma_descriptor Struct
Enums
audio_dir Enum
audio_buffer_event Enum
Typedefs
audio_buffer_handler_t typedef
audio_buffer_cb typedef
Functions
audio_dma_init
audio_dma_deinit
audio_dma_enable
audio_dma_disable
audio_dma_register_callback
audio_dma_add_buffer
audio_dma_flush_buffer
audio_dma_get_buffer_size
audio_dma_get_version
CAN Driver
CAN Asynchronous Driver
Structs
can_callbacks Struct
can_async_descriptor Struct
Typedefs
can_cb_t typedef
Functions
can_async_init
can_async_deinit
can_async_enable
can_async_disable
can_async_read
can_async_write
can_async_register_callback
can_async_get_rxerr
can_async_get_txerr
can_async_set_mode
can_async_set_filter
can_async_get_version
CRC Driver
CRC Synchronous Driver
Structs
crc_sync_descriptor Struct
Functions
crc_sync_init
crc_sync_deinit
crc_sync_enable
crc_sync_disable
crc_sync_crc32
crc_sync_crc16
crc_sync_get_version
Calendar Drivers
Calendar Bare-bone Driver
Structs
calendar_alarm Struct
Typedefs
calendar_cb_alarm_t typedef
Functions
calendar_init
calendar_deinit
calendar_enable
calendar_disable
calendar_set_baseyear
calendar_set_time
calendar_set_date
calendar_get_date_time
calendar_set_alarm
calendar_get_version
Calendar RTOS Driver
Structs
calendar_os_descriptor Struct
calendar_os_alarm Struct
Defines
DEFAULT_BASE_YEAR
Typedefs
calendar_os_cb_alarm_t typedef
Functions
calendar_os_init
calendar_os_deinit
calendar_os_set_date_time
calendar_os_get_date_time
calendar_os_set_alarm
calendar_os_task
calendar_os_get_version
Camera Driver
Camera Asynchronous Driver
Structs
camera_async_descriptor Struct
Defines
CAMERA_ASYNC_DRIVER_VERSION
Typedefs
camera_async_cb_t typedef
Functions
camera_async_init
camera_async_deinit
camera_async_enable
camera_async_disable
camera_async_register_callback
camera_async_capture_start
camera_async_get_version
Cryptography (AES) Driver
AES Synchronous Driver
Structs
aes_sync_descriptor Struct
Functions
aes_sync_init
aes_sync_deinit
aes_sync_enable
aes_sync_disable
aes_sync_set_encrypt_key
aes_sync_set_decrypt_key
aes_sync_ecb_crypt
aes_sync_cbc_crypt
aes_sync_cfb128_crypt
aes_sync_cfb64_crypt
aes_sync_cfb32_crypt
aes_sync_cfb16_crypt
aes_sync_cfb8_crypt
aes_sync_ofb_crypt
aes_sync_ctr_crypt
aes_sync_gcm_crypt_and_tag
aes_sync_gcm_auth_decrypt
aes_sync_gcm_start
aes_sync_gcm_update
aes_sync_gcm_finish
aes_sync_ccm_crypt_and_tag
aes_sync_ccm_auth_decrypt
aes_sync_get_version
DAC Drivers
DAC Asynchronous Driver
Structs
dac_async_callbacks Struct
dac_async_channel Struct
dac_async_descriptor Struct
Enums
dac_async_callback_type Enum
Typedefs
dac_async_cb_t typedef
Functions
dac_async_init
dac_async_deinit
dac_async_enable_channel
dac_async_disable_channel
dac_async_register_callback
dac_async_write
dac_async_get_version
DAC RTOS Driver
Structs
dac_os_channel Struct
dac_os_descriptor Struct
Functions
dac_os_init
dac_os_deinit
dac_os_enable_channel
dac_os_disable_channel
dac_os_write
dac_os_get_version
DAC Synchronous Driver
Structs
dac_sync_channel Struct
dac_sync_descriptor Struct
Functions
dac_sync_init
dac_sync_deinit
dac_sync_enable_channel
dac_sync_disable_channel
dac_sync_write
dac_sync_get_version
Delay Driver
Functions
delay_init
delay_us
delay_ms
delay_get_version
Digital Glue Logic
Functions
custom_logic_init
custom_logic_deinit
custom_logic_enable
custom_logic_disable
Ethernet MAC Driver
Ethernet Asynchronous Driver
Structs
mac_async_callbacks Struct
mac_async_descriptor Struct
Typedefs
mac_async_cb_t typedef
mac_cb typedef
Functions
mac_async_init
mac_async_deinit
mac_async_enable
mac_async_disable
mac_async_write
mac_async_read
mac_async_read_len
mac_async_enable_irq
mac_async_disable_irq
mac_async_register_callback
mac_async_set_filter
mac_async_set_filter_ex
mac_async_write_phy_reg
mac_async_read_phy_reg
mac_async_get_version
Event System Driver
Functions
event_system_init
event_system_deinit
event_system_enable_user
event_system_disable_user
event_system_enable_generator
event_system_disable_generator
event_system_get_version
External Bus Driver
External IRQ Driver
Typedefs
ext_irq_cb_t typedef
Functions
ext_irq_init
ext_irq_deinit
ext_irq_register
ext_irq_enable
ext_irq_disable
ext_irq_get_version
Flash Driver
Structs
flash_callbacks Struct
flash_descriptor Struct
Enums
flash_cb_type Enum
Typedefs
flash_cb_t typedef
Functions
flash_init
flash_deinit
flash_write
flash_append
flash_read
flash_register_callback
flash_lock
flash_unlock
flash_erase
flash_get_page_size
flash_get_total_pages
flash_get_version
Frequency Meter Drivers
Frequency Meter Asynchronous Driver
Structs
freqmeter_async_callbacks Struct
freqmeter_async_descriptor Struct
Enums
freqmeter_async_callback_type Enum
Typedefs
freqmeter_cb_t typedef
Functions
freqmeter_async_init
freqmeter_async_deinit
freqmeter_async_enable
freqmeter_async_disable
freqmeter_async_start
freqmeter_async_register_callback
freqmeter_async_set_measurement_period
freqmeter_async_set_measurement_parameter
freqmeter_async_read
freqmeter_async_flush_rx_buffer
freqmeter_async_get_version
Frequency Meter Synchronous Driver
Structs
freqmeter_sync_descriptor Struct
Functions
freqmeter_sync_init
freqmeter_sync_deinit
freqmeter_sync_enable
freqmeter_sync_disable
freqmeter_sync_set_measurement_period
freqmeter_sync_set_measurement_parameter
freqmeter_sync_read
freqmeter_sync_get_version
Graphic LCD Driver
Defines
HAL_LCD_DRIVER_VERSION
Functions
lcd_init
lcd_deinit
lcd_enable
lcd_disable
lcd_set_lut_entry
lcd_set_alpha
lcd_set_position
lcd_set_size
lcd_set_visible
lcd_show
lcd_show_streams
lcd_get_version
Graphics Processing Unit Driver(2D)
Defines
HAL_GPU_ASYNC_DRIVER_VERSION
Functions
gpu_async_init
gpu_async_deinit
gpu_async_enable
gpu_async_disable
gpu_async_fill
gpu_async_copy
gpu_async_blend
gpu_async_register_callback
gpu_async_get_version
Hash Algorithm Driver
SHA Synchronous Driver
Structs
sha_sync_descriptor Struct
Functions
sha_sync_init
sha_sync_deinit
sha_sync_enable
sha_sync_disable
sha_sync_sha1_start
sha_sync_sha256_start
sha_sync_sha1_update
sha_sync_sha256_update
sha_sync_sha1_finish
sha_sync_sha256_finish
sha_sync_sha1_compute
sha_sync_sha256_compute
sha_sync_get_version
Helper Drivers
Atomic Driver
Defines
CRITICAL_SECTION_ENTER
CRITICAL_SECTION_LEAVE
Typedefs
hal_atomic_t typedef
Functions
atomic_enter_critical
atomic_leave_critical
atomic_get_version
I/O Driver
Structs
io_descriptor Struct
Typedefs
io_write_t typedef
io_read_t typedef
Functions
io_write
io_read
Init Driver
Functions
init_mcu
init_get_version
Reset Driver
Functions
reset_mcu
get_reset_reason
reset_get_version
Sleep Driver
Functions
sleep
sleep_get_version
I2C Drivers
I2C Master Asynchronous Driver
Structs
i2c_m_async_status Struct
i2c_m_async_callback Struct
i2c_m_async_desc Struct
Defines
I2C_M_MAX_RETRY
Enums
i2c_m_async_callback_type Enum
Typedefs
i2c_complete_cb_t typedef
i2c_error_cb_t typedef
Functions
i2c_m_async_init
i2c_m_async_deinit
i2c_m_async_set_slaveaddr
i2c_m_async_register_callback
i2c_m_async_set_baudrate
i2c_m_async_enable
i2c_m_async_disable
i2c_m_async_cmd_write
i2c_m_async_cmd_read
i2c_m_async_transfer
i2c_m_async_send_stop
i2c_m_async_get_status
i2c_m_async_get_io_descriptor
i2c_m_get_version
I2C Master RTOS Driver
Structs
i2c_m_os_desc Struct
Functions
i2c_m_os_init
i2c_m_os_deinit
i2c_m_os_set_slaveaddr
i2c_m_os_set_baudrate
i2c_m_os_enable
i2c_m_os_disable
i2c_m_os_transfer
i2c_m_os_send_stop
i2c_m_os_get_io
i2c_m_get_version
I2C Master Synchronous Driver
Structs
i2c_m_sync_desc Struct
Defines
I2C_M_MAX_RETRY
Functions
i2c_m_sync_init
i2c_m_sync_deinit
i2c_m_sync_set_slaveaddr
i2c_m_sync_set_baudrate
i2c_m_sync_enable
i2c_m_sync_disable
i2c_m_sync_cmd_write
i2c_m_sync_cmd_read
i2c_m_sync_transfer
i2c_m_sync_send_stop
i2c_m_sync_get_io_descriptor
i2c_m_sync_get_version
I2C Slave Asynchronous Driver
Structs
i2c_s_async_callbacks Struct
i2c_s_async_descriptor Struct
Enums
i2c_s_async_callback_type Enum
Typedefs
i2c_s_async_cb_t typedef
Functions
i2c_s_async_init
i2c_s_async_deinit
i2c_s_async_set_addr
i2c_s_async_register_callback
i2c_s_async_enable
i2c_s_async_disable
i2c_s_async_get_io_descriptor
i2c_s_async_get_bytes_received
i2c_s_async_get_bytes_sent
i2c_s_async_flush_rx_buffer
i2c_s_async_abort_tx
i2c_s_async_get_status
i2c_s_async_get_version
I2C Slave Synchronous Driver
Structs
i2c_s_sync_descriptor Struct
Functions
i2c_s_sync_init
i2c_s_sync_deinit
i2c_s_sync_set_addr
i2c_s_sync_enable
i2c_s_sync_disable
i2c_s_sync_get_io_descriptor
i2c_s_sync_get_status
i2c_s_sync_get_version
I2S Controller Driver
I2S Controller Synchronous Driver
Structs
i2s_c_sync_desc Struct
Enums
i2s_c_iface Enum
Functions
i2s_c_sync_init
i2s_c_sync_deinit
i2s_c_sync_enable
i2s_c_sync_disable
i2s_c_sync_set_ws_length
i2s_c_sync_set_sck_div
i2s_c_sync_get_version
MCI Drivers
MCI RTOS Driver
Structs
mci_os_desc Struct
Functions
mci_os_init
mci_os_deinit
mci_os_select_device
mci_os_deselect_device
mci_os_get_bus_width
mci_os_is_high_speed_capable
mci_os_send_init_sequence
mci_os_send_cmd
mci_os_get_response
mci_os_get_response_128
mci_os_adtc_start
mci_os_adtc_stop
mci_os_read_bytes
mci_os_write_bytes
mci_os_start_read_blocks
mci_os_start_write_blocks
mci_os_wait_end_of_read_blocks
mci_os_wait_end_of_write_blocks
mci_os_get_version
MCI Synchronous Driver
Structs
mci_sync_desc Struct
Functions
mci_sync_init
mci_sync_deinit
mci_sync_select_device
mci_sync_deselect_device
mci_sync_get_bus_width
mci_sync_is_high_speed_capable
mci_sync_send_clock
mci_sync_send_cmd
mci_sync_get_response
mci_sync_get_response_128
mci_sync_adtc_start
mci_sync_adtc_stop
mci_sync_read_word
mci_sync_write_word
mci_sync_start_read_blocks
mci_sync_start_write_blocks
mci_sync_wait_end_of_read_blocks
mci_sync_wait_end_of_write_blocks
mci_sync_get_version
PAC Driver
Functions
periph_lock
periph_unlock
periph_get_lock_state
pac_get_version
PWM Driver
PWM Asynchronous Driver
Structs
pwm_callbacks Struct
pwm_descriptor Struct
Enums
pwm_callback_type Enum
Typedefs
pwm_cb_t typedef
Functions
pwm_init
pwm_deinit
pwm_enable
pwm_disable
pwm_register_callback
pwm_set_parameters
pwm_get_version
Position Decoder Driver
PDEC Asynchronous Driver
Structs
pdec_async_callbacks Struct
pdec_async_descriptor Struct
Typedefs
pdec_async_position_cb_t typedef
pdec_async_irq_cb_t typedef
Functions
pdec_async_init
pdec_async_deinit
pdec_async_enable
pdec_async_disable
pdec_async_write_position
pdec_async_read_position
pdec_async_set_up_threshold
pdec_async_set_low_threshold
pdec_async_register_callback
pdec_async_get_version
Quad SPI Drivers
Quad SPI DMA Driver
Structs
qspi_dma_descriptor Struct
Functions
qspi_dma_init
qspi_dma_deinit
qspi_dma_enable
qspi_dma_disable
qspi_dma_serial_run_command
qspi_dma_register_callback
qspi_dma_get_version
Quad SPI Synchronous Driver
Structs
qspi_sync_descriptor Struct
Functions
qspi_sync_init
qspi_sync_deinit
qspi_sync_enable
qspi_sync_disable
qspi_sync_serial_run_command
qspi_sync_get_version
RAND Driver
RAND Synchronous Driver
Structs
rand_sync_desc Struct
Functions
rand_sync_init
rand_sync_deinit
rand_sync_enable
rand_sync_disable
rand_sync_set_seed
rand_sync_read8
rand_sync_read32
rand_sync_read_buf8
rand_sync_read_buf32
rand_sync_get_version
SPI Drivers
SPI Master Asynchronous Driver
Structs
spi_m_async_status Struct
spi_m_callbacks Struct
spi_m_async_descriptor Struct
Defines
SPI_M_ASYNC_STATUS_BUSY
SPI_M_ASYNC_STATUS_TX_DONE
SPI_M_ASYNC_STATUS_RX_DONE
SPI_M_ASYNC_STATUS_COMPLETE
SPI_M_ASYNC_STATUS_ERR_MASK
SPI_M_ASYNC_STATUS_ERR_POS
SPI_M_ASYNC_STATUS_ERR_OVRF
SPI_M_ASYNC_STATUS_ERR_ABORT
SPI_M_ASYNC_STATUS_ERR_EXTRACT
Enums
spi_m_async_cb_type Enum
Typedefs
spi_m_async_cb_error_t typedef
spi_m_async_cb_xfer_t typedef
Functions
spi_m_async_init
spi_m_async_deinit
spi_m_async_enable
spi_m_async_disable
spi_m_async_set_baudrate
spi_m_async_set_mode
spi_m_async_set_char_size
spi_m_async_set_data_order
spi_m_async_transfer
spi_m_async_get_status
spi_m_async_register_callback
spi_m_async_get_io_descriptor
spi_m_async_get_version
SPI Master DMA Driver
Structs
spi_m_dma_descriptor Struct
Enums
spi_m_dma_cb_type Enum
Typedefs
spi_m_dma_cb_t typedef
Functions
spi_m_dma_init
spi_m_dma_deinit
spi_m_dma_enable
spi_m_dma_disable
spi_m_dma_set_baudrate
spi_m_dma_set_mode
spi_m_dma_set_char_size
spi_m_dma_set_data_order
spi_m_dma_transfer
spi_m_dma_register_callback
spi_m_dma_get_io_descriptor
spi_m_dma_get_version
SPI Master RTOS Driver
Structs
spi_m_os_descriptor Struct
Functions
spi_m_os_init
spi_m_os_deinit
spi_m_os_enable
spi_m_os_disable
spi_m_os_set_baudrate
spi_m_os_set_mode
spi_m_os_set_char_size
spi_m_os_set_data_order
spi_m_os_transfer
spi_m_os_get_io_descriptor
spi_m_os_get_version
SPI Master Synchronous Driver
Structs
spi_m_sync_descriptor Struct
Functions
spi_m_sync_init
spi_m_sync_deinit
spi_m_sync_enable
spi_m_sync_disable
spi_m_sync_set_baudrate
spi_m_sync_set_mode
spi_m_sync_set_char_size
spi_m_sync_set_data_order
spi_m_sync_transfer
spi_m_sync_get_io_descriptor
spi_m_sync_get_version
SPI Slave Asynchronous Driver
Structs
spi_s_async_status Struct
spi_s_async_callbacks Struct
spi_s_async_descriptor Struct
Enums
spi_s_async_cb_type Enum
Typedefs
spi_s_async_cb_complete_t typedef
spi_s_async_cb_xfer_t typedef
Functions
spi_s_async_init
spi_s_async_deinit
spi_s_async_enable
spi_s_async_disable
spi_s_async_set_mode
spi_s_async_set_char_size
spi_s_async_set_data_order
spi_s_async_get_status
spi_s_async_register_callback
spi_s_async_flush_rx_buffer
spi_s_async_abort_tx
spi_s_async_get_io_descriptor
spi_s_async_get_version
SPI Slave Synchronous Driver
Structs
spi_s_sync_descriptor Struct
Functions
spi_s_sync_init
spi_s_sync_deinit
spi_s_sync_enable
spi_s_sync_disable
spi_s_sync_set_mode
spi_s_sync_set_char_size
spi_s_sync_set_data_order
spi_s_sync_break_on_ss_detect
spi_s_sync_transfer
spi_s_sync_get_io_descriptor
spi_s_sync_get_version
Segment LCD Drivers
Segment LCD Synchronous Driver
Structs
slcd_sync_descriptor Struct
Functions
slcd_sync_init
slcd_sync_deinit
slcd_sync_enable
slcd_sync_disable
slcd_sync_seg_on
slcd_sync_seg_off
slcd_sync_seg_blink
slcd_sync_write_char
slcd_sync_write_string
slcd_sync_start_animation
slcd_sync_stop_animation
slcd_sync_set_animation_period
Temperature Sensor Drivers
Temperature Sensor Asynchronous Driver
Structs
temp_async_callbacks Struct
temp_async_descriptor Struct
Enums
temp_async_callback_type Enum
Typedefs
temp_ready_cb_t typedef
temp_window_cb_t typedef
Functions
temp_async_init
temp_async_deinit
temp_async_enable
temp_async_disable
temp_async_read
temp_async_set_window_monitor
temp_async_start_window_monitor
temp_async_stop_window_monitor
temp_async_register_callback
temp_async_get_version
Temperature Sensor Synchronous Driver
Structs
temp_sync_descriptor Struct
Functions
temp_sync_init
temp_sync_deinit
temp_sync_enable
temp_sync_disable
temp_sync_read
temp_sync_get_version
Timer Driver
Structs
timer_task Struct
timer_descriptor Struct
Enums
timer_task_mode Enum
Typedefs
timer_cb_t typedef
Functions
timer_init
timer_deinit
timer_start
timer_stop
timer_set_clock_cycles_per_tick
timer_get_clock_cycles_in_tick
timer_add_task
timer_remove_task
timer_get_version
USART Drivers
USART Asynchronous Driver
Structs
usart_async_callbacks Struct
usart_async_status Struct
usart_async_descriptor Struct
Defines
USART_ASYNC_STATUS_BUSY
Enums
usart_async_callback_type Enum
Typedefs
usart_cb_t typedef
Functions
usart_async_init
usart_async_deinit
usart_async_enable
usart_async_disable
usart_async_get_io_descriptor
usart_async_register_callback
usart_async_set_flow_control
usart_async_set_baud_rate
usart_async_set_data_order
usart_async_set_mode
usart_async_set_parity
usart_async_set_stopbits
usart_async_set_character_size
usart_async_flow_control_status
usart_async_is_tx_empty
usart_async_is_rx_not_empty
usart_async_get_status
usart_async_flush_rx_buffer
usart_async_get_version
USART DMA Driver
Structs
usart_dma_descriptor Struct
Functions
usart_dma_init
usart_dma_deinit
usart_dma_enable
usart_dma_disable
usart_dma_get_io_descriptor
usart_dma_register_callback
usart_dma_set_baud_rate
usart_dma_set_data_order
usart_dma_set_mode
usart_dma_set_parity
usart_dma_set_stopbits
usart_dma_set_character_size
_usart_dma_set_flow_control_state
usart_dma_get_version
USART RTOS Driver
Structs
usart_os_descriptor Struct
Functions
usart_os_init
usart_os_deinit
usart_os_enable
usart_os_disable
usart_os_get_io
usart_os_set_flow_control
usart_os_set_baud_rate
usart_os_set_data_order
usart_os_set_mode
usart_os_set_parity
usart_os_set_stopbits
usart_os_set_character_size
usart_os_flow_control_status
usart_os_flush_rx_buffer
usart_os_get_version
USART Synchronous Driver
Structs
usart_sync_descriptor Struct
Functions
usart_sync_init
usart_sync_deinit
usart_sync_enable
usart_sync_disable
usart_sync_get_io_descriptor
usart_sync_set_flow_control
usart_sync_set_baud_rate
usart_sync_set_data_order
usart_sync_set_mode
usart_sync_set_parity
usart_sync_set_stopbits
usart_sync_set_character_size
usart_sync_flow_control_status
usart_sync_is_tx_empty
usart_sync_is_rx_not_empty
usart_sync_get_version
USB Drivers
USB Device Driver
Structs
usb_d_ep_status Struct
usb_d_callbacks Struct
Typedefs
usb_d_sof_cb_t typedef
usb_d_event_cb_t typedef
usb_d_ep_cb_setup_t typedef
usb_d_ep_cb_more_t typedef
usb_d_ep_cb_xfer_t typedef
Functions
usb_d_init
usb_d_deinit
usb_d_register_callback
usb_d_enable
usb_d_disable
usb_d_attach
usb_d_detach
usb_d_get_speed
usb_d_get_frame_num
usb_d_get_uframe_num
usb_d_set_address
usb_d_send_remotewakeup
usb_d_ep0_init
usb_d_ep_init
usb_d_ep_deinit
usb_d_ep_register_callback
usb_d_ep_enable
usb_d_ep_disable
usb_d_ep_get_req
usb_d_ep_transfer
usb_d_ep_abort
usb_d_ep_get_status
usb_d_ep_halt
usb_d_get_version
USB Host Driver
Functions
usb_h_init
usb_h_deinit
usb_h_enable
usb_h_disable
usb_h_register_callback
usb_h_get_frame_n
usb_h_get_microframe_n
usb_h_suspend
usb_h_resume
usb_h_rh_reset
usb_h_rh_suspend
usb_h_rh_resume
usb_h_rh_check_status
usb_h_pipe_allocate
usb_h_pipe_free
usb_h_pipe_set_control_param
usb_h_pipe_register_callback
usb_h_control_xfer
usb_h_bulk_int_iso_xfer
usb_h_high_bw_out
usb_h_pipe_is_busy
usb_h_pipe_abort
usb_h_get_version
Utility Drivers
List
Structs
list_element Struct
list_descriptor Struct
Functions
list_reset
list_get_head
list_get_next_element
list_insert_as_head
list_insert_after
list_insert_at_end
is_list_element
list_remove_head
list_delete_element
Ring Buffer
Structs
ringbuffer Struct
Functions
ringbuffer_init
ringbuffer_get
ringbuffer_put
ringbuffer_num
ringbuffer_flush
Utility Macros
Defines
CONTAINER_OF
ARRAY_SIZE
COMPILER_PRAGMA
COMPILER_PACK_SET
COMPILER_PACK_RESET
LE_BYTE0
LE_BYTE1
LE_BYTE2
LE_BYTE3
LE_2_U16
LE_2_U32
size_of_mask
pos_of_mask
round_up
min
max
Typedefs
FUNC_PTR typedef
Zero-Bit Counting
clz
ctz
WDT Driver
Structs
wdt_descriptor Struct
Functions
wdt_init
wdt_deinit
wdt_set_timeout_period
wdt_get_timeout_period
wdt_enable
wdt_disable
wdt_feed
wdt_get_version
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