如何设置STM32 IO端口输入输出

您所在的位置:网站首页 i/o输入输出 如何设置STM32 IO端口输入输出

如何设置STM32 IO端口输入输出

2024-07-07 04:01| 来源: 网络整理| 查看: 265

源码基本STM32F103C8T6 MCP2518FD开发板  MCP2518FD_CANFD开发板

习惯了PIC单片机的IO设置,就一个TRISx/PORTx/LATx 三个寄存器就搞定了,但应用到STM32时,调试ds18b20时,要设置IO读了ds18b20的数据,开始就有点蒙,看了规格书,感觉还是有点摸不着头脑,所以狂查资料,并写个笔记。

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

把PA0设置为输入:

GPIOA->CRL|=8CRL|=8CRL|=8CRL|=8CRL|=3CRL|=8CRL|=3CRL|=8CRL|=3CRL|=8CRL|=3CRL|=8CRL|=3CRL|=8CRL|=3CRL|=8CRL|=3CRL|=8CRL|=3CRH|=8CRH|=3CRH|=8CRH|=3CRH|=8CRH|=3CRH|=8CRH|=3CRH|=8CRH|=3CRH|=8CRH|=3CRH|=8CRH|=3CRH|=8CRH|=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|=8CRL&=0XF0FFFFFF;GPIOA->CRL|=8CRL|=3



【本文地址】


今日新闻


推荐新闻


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