查看: 1581|回复: 0

飞思卡尔MAPS四色板系列K64学习笔记——配置ADC和PWM

[复制链接]

该用户从未签到

发表于 2015-5-3 14:36:10 | 显示全部楼层 |阅读模式
分享到:
第一次接触四色板,飞思卡尔FAE在ECBC授课完以后,正式开始学习K64了。今天跟大家分享的是关于K64的ADC模块和PWM模块的一些配置问题。
飞思卡尔MAPS系列四色板提供了ADC的实验模块,具体电路如下

其中Ain0与Ain1直接连接到MCU的两路ADC引脚,
Ain0连接ADC0_DP0,Ain1连接ADC_DM0,通过采集其中任一一路ADC的数值,来调节LED亮度。



MCU的ADC配置

飞思卡尔官方提供了两种配置ADC模块的方法,一种为外设Driver层配置方法,一种为HAL(硬件抽象层)配置方法。
Driver层配置方法:

HW_ADC0在系统头文件M64F12_adc.h中已经宏定义,定义如下:

具体是HW_ADC0代表ADC0,HW_ADC1代表ADC1。在Driver层配置时,先定义两个结构体

将MyAdcCalibraitionParam结构体地址传送至
ADC_DRV_GetAutoCalibrationParam (uint32_t instance, adc_calibration_param_t *paramPtr)
可以直接从Driver层的代码中得到ADC的标准配置,以下Driver层部分代码的截选

从上面代码可以看出,Driver层的标准配置其实是调用了HAL层代码,自动配置了寄存器,
这样用户直接调用Driver层即可以依照标准配置ADC模块。在Maximum Average配置中可以看出,其采样32此后取平均值,Lowest ADC Frequency中的代码表示ADC时钟频率为总线频率的8分频,然后设置了参考电压以及是否为触发模式。
在得到以上标准化参数后,通过
ADC_DRV_SetCalibrationParam(uint32_t instance, adc_calibration_param_t *paramPtr)
来设置标准化参数。然后通过结构体MyAdcUserConfig来设置用户自定义的参数

在这个结构体中可以设置很多参数,飞思卡尔提供的Driver层中,设计了三种可供选择的模式参数。分别如下,

其中分别为阻塞模式,中断模式以及触发模式,在不同的函数中,将自动配置userConfigPtr结构体。
在本次实验中,我们选用的是触发模式。最后

初始化ADC即完成了ADC模块的配置。
最后通过以下代码段,可以得到ADC返回的值。

将得到的MyAdcValue通过转换得到最终的电压值。


MCU的PWM配置

本次实验的PWM模式同样是通过Driver层函数编写的初始化。其初始化代码如下,

通过configure_ftm_pins函数完成引脚的复用功能。而memset函数完成对ftmInfo的初始化,通过FTM_DRV_Init对BORAD_FTM_INSTANCE引脚的功能进行初始化。此时的初始化是对FTM的初始化,还未对PWM的功能进行初始化。下面的结构体和函数对FTM的PWM功能进行了初始化

通过改变uDutyCyclePercent的数值可以改变PWM的占空比。以下是占空比设置成50的输出波形。



最终效果

贴上主程序中的部分代码段

最后的效果~

谢谢大家,后续继续分享一些关于四色板的学习资料,敬请期待!
MAPS四色板专业评测
本文为ECBC实战营独家授权爱板网经验频道发布,未经允许,谢绝转载。
ECBC实战营:以实际产品为切入点,通过实际产品解耦信号链各个节点中的重点技术、产品、设计思路,同时会在整个实战过程中锻炼每个学员的项目分割能力、团队协调能力、表达演讲能力等综合素养。借助三个月的高强度、快节奏的系统性实战训练,让真正热爱电子技术的学生、工程师、创客迅速积累真正优秀工程师和技术管理者应该具备的专业技能、全局思维、职业素养,不仅让学员走向实际工作岗位后迅速适应、迅速成为职场的中坚力量,更为学员未来成为技术型管理人才和技术型创业人才奠定必要、坚实的综合基础。
ECBC实战营二期详情
ECBC实战营第二期招生简章
ECBC实战营奖学金申请
回复

使用道具 举报

您需要登录后才可以回帖 注册/登录

本版积分规则

关闭

站长推荐上一条 /4 下一条

手机版|小黑屋|与非网

GMT+8, 2024-12-19 08:11 , Processed in 0.119858 second(s), 17 queries , MemCache On.

ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

苏公网安备 32059002001037号

Powered by Discuz! X3.4

Copyright © 2001-2024, Tencent Cloud.