[原创] 关于STM32F301的使用心得

cxzs1234   2017-5-25 11:56 楼主
最近做工程需要用到一款可以实现动态调节运放、带比较器和32位定时器的MCU,最终通过ST-MCU-FINDER很快的找到了STM32F301,这个芯片在淘宝上价格很便宜,最低8块钱就可以买到。同时该MCU还是M4内核,虽然主频低,最高72M,但是支持浮点运算,再者我也不需要那么高的主频,足够用了。下边说一下在使用过程中的一些经验,同时你要是使用时应该避免的,我是经过多次实验得出来的结果。还要提示下,这个没有中文的参考手册,只有英文的,所以对英语不好的还是很难的看懂的,比如我自己。经验1,第一次使用F3的芯片,对其还是很陌生的,但是使用cube可以快速的建立工程和初始化外设,同时使用它给的一些函数很难让人接受,我们还是希望能够使用标准的库函数,这样才能得心应手。我的做法是,去官网下载标准库,然后再使用cube初始化外设,利用cube初始化好的文件再使用标准库相关的初始化函数进行相应的配置,虽然名称可能不一样,但是基本还是意思还是相同的,移植初始化文件还是很快的,而且准确,对于那些不是很明确的,在参考手册上再查一下,这样很快就可以完成初始化问题。
经验2,301的APB1总线是AHB的时钟频率的一半,即如果AHB为72M则APB1最大为36M。但是定时器却除外,时钟频率还是使用的是AHB的时钟,这个可通过cube上时钟配置上看到。如图1所示。
APB1时钟网络.jpg

经验3 ,库函数很多是考虑比较全的,如我们使用比较器,F301把比较器简化了很多,所以有些功能是F3其他型号的配置,一定要区分开,还是以参考手册为准。如COMPx_CSR的第七位对301来说是空位,必须保持0,但是在303上该位却有意义。我也是通过对比参考手册而得来的。
经验4,Vrefint为内部参考电压,典型值为1.2V,而不是外部的输入参考电压,给比较器选择的1/4,1/3,1/2,都是以这个1.2V为参考电压的。
经验5,对于比较器,如果不要求输出的话,对应的管脚可以正常使用。如果需要输出需要将该管脚通过AF映射到对应的输出管脚上。





回复评论

暂无评论,赶紧抢沙发吧
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复