打印

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

[复制链接]
1557|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 | 只看该作者
怎么结帖啊,没找到结帖按钮。

使用特权

评论回复
5
uet_cache| | 2012-12-29 09:26 | 只看该作者
发帖一天后可以结,,我也是前不久才学到的。。

使用特权

评论回复
6
john_light|  楼主 | 2012-12-29 09:28 | 只看该作者
哐当一声被二姨的这个设置干翻在地

使用特权

评论回复
7
uet_cache| | 2012-12-29 09:36 | 只看该作者

使用特权

评论回复
8
uet_cache| | 2012-12-29 09:37 | 只看该作者
二姨?我以为是你家里。。。?

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

34

主题

1094

帖子

2

粉丝