5 years, 10 months ago.

MAX32630FTHR PwmOut uses the wrong peripheral?

In testing PwmOut on the MAX32630FTHR, I discovered that mbed is using the Pulse Train Engine instead of the Timer/Counter. I couldn't find any good examples from Maxim, and their User Manual for the processor doesn't include examples (in fact, it is the most terse UM I have seen for an ARM chip).

The consequence of using the Pulse Train Engine for PWM seems to be that the PWM output is quantized to no more than 32 parts over the period you specify. In case you wonder, that makes PwmOut via mbed on this chip absolutely worthless for anything other than flashing an LED at some simple duty cycle.

I'm off to bit-bang a solution using the Timer device, but in the meantime, would someone from Maxim like to comment on this, or maybe provide working examples for their products?


- Just Gary

Question relating to:

MAX32630 Rapid Development Platform

1 Answer

5 years, 10 months ago.


Thanks for the feedback. A 32-bit timer based PwmOut library for the MAX32630FTHR platform is now available, MAX32630FTHR_PwmOut. This library provides higher PWM resolution with the current mbed PwmOut driver API.

Examples for Maxim Arm Cortex-M4 microcontrollers are provided in the Maxim Low Power ARM Micro Toolchain (Windows). The CMSIS headers and low level functions from the Micro Toolchain are available for reference in the mbed-os source.