开始学习stm32

作者: greedyhao | 来源:发表于2017-05-22 20:20 被阅读139次

    说说我的教材吧


    手上暂时没有其他的书了,就只能将就着用这本了,不过听说口碑还是不错的。

    配置开发环境

    MDK5 FlyMcu

    这两个是必要的开发程序,网上随便一搜一大把教程。MDK5是可以安装C51的库进行51单片机的开发的,MDK5还有实时语法检测,用起来很爽。

    除了这两个软件以外,还要进行stm32的配置(应该叫做 新建基于固件库的MDK5工程模板,网上也是一堆教程。

    学到的新知识

    • stm32居然有多个时钟源,这是我之前不知道的,多个时钟源的原因是为了节省资源,时钟越快功耗越大,同时抗电磁干扰能力也会越弱,而有些外设需要的时钟并不需要太快,所以stm32通过分频,不同的5个时钟源给不同的外设。
    • 结构体的使用。之前学习51单片机时,其实很多c语言的知识都没有用上的,一直不明白那些知识的用处。在我看stm32的固件库的时候,看见了很多函数的参数都是用结构体来传递的,这样的好处是参数的个数比较容易更改,只需要更改结构体中的参数个数就可以了。
    • 定义自己的类型。这也是我在看stm32的固件库才了解到的,虽然我很久以前就知道要定义自己的数据类型,但一直都很少用,因为作用不大,在stm32固件库中看见了大量的使用,固件库中所有的数据类型都是使用自己的定义,我觉得这样的好处是可以增加程序的易读性和兼容性。
    /*stm32f10x.h*/
    ...
    typedef struct
    {
      __IO uint16_t CR1;
      uint16_t  RESERVED0;
      __IO uint16_t CR2;
      uint16_t  RESERVED1;
    ...
    } TIM_TypeDef;
    ...
    /*stm32f10x_tim.h*/
    ...
    void TIM_DeInit(TIM_TypeDef* TIMx);
    ...
    

    这是固件库中的一段对结构体的用法和定义自己的数据类型。

    相关文章

      网友评论

        本文标题:开始学习stm32

        本文链接:https://www.haomeiwen.com/subject/ycsixxtx.html