OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...

新人求助

查看数: 5089 | 评论数: 4 | 收藏 0
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2018-9-29 10:55

正文摘要:

今天课上老师讲一些寄存器操作,十分懵逼,求前辈帮助。 问题如下: 1.既然GPCx有初值为00,那么其&=操作不应该是全部置0,有何意义,0&任何值不都为0么 2.为什么要左移16位,这样不就直接去控制GPC9-15了吗 ...

回复

美丽的时光机器 发表于 2018-10-20 16:44:30
1.rGPCCON &= ~(0xff << 16);/* 清零 */
   rGPCCON |= (0x55 << 16);  /* 置1 */
2.我从第4张图片得出来,S3C2440的GPIOC的每个引脚都是由两个位来控制的,0xff << 16,正好对应的是bit16~bit23,就是GPIOC8~GPIOC11
3.a = rGPCDAT就是获取数据寄存器的值
4.取反是为了清零某些位,移位就是为了达到设置某些位的目的,假设你不移位,你完全可以用按位或的形式来实现。
donqy 发表于 2018-10-6 20:11:20
8bit != 32bit
moresweet 发表于 2018-10-4 08:34:20

谢谢,哇头像梁静茹哎
peng1554 发表于 2018-9-29 18:40:19
帮顶!!



关闭

原子哥极力推荐上一条 /1 下一条

正点原子公众号

如发现本坛存在违规或侵权内容, 请点击这里发送邮件举报 (或致电020-38271790)。请提供侵权说明和联系方式。我们将及时审核依法处理,感谢配合。

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2026-7-25 10:26

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表