如何在STM32中更改IO方向(输入输出)

在其他地方看到的  防止忘了 记录一下

PA0为输入(上/下拉)
GPIOA->CRL&=0XFFFFFFF0;GPIOA->CRL|=8<<0;

PA1为输入(上/下拉)
GPIOA->CRL&=0XFFFFFF0F;GPIOA->CRL|=8<<4;

PA2为输入(上/下拉)
GPIOA->CRL&=0XFFFFF0FF;GPIOA->CRL|=8<<8;

PA3为输入(上/下拉)
GPIOA->CRL&=0XFFFF0FFF;GPIOA->CRL|=8<<12;

PA4为输入(上/下拉)
GPIOA->CRL&=0XFFF0FFFF;GPIOA->CRL|=8<<16;

PA5为输入(上/下拉)
GPIOA->CRL&=0XFF0FFFFF;GPIOA->CRL|=8<<20;

PA6为输入(上/下拉)
GPIOA->CRL&=0XF0FFFFFF;GPIOA->CRL|=8<<24;

PA7为输入(上/下拉)
GPIOA->CRL&=0X0FFFFFFF;GPIOA->CRL|=8<<28;

PA0为输出(通用推挽输出50MHZ)
GPIOA->CRL&=0XFFFFFFF0;GPIOA->CRL|=3<<0;

PA1为输出(通用推挽输出50MHZ)
GPIOA->CRL&=0XFFFFFF0F;GPIOA->CRL|=3<<4;

PA2为输出(通用推挽输出50MHZ)
GPIOA->CRL&=0XFFFFF0FF;GPIOA->CRL|=3<<8;

PA3为输出(通用推挽输出50MHZ)
GPIOA->CRL&=0XFFFF0FFF;GPIOA->CRL|=3<<12;

PA4为输出(通用推挽输出50MHZ)
GPIOA->CRL&=0XFFF0FFFF;GPIOA->CRL|=3<<16;

PA5为输出(通用推挽输出50MHZ)
GPIOA->CRL&=0XFF0FFFFF;GPIOA->CRL|=3<<20;

PA6为输出(通用推挽输出50MHZ)
GPIOA->CRL&=0XF0FFFFFF;GPIOA->CRL|=3<<24;

PA7为输出(通用推挽输出50MHZ)
GPIOA->CRL&=0X0FFFFFFF;GPIOA->CRL|=3<<28;

//高8位
PA8为输入(上/下拉)
GPIOA->CRH&=0XFFFFFFF0;GPIOA->CRH|=8<<0;

PA9为输入(上/下拉)
GPIOA->CRH&=0XFFFFFF0F;GPIOA->CRH|=8<<4;

PA10为输入(上/下拉)
GPIOA->CRH&=0XFFFFF0FF;GPIOA->CRH|=8<<8;

PA11为输入(上/下拉)
GPIOA->CRH&=0XFFFF0FFF;GPIOA->CRH|=8<<12;

PA12为输入(上/下拉)
GPIOA->CRH&=0XFFF0FFFF;GPIOA->CRH|=8<<16;

PA13为输入(上/下拉)
GPIOA->CRH&=0XFF0FFFFF;GPIOA->CRH|=8<<20;

PA14为输入(上/下拉)
GPIOA->CRH&=0XF0FFFFFF;GPIOA->CRH|=8<<24;

PA15为输入(上/下拉)
GPIOA->CRH&=0X0FFFFFFF;GPIOA->CRH|=8<<28;

PA8为输出(通用推挽输出50MHZ)
GPIOA->CRH&=0XFFFFFFF0;GPIOA->CRH|=3<<0;

PA9为输出(通用推挽输出50MHZ)
GPIOA->CRH&=0XFFFFFF0F;GPIOA->CRH|=3<<4;

PA10为输出(通用推挽输出50MHZ)
GPIOA->CRH&=0XFFFFF0FF;GPIOA->CRH|=3<<8;

PA11为输出(通用推挽输出50MHZ)
GPIOA->CRH&=0XFFFF0FFF;GPIOA->CRH|=3<<12;

PA12为输出(通用推挽输出50MHZ)
GPIOA->CRH&=0XFFF0FFFF;GPIOA->CRH|=3<<16;

PA13为输出(通用推挽输出50MHZ)
GPIOA->CRL&=0XFF0FFFFF;GPIOA->CRH|=3<<20;

PA14为输出(通用推挽输出50MHZ)
GPIOA->CRH&=0XF0FFFFFF;GPIOA->CRH|=3<<24;

PA15为输出(通用推挽输出50MHZ)
GPIOA->CRH&=0X0FFFFFFF;GPIOA->CRH|=3<<28;

 

作者:huahaoyueyuan1234

物联沃分享整理
物联沃-IOTWORD物联网 » 如何在STM32中更改IO方向(输入输出)

发表评论