开发者分享 | HPM5300EVK 优秀测评报告(一)
上海先楫半导体举办的HPM5361EVK开发板试用活动圆满结束,广大工程师和爱好者们踊跃参与此次试用并提交报告。最终,先楫半导体专家组评选出6名优秀获奖者。感谢媒体平台EEWORLD电子工程世界的支持,本文整理了网友@kjsm的优秀报告,小伙伴们先睹为快!
#1
ADC读取
今天来看看先楫HPM5361的ADC读取例程,先楫HPM5361的ADC是支持16位的模数转换的,精度比一般的MCU 12位/10位的ADC都要高;采样精度更高。
打开了HPM5361的ADC16的程序
程序实例包括了ADC的四种读取模式
/** @brief Define ADC16 conversion modes. */
typedef enum {
adc16_conv_mode_oneshot = 0, 单次转换
adc16_conv_mode_period,
adc16_conv_mode_sequence,
adc16_conv_mode_preemption
} adc16_conversion_mode_t;
查看程序中使能的ADC口,可以在board.h里找到定义的ADC 口;这里使用的是ADC0.11;也可以自行修改。
ADC0.11在板子上是左边接口的ADC-A
程序默认输出是16位的数,为了直观点输出电压,我这里在第一种转换下修改了读取的处理,将读到的ADC值转化为电压值;
修改后通过串口的返回值就可以很直观的看到测试的电压值啦。
#2
互补PWM生成
PWM的全称是脉冲宽度调制,常用于设备控制,例如驱动电机,LED调光,无源蜂鸣器发声等等。
HPM5361硬件上PWM的引脚参考原理图是以下的引脚
首先是初始化IO口配置成PWM输出
板上配置PWM的PWM0 ,时钟,PWM输出的通道
PWM的时钟是连接在AHB外设的频率160MHz,从规格书上查到
加载reload是PWM的周期时间,设置为20 Khz的载波周期时间是50us,其他PWM周期可以调整参数
我想配置输出PWM互补模式,带死区输出;参考了例子的
generate_central_aligned_waveform_in_pair】
对于PWM需要配置好STA起始寄存器,RLD重载寄存器,比较寄存器CMP,互补的配置,死区时间
具体的配置程序
PWM 互补占空比更新程序;配置CMP1,CMP2的值;CMP1~CMP2的差值是正占空比的大小。
以上内容来自先楫开发者的原创分享。
我们始终相信开发者共创的力量。先楫社区坚持开源共享、互惠互利,贴近每一个开发者,一步一个脚印,一点一滴积累,为成为更好的我们而不断努力。
心之所向,锐意进取,星辰大海,恣意成长。
MCU生态建设需要您的贡献与支持!欢迎广大爱好者和开发者踊跃投稿,供稿请联系sha.li@hpmicro.com。