STM32端口IO方向设置问题的 |
您所在的位置:网站首页 › protools的io设置 › STM32端口IO方向设置问题的 |
例程: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 |