用库函数方式去修改寄存器能够不影响无关位吗?

[复制链接]
2059|7
 楼主| john_light 发表于 2012-12-28 10:06 | 显示全部楼层 |阅读模式
    GPIOF->CRL &= ~0x00FFFFFF;
    GPIOF->CRL |=  0x00BBBBBB;

上面的代码利用直接操作寄存器方式修改GPIOF的0/1/2/3/4/5位配置,读->改->写,对无关的6/7位进行and 0xF和or 0x0操作不会影响原来的配置。库函数是否也能简单地实现这样的效果?

uet_cache 发表于 2012-12-28 10:09 | 显示全部楼层
可以啊,库里面有对整个IO操作的,也有对其中某位操作的,或某些位同时或后操作,,,你可以用库试试,也可以跟踪库函数里面在,看看库语句如何写的,就一清二楚了。。。
 楼主| john_light 发表于 2012-12-29 09:21 | 显示全部楼层
库函数void GPIO_Init(GPIO_TypeDef* GPIOx, GPIO_InitTypeDef* GPIO_InitStruct)就是只修改指定GPIO引脚的,晕了。

ue收20分。
 楼主| john_light 发表于 2012-12-29 09:22 | 显示全部楼层
怎么结帖啊,没找到结帖按钮。
uet_cache 发表于 2012-12-29 09:26 | 显示全部楼层
发帖一天后可以结,,我也是前不久才学到的。。
 楼主| john_light 发表于 2012-12-29 09:28 | 显示全部楼层
哐当一声被二姨的这个设置干翻在地
uet_cache 发表于 2012-12-29 09:36 | 显示全部楼层
uet_cache 发表于 2012-12-29 09:37 | 显示全部楼层
二姨?我以为是你家里。。。?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:这是俺在自留地里种的几棵ARM/Linux/MySQL/PHP苗

34

主题

1094

帖子

2

粉丝
快速回复 在线客服 返回列表 返回顶部