STM32端口IO方向设置问题的

您所在的位置:网站首页 protools的io设置 STM32端口IO方向设置问题的

STM32端口IO方向设置问题的

2024-07-11 17:22| 来源: 网络整理| 查看: 265

例程:STM32F103系列 I2C软件模拟实验(mini板)

问题:下面两行关于“IO方向”的代码不太明白。

//IO 方向设置 #define SDA_IN() {GPIOC->CRH&=0XFFFF0FFF;GPIOC->CRH|=8CRH|=3CRL=GPIOA->CRL & 0b1111 1111 1111 1111 1111 1111 1111 0000;

把PA0设置为输入就要这样写:

GPIOA->CRL|=8CRL|(0b1000)CRL|=8CRL|=8CRL|=8CRL|=8CRL|=8CRL|=8CRL|=8CRL|=8CRL|=8CRL|=3CRL|=3CRL|=3CRL|=3CRL|=3CRL|=3CRL|=3CRL|=3CRH|=8CRH|=8CRH|=8CRH|=8CRH|=8CRH|=8CRH|=8CRH|=8CRH|=3CRH|=3CRH|=3CRH|=3CRH|=3CRH|=3CRH|=3CRH|=3CRL,这句话表示要操作GPIOx的低8位,就是Px0 ~ Px7 GPIOx->CRH,这句话表示要操作GPIOx的高8位,就是Px8 ~ Px15

所以GPIOC->CRL,这句话表示要操作GPIOC,

后面的0XFFFFFFF0,表示操作PC0; 0XFFFFFF0F,表示操作PC1; 0XFFFFF0FF,表示操作PC2; 0XFFFF0FFF,表示操作PC3; 0XFFF0FFFF,表示操作PC4; 0XFF0FFFFF,表示操作PC5; 0XF0FFFFFF,表示操作PC3; 0X0FFFFFFF,表示操作PC7;

合起来的意思就是:利用“与”运算,把这个位清0,同时不影响其他的位的设置。

GPIOC->CRL|=8



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3