这段时间接触了不少32位单片机,m0架构,m3,m4都有接触。
总结一下各个单片机基本外设使用的共性。
一、基本外设与单片机内核连接结构与原理
首先,大多三十二位单片机都是使用contex-m系列内核。
单片机以context-m为核心处理器,存在一个总线接口用来扩展基本外设,包括时钟,io口,基本定时器,串口通信等等基本外设就通过总线与内核相连接。为了保证单片机功耗降低,所有外设都有开关可以控制自身是否使用,使用时就打开电路,不用时就关闭电路减少能耗。相关控制都是通过寄存器操作的。
二、启用某一外设的必要条件
如果要使用某一外设,单单使能它的控制电路是不够的,还需要根据该外设的基本功能和模式做出自己需要的功能的配置。
以定时器为例,常见外设定时器分三种,基本,通用,高级。
基本定时器就一个定时计数功能,通用和高级扩展了一些功能,包括引脚输入,可以用来测量信号频率。扩展了互补输出功能,死区补偿等等可以用来实现pwm输出或者电机控制等等。
而基本定时器其功能也不简单,计数方式有向上,向下,对称,当前值与预设值会通过比较器比较可以产生中断或者事件,也可以什么都不产生。可以设置计数一次,也可以循环计数。
1.以此为例,首先,一个外设想要工作,时钟信号是必不可少的,通过查看数据手册,查找当前所需定时器在那个时钟信号之下,通过时钟使能库函数使能相应的时钟信号。
2.其次,如果某些外设对引脚有所使用,还需要配置使能相关引脚和引脚复用功能。
3.而且当我们想使用重映射或者其他操作复用寄存器的功能时还需使能复用引脚时钟信号。
4.然后还需要配置相关外设的功能,这一步也是比较繁琐的一步,定时器需要配置重载值,预分频值,计数模式等等最后使能相关外设等等。
5.如果使用到中断,还需要配置中断优先,中断信号模式等等中断相关操作,还要使能相关中断,还要注意编写中断相关函数等等。
总结来讲,一般外设的配置步骤
1.时钟使能(必做)
2.外设配置(必做)
3.引脚相关(如使用到引脚,选做)
4.中断相关(如使用到中断,选做)
5.使能各个功能(必做)