打印
[Kinetis]

以前没有用过飞思卡尔芯片,不理解“MASK”(已解决)

[复制链接]
1311|8
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
nongfuxu|  楼主 | 2014-11-6 10:59 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
沙发
nongfuxu|  楼主 | 2014-11-6 11:10 | 只看该作者
bit mask,位屏蔽。

GPIO_Init(GPIOB, GPIO_PTG5_MASK, GPIO_PinOutput); 是不是可以理解成 对PTG5脚不能用于Output,输出?

使用特权

评论回复
板凳
FSL_TICS_Jeremy| | 2014-11-6 14:42 | 只看该作者
你好,楼主!
对的,差不多就是这个意思,其实找到GPIO_PTG5_MASK定义的地方,就知道它的使用方法啊!

使用特权

评论回复
地板
nongfuxu|  楼主 | 2014-11-6 17:40 | 只看该作者
呀,我找到那定义的地方,还是没有从根本上理解它。

使用特权

评论回复
5
FSL_TICS_Jeremy| | 2014-11-7 10:09 | 只看该作者
nongfuxu 发表于 2014-11-6 17:40
呀,我找到那定义的地方,还是没有从根本上理解它。

简单说来,就是GPIO_PTG5_MASK指得是, PTG5在GPIO寄存器中的位置.

使用特权

评论回复
6
nongfuxu|  楼主 | 2014-11-7 19:43 | 只看该作者
明白了。谢谢 FSL_TICS_Jeremy!

使用特权

评论回复
7
dongshan| | 2014-11-8 08:27 | 只看该作者
这跟芯片都没关系。在没有位操作指令的芯片中,一般都是采用这种bit mask来对某个位来进行清零或置位的。
比如一个变量var, 是8位的,想对其最高位置1 , 可以这么写:var |= 0x80;   想清零可以这么写 var &= (~0x80);
在程序中我们一般尽量少出现数字(术语叫做"magic number"), 于是我们把0x80定义成
#define   XXX_MASK    0x80
于是。。。

使用特权

评论回复
8
FSL_TICS_Jeremy| | 2014-11-10 08:57 | 只看该作者
nongfuxu 发表于 2014-11-7 19:43
明白了。谢谢 FSL_TICS_Jeremy!

不客气,有问题再交流!

使用特权

评论回复
9
qqljhang| | 2014-11-10 21:43 | 只看该作者
dongshan 发表于 2014-11-8 08:27
这跟芯片都没关系。在没有位操作指令的芯片中,一般都是采用这种bit mask来对某个位来进行清零或置位的。
...

赞!

使用特权

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

本版积分规则

个人签名:是不是经济不KUA,房价下不来? 高房价只能带来“实体经济挤出效应”。

417

主题

4293

帖子

2

粉丝