本帖最后由 小狼 于 2015-4-13 23:20 编辑
本人纯硬件工程师,代码真的是一点一点的看懂呀,结合了两个例程,做成一个小实验。这个实验成功也可以用于可调电阻旋转控制直流无刷电机转速,这个工程有点大,鉴于刚开始学习,还是不要把步子迈大。
YL-KL26Z 开发板有一可变电阻VR1用于ADC采样,连接于KL26 PTE20口,C21用于硬件滤波。
KL26 ADC模块是16位的,最大为4对差分输入或24路单端输入。Y-KL26Z开发板用ADC0单端模式接受ADC_IN,REF为3.3V,所义当ADC_IN为3.3V时 ADC为65535, 0V时为零。 主函数:
GPIO初始化函数
时钟初始化 我用示波器测出PWM周期为80uS,所以原厂注释40uS可能是错的。
ADC初始化:
获取ADC值: 中间用了个简单的滤波,原谅一个硬件工程师的笨,当然有更好的办法,请大牛赐教。 选择ADC信道每次转换必须选一次,不然程序就卡在那里运行不下去。
我这个菜鸟对于IO口多功能选择碰到很大难题,找了半天资料发现在这里的秘密:先在分享给大家,大牛直接无视。
一直找不到从2以后的功能,原来在这里:
附件:
adc-pwm.rar
(893.66 KB, 下载次数: 9)
|