一开始学32是用战舰版ZET6学的,但后面做项目嘛,144pin的芯片也太大了,就改用c8t6了,好在也都是f103系列的,配置都差不多,所以正点原子配套的参考手册还能用
现在直说PWM的配置吧,战舰版里例程是PB5,及控制LED灯的明亮程度;
可c8t6没有啊,我原本想既然这样,不然我用PC13(这个是市面上c8t6最小系统的默认LED灯),结果查了手册,发现PC13根本没有TIM功能,更别撤做PWM了,
(别问我TEMPER_RTC是啥意思,搜了一下是做入侵检测功能,不懂不懂,手里里也没提,不管了)
所以没办法,手头正好有个小电机+驱动模块,稍微接了接,
看图,省了一个PWM管脚,就用一个算了,另一个接地,现在的目的就是做pwm的管脚定义了,
转载原子论坛里大神的文章:
http://www.openedv.com/forum.php?mod=viewthread&tid=287896&highlight=TIM2%2BA2
看完的照着改,肯定也能出来,重映像嘛!!,讲的很详细了;
但,这时候我发现了一个问题,导致还需要小小的改动:
及,
按这个配置下来,TIM2_PWM_Init(1000,0);
pwm输出:
TIM_SetCompare3(TIM2,0); 电压为3.3 最大
TIM_SetCompare3(TIM2,1000) ; 电压为0
这样很不习惯,毕竟大家都喜欢PWM值越大,电压越大嘛,所以还需要改动一下。
转载大神的文章:
https://blog.csdn.net/gtkknd/article/details/39296151#
看完了,大体就懂了是个什么意思,其实很好改,
直接改成TIM_OCMode_PWM2——>TIM_OCMode_PWM1就好了,千万别同时改动TIM_OCInitStructure.TIM_OCPolarity参数,我当时一开始改成了TIM_OCPolarity_Down,结果反而不能动了,发呆了好半天。
好了,大体就这些,细致的东西还是得看原子的视频或者论坛资料,多看看参考手册,从寄存器角度多去理解会更好一点,(尽量理解就好)