串口
一.
说到串口,那就不得不说一下IO复用和映射。 因为考虑到IO口的有限,为了节省IO资源。同一时候为了更好的协调IO之间的工作。所以有必要在适当的时候给IO口赋予不同的功能。一个IO口在不同的时候能够承担不同的工作,这就是IO的复用功能。每个IO口都会接有一个选择器,这个选择器经过对应寄存器(GPIOx_AFRH和GPIOx_AFRL)的配置之后就能够做不同的功能的应用,这个寄存器就是GPIOx_AFRH和GPIOx_AFRL。
这个就是GPIOx_AFRL寄存器。他们都是32位的寄存器,当中每4位配置一个IO口的功能,则相应的GPIOx_AFRL就用来配置第0-7个IO口,(为以上AFRL0~AFRL7)GPIOx_AFRH就用来配置第8-15个IO口。如下图:
举例:如果要使用AF7,就把8~11位写成0111,这样就能复用想用的串口了。