根據STM32L0x3參考手冊RM0367,每個General-Purpose IO口,有以下寄存器:
1.4個32位的控制寄存器,分別為GPIOx_MODER,GPIOx_OTYPER,GPIOx_SPEEDR,GPIOx_PUPDR;
2.2個32位的數據寄存器,分別為GPIOx_IDR,GPIOx_ODR
3.1個32位的按位置位、復位寄存器,GPIOx_BSRR
4.1個32位的鎖定寄存器,GPIOx_LCKR
5.2個32位的復用功能寄存器,GPIOx_AFRL(低8位),GPIOx_AFRH(高8位)
復位后的IO口工作模式, 由GPIOx_MODER和GPIOx_AFRL/H寄存器共同決定。
1.mode寄存器
可見,復位后,PA13、PA14的MODEx[1:0]=10,為復用功能模式,13/14端口對應AFRH寄存器,如下:
因AFRH寄存器復位后全部為0,所以PA13/PA14均為AF0模式。
AF0模式是什么樣的功能呢?查芯片數據手冊datasheet,引腳定義:
對應的是SWDIO/SWCLK功能。
再例:PA4引腳復位后00,為輸入模式。
其他引腳,復位后為11,模擬輸入模式。