MSPM0 SDK 示例指南¶
1.引言¶
MSPM0 SDK 随附大量代码示例, 可帮助工程师使用德州仪器 (TI) 的 MSPM0 系列微控制器开发应用。
示例文件夹分为 RTOS 和非 RTOS 子文件夹(目前 仅支持非 RTOS)。这些文件夹包含每个 LaunchPad 的示例,并根据功能进行整理,例如较低层的 Driverlib 示例、较高层的 TI 驱动程序示例,以及 GUI Composer、LIN、IQMath 等中间层的示例。
一些示例支持 SysConfig, 可简化器件配置并加快软件开发。 请参阅“SDK 快速入门指南”,更详细地了解如何 开始使用 SysConfig 并在下面各节中搜索 SysConfig 字符 。
2.MSPM0 SDK 示例¶
2.1 演示¶
MSPM0 SDK 包含多个演示,展示了 各种器件的功能。
每个演示都自带文档、完整的源代码,以及对应 其所支持的不同 IDE 和编译器的工程文件, 因而使得演示简单易用。
敬请期待更多示例和功能。
工程名称 | 说明 | EVM | |
---|---|---|---|
LP_MSPM0G3507 | LP_MSPM0L1306 | ||
blood_pressure_monitor | Blood Pressure Monitor demos | 否 | 是 |
bq769x2_control_i2c | Demonstrate BQ769x2 control through I2C | 否 | |
dualray_smoke_detector | Dualray smoke detector demo | 否 | |
one_wire | 1-wire target emulating a EEPROM interface | 否 | |
out_of_box | Out of Box experience for MSPM0 LaunchPads | 是 | 是 |
pulse_oximeter | Pulse oximeter demos | 否 |
2.2 DriverLib¶
DriverLib 是一组底层驱动程序,可提供用于 访问 MSPM0 寄存器和完整器件功能的 API。
以下示例使用 Driverlib API 演示了 器件功能,既涵盖了切换 GPIO 输出引脚等简单用例, 也介绍了使用多个外设的更复杂 用例。
每个示例都自带文档、完整的源代码,以及 对应其所支持的不同 IDE 和编译器的工程文件, 因而使得示例简单易用。
2.2.1 AES Accelerator (AES)¶
工程名称 | 说明 | EVM | |
---|---|---|---|
LP_MSPM0G3507 | LP_MSPM0L1306 | ||
aes_cbc_256_enc_dec | AES256 CBC encryption and decryption example | 否 | |
aes_cfb_256_decrypt | AES CFB 256 bit decryption example | 否 | |
aes_ofb_128_encrypt | AES OFB 128 bit encryption example | 否 |
2.2.2 Analog-to-Digital Converter (ADC)¶
工程名称 | 说明 | EVM | |
---|---|---|---|
LP_MSPM0G3507 | LP_MSPM0L1306 | ||
adc12_14bit_resolution | ADC12 conversion at maximum frequency using DMA with hardware averaging enabled | ||
adc12_internal_temp_sensor_mathacl | ADC12 samples internal temperature sensor and converts reading to Celsius and Fahrenheit degrees | 否 | |
adc12_max_freq_dma | ADC12 conversion at maximum frequency using DMA | ||
adc12_max_freq_dma_8bit | ADC12 conversion at maximum frequency using DMA in 8 bit resolution | ||
adc12_monitor_supply | ADC12 monitors voltage supply channel | ||
adc12_sequence_conversion | Demonstrate configuring ADC to trigger sequence of conversions on 4 different channels | ||
adc12_simultaneous_trigger_event | Dual ADC12 conversion triggered by a Timer event | 否 | |
adc12_simultaneous_trigger_event_stop | Dual ADC12 conversion triggered by a Timer event while in STOP mode | 否 | |
adc12_single_conversion | ADC12 simple single conversion triggered by software | ||
adc12_single_conversion_vref_external | ADC12 single conversion triggered by software using external reference | ||
adc12_single_conversion_vref_internal | ADC12 single conversion triggered by software using internal VREF | ||
adc12_triggered_by_timer_event | ADC12 conversion triggered by a Timer event | ||
adc12_triggered_by_timer_event_stop | ADC12 conversion triggered by a Timer event while in STOP mode | ||
adc12_window_comparator | ADC12 single conversion in repeat mode using window comparator feature |
2.2.3 Comparator (COMP)¶
工程名称 | 说明 | EVM | |
---|---|---|---|
LP_MSPM0G3507 | LP_MSPM0L1306 | ||
comp_analog_filter | Comparator using external inputs with hysteresis and output analog filter | ||
comp_dac_to_timer_event | Comparator output using 8-bit DAC triggers a timer event to measure timing | ||
comp_hs_dac_vref_external | Comparator in high-speed mode using 8-bit DAC with external VREF | ||
comp_hs_tima_pwm_fault | Comparator in high-speed mode triggers a TIMA fault | 否 | |
comp_lp_dac_vref_internal | Comparator in low-power mode using 8-bit DAC with internal VREF | 否 |
2.2.4 Controller Area Network (CAN)¶
工程名称 | 说明 | EVM | |
---|---|---|---|
LP_MSPM0G3507 | LP_MSPM0L1306 | ||
mcan_loopback | MCAN transmits and receives messages using loopback mode | 否 | |
mcan_message_rx | Example configured to receive CAN and CAN-FD frames | 否 | |
mcan_message_rx_tcan114x | Example configured to receive CAN and CAN-FD frames using BOOSTXL-TCAN1145 boosterpack. | 否 | |
mcan_multi_message_tx | CAN-FD transmits two messages with unique ID on GPIO interrupt | 否 | |
mcan_multi_message_tx_tcan114x | CAN-FD transmits two messages with unique ID on GPIO interrupt using BOOSTXL-TCAN1145 boosterpack. | 否 | |
mcan_single_message_tx | CAN-FD transmits a single message on GPIO interrupt | 否 |
2.2.5 Cyclic Redundancy Check (CRC)¶
工程名称 | 说明 | EVM | |
---|---|---|---|
LP_MSPM0G3507 | LP_MSPM0L1306 | ||
crc_calculate_checksum | CRC32 checksum calculation of a memory block | ||
crc_calculate_checksum_dma | CRC32 checksum calculation of a memory block using DMA block transfer |
2.2.6 Digital-to-Analog Converter (DAC)¶
工程名称 | 说明 | EVM | |
---|---|---|---|
LP_MSPM0G3507 | LP_MSPM0L1306 | ||
dac12_dma_sampletimegen | DAC12 using DMA with sample time generator to generate sine wave | 否 | |
dac12_fifo_sampletimegen | DAC12 sending repetitive signal using FIFO and sample timer generator | 否 | |
dac12_fifo_timer_event | DAC12 sending a sawtooth signal using FIFO and triggered by a Timer event | 否 | |
dac12_fixed_voltage_vref_internal | DAC12 setting a fixed voltage output | 否 |
2.2.7 Direct Memory Access (DMA)¶
工程名称 | 说明 | EVM | |
---|---|---|---|
LP_MSPM0G3507 | LP_MSPM0L1306 | ||
dma_block_transfer | DMA copies from Flash main memory to SRAM memory | ||
dma_fill_data | DMA memory fill of SRAM using DMA | ||
dma_table_transfer | DMA using Table mode with DMA |
2.2.8 Events Manager¶
工程名称 | 说明 | EVM | |
---|---|---|---|
LP_MSPM0G3507 | LP_MSPM0L1306 | ||
event_input_triggers_output | Event configuration to toggle LED when switch is pressed |
2.2.9 GPIO¶
工程名称 | 说明 | EVM | |
---|---|---|---|
LP_MSPM0G3507 | LP_MSPM0L1306 | ||
gpio_input_capture | GPIO triggers interrupt by input capture pin | ||
gpio_simultaneous_interrupts | Demonstrates how to simultaneously service three GPIO interrupts | 否 | |
gpio_software_poll | GPIO output is set based on polled input | ||
gpio_toggle_output | GPIO toggling an output pin | ||
gpio_toggle_output_cpp | GPIO toggling output pins using C++ | ||
gpio_toggle_output_hiz | GPIO toggling an ouputput pin configured as Hi-Z |
2.2.10 General-Purpose Amplifier (GPAMP)¶
工程名称 | 说明 | EVM | |
---|---|---|---|
LP_MSPM0G3507 | LP_MSPM0L1306 | ||
gpamp_buffer_to_adc | GPAmp configured in buffer mode with output to ADC | ||
gpamp_general_purpose_rri | GPAmp configured in general purpose Rail-to-Rail mode |
2.2.11 Inter-Integrated Circuit (I2C)¶
工程名称 | 说明 | EVM | |
---|---|---|---|
LP_MSPM0G3507 | LP_MSPM0L1306 | ||
i2c_controller_rw_multibyte_fifo_interrupts | I2C Controller reading and writing multiple bytes using interrupts with FIFO | ||
i2c_controller_rw_multibyte_fifo_poll | I2C Controller reading and writing multiple bytes polling FIFO | ||
i2c_controller_target_dynamic_switching | I2C dynamic switching between Controller and Target modes | ||
i2c_multicontroller_arbitration | I2C Controller detecting arbitration error | ||
i2c_target_rw_multibyte_fifo_interrupts | I2C Target reading and writing multiple bytes using interrupts | ||
i2c_target_rw_multibyte_fifo_interrupts_stop | I2C Target reading and writing multiple bytes using interrupts while in STOP mode | ||
i2c_target_rw_multibyte_fifo_poll | I2C Target reading and writing multiple bytes polling FIFO |
2.2.12 Math Accelerator (MATHACL)¶
工程名称 | 说明 | EVM | |
---|---|---|---|
LP_MSPM0G3507 | LP_MSPM0L1306 | ||
mathacl_mpy_div_op | MATHACL multiply and divide using fixed point | 否 | |
mathacl_trig_op | MATHACL implementation of trigonometric functions | 否 |
2.2.13 Non-Volatile Memory (FLASHCTL)¶
工程名称 | 说明 | EVM | |
---|---|---|---|
LP_MSPM0G3507 | LP_MSPM0L1306 | ||
flashctl_blank_verify | Implementation of Flash Blank Verify command | ||
flashctl_dynamic_memory_protection | Flash configured with dynamic protection | ||
flashctl_ecc_error_injection | Flash ECC testing and SEC and DED error detection | 否 | |
flashctl_multiple_size_read_verify | Implementation of Flash read verify commands on multiple data sizes, with and without ECC | ||
flashctl_multiple_size_write | Flash writing of different size data | ||
flashctl_nonmain_memory_write | Read-write of Non-Main Flash memory | ||
flashctl_program_with_ecc | Flash programming with ECC | 否 |
2.2.14 Operational Amplifier (OPA)¶
工程名称 | 说明 | EVM | |
---|---|---|---|
LP_MSPM0G3507 | LP_MSPM0L1306 | ||
opa_burnout_current_source_to_adc | OPA in buffer mode enabling burnout current source to ADC | ||
opa_dac8_output_buffer | OPA in output buffer mode using 8-bit DAC | ||
opa_general_purpose_rri | OPA in general purpose mode with Rail-to-Rail configuration | ||
opa_inverting_pga_with_dac | OPA in inverting PGA configuration using DAC12 as bias | 否 | |
opa_non_inverting_pga | OPA in non-inverting PGA configuration | ||
opa_signal_chain_to_adc | Two OPAs configured in TIA and PGA, connected to ADC | 否 |
2.2.15 Other¶
工程名称 | 说明 | EVM | |
---|---|---|---|
LP_MSPM0G3507 | LP_MSPM0L1306 | ||
cinit_bypass | Bypass CINIT skipping variable initialization | ||
empty | Empty start-up project using DriverLib | ||
empty_cpp | Empty C++ start-up project using DriverLib | ||
empty_driverlib_src | Empty start-up project using DriverLib | ||
empty_library | Empty start-up library project using DriverLib | 是 | 是 |
nvic_interrupt_disable | NVIC used to demonstrate best approach to disable interrupts | ||
nvic_interrupt_grouping | NVIC configuration and use of interrupt grouping | ||
sram_parity | Initializes and uses Parity SRAM | 否 | |
systick_periodic_timer | SysTick generates periodic interrupt |
2.2.16 Real-Time Clock (RTC)¶
工程名称 | 说明 | EVM | |
---|---|---|---|
LP_MSPM0G3507 | LP_MSPM0L1306 | ||
rtc_calendar_alarm_standby | RTC sets calendar alarm and toggles GPIO when alarm is triggered | 否 | |
rtc_offset_calibration_lfxt | RTC offset correction of crystal | 否 | |
rtc_periodic_alarm_lfosc_standby | RTC implementation of periodic alarm in STANDBY using LFOSC | 否 | |
rtc_periodic_alarm_lfxt_standby | RTC implementation of periodic alarm in STANDBY using LFXT | 否 |
2.2.17 Serial Peripheral Interface (SPI)¶
工程名称 | 说明 | EVM | |
---|---|---|---|
LP_MSPM0G3507 | LP_MSPM0L1306 | ||
spi_controller_command_data_control | SPI Controller transmit using command data (CD) control | ||
spi_controller_echo_interrupts | SPI Controller transmits data using Motorola format | ||
spi_controller_internal_loopback_poll | SPI Controller with internal loopback using polling | ||
spi_controller_multibyte_fifo_dma_interrupts | SPI Controller reading and writing multiple bytes using FIFO and DMA | ||
spi_controller_multibyte_fifo_poll | SPI Controller reading and writing multiple bytes polling FIFO | ||
spi_controller_register_format | SPI Controller transmit and read data using register format | ||
spi_controller_repeated_multibyte_fifo_dma_interrupts | SPI Controller reading and writing multiple bytes using FIFO and DMA every second | ||
spi_peripheral_echo_interrupts | SPI Peripheral echoes data using Motorola format | ||
spi_peripheral_multibyte_fifo_dma_interrupts | SPI Peripheral reading and writing multiple bytes using FIFO and DMA | ||
spi_peripheral_multibyte_fifo_poll | SPI Peripheral reading and writing multiple bytes polling FIFO | ||
spi_peripheral_register_format | SPI Peripheral transmit and read data using register format | ||
spi_peripheral_repeated_multibyte_fifo_dma_interrupts | SPI Peripheral reading and writing multiple bytes using FIFO and DMA |
2.2.18 System Controller (SYSCTL)¶
工程名称 | 说明 | EVM | |
---|---|---|---|
LP_MSPM0G3507 | LP_MSPM0L1306 | ||
sysctl_frequency_clock_counter | Monitor SYSOSC via Frequency Clock Counter (FCC) | 否 | |
sysctl_hfxt_run | Sets external HFXT as source to HSCLK and MCLK (48MHz) | 否 | |
sysctl_lfxt_standby | Sets LFXT as source to LFCLK (32kHz) and power policy in STANDBY0 | 否 | |
sysctl_mclk_syspll | Sets MCLK to run from SYSPLL (80MHz) | 否 | |
sysctl_power_policy_sleep_to_standby | SYSCTL switches between SLEEP mode and STANDBY modes | ||
sysctl_power_policy_sleep_to_stop | SYSCTL switches between SLEEP mode and STOP modes | ||
sysctl_shutdown | Show correct wake-up mechanism after SHUTDOWN vs STOP, STANDBY and SLEEP |
2.2.19 Timer - Advanced (TIMA)¶
工程名称 | 说明 | EVM | |
---|---|---|---|
LP_MSPM0G3507 | LP_MSPM0L1306 | ||
tima_timer_mode_periodic_repeat_count | TimerA in periodic mode using repeat-count feature | 否 | |
tima_timer_mode_pwm_dead_band | TimerA outputs PWM signals with dead band insertion | 否 | |
tima_trigger_fail_mechanism | TimerA demonstrating fault detection | 否 |
2.2.20 Timer - General Purpose (TIMG)¶
工程名称 | 说明 | EVM | |
---|---|---|---|
LP_MSPM0G3507 | LP_MSPM0L1306 | ||
timg_32bit_timer_mode_periodic_sleep | 32-bit timer in periodic mode while device is in SLEEP mode | 否 | |
timg_32bit_timer_mode_pwm_edge_sleep | 32-bit timer in PWM edge aligned mode while device is in SLEEP mode | 否 | |
timg_qei_mode | TimerG uses QEI to decode relative position output of a quadrature encoder | 否 |
2.2.21 Timer - Generic (TIMx)¶
工程名称 | 说明 | EVM | |
---|---|---|---|
LP_MSPM0G3507 | LP_MSPM0L1306 | ||
timx_timer_mode_capture_duty_and_period | Timer calculates period and duty cycle | ||
timx_timer_mode_capture_edge_capture | Timer edge time detection using Timer capture mode | ||
timx_timer_mode_compare_edge_count | Timer edge counting capability using compare mode | ||
timx_timer_mode_one_shot_standby | Timer in one-shot mode while device is in STANDBY mode | ||
timx_timer_mode_periodic_sleep | Timer in periodic mode while device is in SLEEP mode | ||
timx_timer_mode_periodic_standby | Timer in periodic mode while device is in STANDBY mode | ||
timx_timer_mode_periodic_stop | Timer in periodic mode while device is in STOP mode | ||
timx_timer_mode_pwm_center_stop | Timer in PWM center aligned mode while device is in STOP mode | ||
timx_timer_mode_pwm_cross_trigger_stop_restore | Timer in PWM mode after coming out of STOP with retention in SW | 否 | |
timx_timer_mode_pwm_edge_sleep | Timer in PWM edge aligned mode while device is in SLEEP mode | ||
timx_timer_mode_pwm_edge_sleep_shadow | Timer updating PWM duty cycle using shadow load feature |
2.2.22 True Random Number Generator (TRNG)¶
工程名称 | 说明 | EVM | |
---|---|---|---|
LP_MSPM0G3507 | LP_MSPM0L1306 | ||
trng_sample | TRNG sampling to fill a buffer with random data | 否 | |
trng_sample_stop_restore | TRNG sample random data after coming out of STOP with retention in SW | 否 |
2.2.23 Universal Asynchronous Receiver-Transmitter (UART)¶
工程名称 | 说明 | EVM | |
---|---|---|---|
LP_MSPM0G3507 | LP_MSPM0L1306 | ||
uart_echo_interrupts_standby | UART RX/TX echo using interrupts while device is in STANDBY mode | ||
uart_extend_manchester_echo | UART Extend using Manchester encoding, echo received packet | ||
uart_extend_manchester_send_packet | UART Extend using Manchester encoding and decoding, send a packet | ||
uart_external_loopback_interrupt | UART RX/TX external loopback using interrupts | ||
uart_internal_loopback_standby_restore | UART internal loopback after coming out of STANDBY with retention in SW | 否 | |
uart_rs485_receive_packet | Demonstrate UART in RS485 mode, receive a packet | 否 | |
uart_rs485_send_packet | Demonstrate UART in RS485 mode, send a packet | 否 | |
uart_rw_multibyte_fifo_poll | UART RX/TX using FIFOs with polling | ||
uart_rx_hw_flow_control | UART RX using HW flow control | ||
uart_rx_multibyte_fifo_dma_interrupts | UART RX using a DMA trigger | ||
uart_tx_console_multibyte_repeated_fifo_dma | UART TX to console using a continuous DMA Triggers | ||
uart_tx_hw_flow_control | UART TX using hardware flow control | ||
uart_tx_multibyte_fifo_dma_interrupts | UART TX using a DMA trigger |
2.2.24 Window Watchdog Timer (WWDT)¶
工程名称 | 说明 | EVM | |
---|---|---|---|
LP_MSPM0G3507 | LP_MSPM0L1306 | ||
wwdt_interval_timer_lfosc_standby | WWDT interval timer mode using LFOSC while device is in STANDBY mode | ||
wwdt_interval_timer_lfxt_standby | WWDT interval timer mode using LFXT while device is in STANDBY mode | 否 | |
wwdt_window_mode_periodic_reset | WWDT Window watchdog mode with periodic reset |
2.3 TI-Drivers¶
“TI 驱动程序”提供了一系列稳健而直观的 功能 API,使开发人员能够以可移植、功能丰富的方式访问外设。
MSPM0 的 TI 驱动程序正在开发当中,但下面的示例简要介绍了 预期的功能。
2.3.1 FreeRTOS¶
工程名称 | 说明 | EVM | |
---|---|---|---|
LP_MSPM0G3507 | LP_MSPM0L1306 | ||
gpio_interrupt | Toggles the LED(s) using a GPIO pin interrupt | 是 | 否 |
i2c_tmp | Read temperature from Tmp117 Sensor using I2C | 是 | 否 |
uart_callback | UART simple echo using callback | 是 | 是 |
uart_echo | UART simple echo | 是 | 是 |
2.3.2 No RTOS¶
工程名称 | 说明 | EVM | |
---|---|---|---|
LP_MSPM0G3507 | LP_MSPM0L1306 | ||
uart_echo | UART simple echo | 是 | 否 |
2.4 启动映像管理器 (BIM)¶
MSPM0 SDK 包括启动映像管理器实现, 展示了用户如何验证器件中所加载映像的 完整性和真实性。
工程名称 | 说明 | EVM | |
---|---|---|---|
LP_MSPM0G3507 | LP_MSPM0L1306 | ||
bim_sample_image | Sample GPIO toggle image for BIM | ||
boot_application | Boot Image Manager Using MCUBoot |
2.5 引导加载程序 (BSL)¶
引导加载程序 (BSL) 提供了一种 通过标准 UART 或 I2C 串行接口对器件存储器进行编程和/或验证的 方法。此外,BSL 还支持 MAIN 闪存插件,以启用 其他接口和功能。
MSPM0 SDK 包含多个示例,展示了如何在 MAIN 闪存中实现各种插件以及其他 BSL 功能。
工程名称 | 说明 | EVM | |
---|---|---|---|
LP_MSPM0G3507 | LP_MSPM0L1306 | ||
bsl_host_mcu_i2c_to_m0g_target | Shows an implementation of BSL I2C Flash interface with MSPM0G as host to MSPM0G target | 否 | |
bsl_host_mcu_i2c_to_m0l_target | Shows an implementation of BSL I2C Flash interface with MSPM0G as host to MSPM0L target | 否 | |
bsl_host_mcu_spi | Shows an implementation of a BSL host utilizing SPI interface | 是 | 否 |
bsl_host_mcu_uart_to_m0g_target | Shows an implementation of BSL UART Flash interface with MSPM0G as host to MSPM0G target | 否 | |
bsl_host_mcu_uart_to_m0l_target | Shows an implementation of BSL UART Flash interface with MSPM0G as host to MSPM0L target | 否 | |
bsl_i2c_flash_interface | Shows an implementation of BSL I2C Flash interface | ||
bsl_software_invoke | Jump to ROM bootloader on application request | ||
bsl_spi_flash_interface | Shows an implementation of a BSL SPI Flash interface | ||
bsl_uart_flash_interface | Shows an implementation of a BSL UART Flash interface | ||
secondary_bsl | Implements a secondary bootloader in Main overriding the ROM BSL |
2.6 CMSIS-DSP¶
The CMSIS DSP software library includes a comprehensive set of signal processing functions for use on Cortex-M MCUs.
The MSPM0 SDK includes examples showing how to get started using CMSIS DSP.
工程名称 | 说明 | EVM | |
---|---|---|---|
LP_MSPM0G3507 | LP_MSPM0L1306 | ||
cmsis_dsp_empty | Empty example using CMSIS-DSP | ||
cmsis_dsp_fft_q15 | FFT of fixed point array using CMSIS-DSP |
2.7 指导手册¶
“MSPM0 SDK 指导手册”包含多个实例,展示了使用多个外设实现更复杂的功能。
这些示例使用多个 DriverLib API 并包括完整的源代码和文档以及详细的使用说明。
工程名称 | 说明 | EVM | |
---|---|---|---|
LP_MSPM0G3507 | LP_MSPM0L1306 | ||
adc_dma_ping_pong | Capture ADC data into 2 (ping-pong) buffers | 否 | |
adc_to_pwm | Convert analog voltage to PWM | ||
adc_to_spi_peripheral | Sample ADC and respond to SPI commands sent by a controller | ||
adc_to_uart | Configures the ADC0 to trigger single conversion and send the ADC data through UART | ||
digital_mux | Emulate a digital mux with GPIO | 否 | |
diode_matrix | Drive LEDs with fewer pins using diode matrix | 否 | |
fir_low_pass_filter | Applies digital FIR low-pass filter to sampled ADC signals | 否 | |
iir_low_pass_filter | Applies digital IIR filter to sampled ADC signals | 否 | |
power_sequencing | This sub system allows for different pins/applications be turned on/off in a sequence as to not over load the device from simultaneous power consumption. | ||
programmable_gain_amplifier_1 | Use programmable gain amplifier to dynamically adjust gain | 否 | |
programmable_gain_amplifier_2 | Use programmable gain amplifier to dynamically adjust gain and capture values with integrated ADC | 否 | |
pushbutton_change_pwm | This example demonstrates using the two switches on the MSPM0 Launchpad to change the period and duty cycle on TIMA1 PWM output channels CC0 and CC1. | 否 | |
pwm_dac | Use a timer to create a PWM DAC | 否 | |
pwm_led_driver | Create a pulsating LED effect using timers | ||
signal_acquisition | OPA supports two different sensor input voltages and uses common ADC channel | 否 | |
temp_sense_thermistor | Sample LaunchPad thermistor using integrated Op-Amp and ADC | 否 | |
transimpedance_amplifier | Configure Op-amp in transimpedance amplifier topology | 否 |
2.8 DALI¶
MSPM0 supports the DALI Protocol via the UART module. DALI (Digitally Addressable Lighting Interface) is a serial protocol for digital lighting control that allows for simple and efficient communication between various lighting application gear and controllers.
The MSPM0 SDK includes the source code and examples showing the implementation of supported solutions.
工程名称 | 说明 | EVM | |
---|---|---|---|
LP_MSPM0G3507 | LP_MSPM0L1306 | ||
dali_led_demo | Demonstrates usage of DALI protocol with an LED control demo | 否 |
2.9 EEPROM¶
MSPM0 通过其内部闪存支持 EEPROM 仿真。 与使用外部串行 EEPROM 相比,使用内部闪存的 EEPROM 仿真可节省引脚用量和成本。
MSPM0 SDK 包含一个库和多个示例,展示了其所支持的解决方案 实现方式。
2.9.1 Type-A¶
工程名称 | 说明 | EVM | |
---|---|---|---|
LP_MSPM0G3507 | LP_MSPM0L1306 | ||
eeprom_emulation_type_a | Demonstrates Type A EEPROM emulation to store non-volatile data | 是 | 是 |
eeprom_emulation_type_a_test | Demonstrates a more detailed use case of Type A EEPROM emulation to store blocks of non-volatile data | 是 | 是 |
2.9.2 Type-B¶
工程名称 | 说明 | EVM | |
---|---|---|---|
LP_MSPM0G3507 | LP_MSPM0L1306 | ||
eeprom_emulation_type_b | Demonstrates Type B EEPROM emulation to store user data | 是 | 是 |
eeprom_emulation_type_b_test | Demonstrates a more detailed use case of Type B EEPROM emulation to store user data | 是 | 是 |
2.10 GUI Composer¶
GUI Composer 是一款基于浏览器的工具,用于开发 PC 端 基于 HTML 的 GUI,从而补充嵌入式工程或应用程序。
MSPM0 SDK 包含一个库和多个示例,展示了其所支持的协议 实现方式。
2.10.1 流媒体协议¶
工程名称 | 说明 | EVM | |
---|---|---|---|
LP_MSPM0G3507 | LP_MSPM0L1306 | ||
gc_simple_json | Demonstrates basic usage of GUI Composer communication using JSON-formatted strings | ||
gc_simple_messagepack | Demonstrates basic usage of GUI Composer communication using MessagePack protocol |
2.11 IQMath¶
IQMath 是一组高度优化的 高精度定点数运算函数库。
MSPM0 SDK 包括 IQMath 的使用示例,使用简单的 C 运行时系统 (RTS) 函数,并利用 MathAcl 硬件加速器。
2.11.1 Compiler RTS library¶
工程名称 | 说明 | EVM | |
---|---|---|---|
LP_MSPM0G3507 | LP_MSPM0L1306 | ||
iqmath_rts_ops_test | Implements various fixed-point operations leveraging the RTS implementation of IQMath |
2.11.2 MathACL¶
工程名称 | 说明 | EVM | |
---|---|---|---|
LP_MSPM0G3507 | LP_MSPM0L1306 | ||
iqmath_mathacl_ops_test | Implements various fixed-point operations leveraging the MathACL implementation of IQMath | 否 |
2.12 RTOS Kernel¶
The MSPM0 SDK includes a collection of examples to test kernel functionality.
工程名称 | 说明 | EVM | |
---|---|---|---|
LP_MSPM0G3507 | LP_MSPM0L1306 | ||
blink_led | Simple FreeRTOS LED blinky demo using two tasks | ||
posix_demo | Simple Posix FreeRTOS blinky LED demo |
2.13 LIN¶
本地互连网络 (LIN) 是汽车中 常用的一种易于实现的低成本多点通信总线。
MSPM0 SDK 包含易于使用的指挥官和 响应者示例。
2.13.1 指挥官¶
工程名称 | 说明 | EVM | |
---|---|---|---|
LP_MSPM0G3507 | LP_MSPM0L1306 | ||
lin_commander | Demonstrates basic implementation of LIN commander to transmit and receive LIN 2.0 packets using UART |
2.13.2 响应者¶
工程名称 | 说明 | EVM | |
---|---|---|---|
LP_MSPM0G3507 | LP_MSPM0L1306 | ||
lin_responder | Demonstrates basic implementation of LIN responder to transmit and receive LIN 2.0 packets using UART |
2.14 Sensored Trap Hall Motor Control¶
The MSPM0 SDK includes examples to evaluate the sensored trap hall motor control library with the DRV8316REVM and DRV8329AEVM. These firmware are designed for a GUI to make testing and evaluation quick for the user.
Stay tuned for more examples and functionality coming soon.
2.14.1 DRV8316¶
工程名称 | 说明 | EVM | |
---|---|---|---|
LP_MSPM0G3507 | LP_MSPM0L1306 | ||
drv8316revm-gui-firmware | Firmware for LP_MSPM0G3507 and DRV8316R EVM GUI | 否 |
2.14.2 DRV8329¶
工程名称 | 说明 | EVM | |
---|---|---|---|
LP_MSPM0G3507 | LP_MSPM0L1306 | ||
drv8329aevm-gui-firmware | Firmware for LP_MSPM0G3507 and DRV8329A EVM GUI | 否 |
2.15 Sensorless FOC Motor Control¶
The MSPM0 SDK includes examples to evaluate the sensorless FOC motor control library with the DRV8323RS EVM. These firmware are designed for a GUI to make testing and evaluation quick for the user.
Stay tuned for more examples and functionality coming soon.
2.15.1 DRV8323RS¶
工程名称 | 说明 | EVM | |
---|---|---|---|
LP_MSPM0G3507 | LP_MSPM0L1306 | ||
sensorless-foc-demo | Demo sensorless FOC code for LP_MSPM0G3507 and DRV8323RS EVM GUI | 否 |
2.16 有刷电机控制¶
MSPM0 SDK 包含一个示例,用于 通过 DRV8706-Q1 EVM 评估有刷电机控制库。该固件有专用的 GUI 上位机,旨在帮助用户快速进行测试和评估。
2.16.1 DRV8706-Q1¶
工程名称 | 说明 | EVM | |
---|---|---|---|
LP_MSPM0G3507 | LP_MSPM0L1306 | ||
drv8706s-q1evm-gui-firmware | Firmware for LP_MSPM0L1306 and DRV8706S-Q1 EVM GUI | 否 |
2.17 步进电机控制¶
MSPM0 SDK 包含多个示例,用于 通过 DRV8411A 和 DRV8889-q1 EVM 评估步进电机控制库。这些固件 有专用的 GUI 上位机,旨在帮助用户快速进行测试和评估。
更多示例和功能即将推出,敬请期待。
2.17.1 DRV8411A¶
工程名称 | 说明 | EVM | |
---|---|---|---|
LP_MSPM0G3507 | LP_MSPM0L1306 | ||
drv8411aevm-gui-firmware | Firmware for LP_MSPM0L1306 and DRV8411AEVM GUI | 否 |
2.17.2 DRV8889-Q1¶
工程名称 | 说明 | EVM | |
---|---|---|---|
LP_MSPM0G3507 | LP_MSPM0L1306 | ||
drv8889-q1evm-gui-firmware | Firmware for LP_MSPM0L1306 and DRV8889-Q1 EVM GUI | 否 |
2.18 PMBUS¶
PMBus is a protocol design to interface with power management devices. It uses the SMBus protocol as a base.
The MSPM0 SDK includes a ready-to-go example for using an MSPM0 devices as a PMBus controller for a TPS544B20 device.
2.18.1 Controller¶
工程名称 | 说明 | EVM | |
---|---|---|---|
LP_MSPM0G3507 | LP_MSPM0L1306 | ||
pmbus_controller_tps544b20evm | Use MSPM0 to configure TPS544B20EVM over PMBus |
2.19 SMBus¶
系统管理总线 (SMBus) 是一种适用于轻量级通信的 简单单端双线总线。
MSPM0 SDK 包含适用于控制器和 目标的易用示例。
2.19.1 控制器¶
工程名称 | 说明 | EVM | |
---|---|---|---|
LP_MSPM0G3507 | LP_MSPM0L1306 | ||
smbus_controller | Demonstrates basic implementation of SMBus Controller testing all SMBus 2.0 protocols using I2C |
2.19.2 目标¶
工程名称 | 说明 | EVM | |
---|---|---|---|
LP_MSPM0G3507 | LP_MSPM0L1306 | ||
smbus_target | Demonstrates basic implementation of SMBus Target testing all SMBus 2.0 protocols using I2C |