2004|5

11

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

新手请教 [复制链接]

编程时寄存器的位进行与运算和或运算是什么意思呀
此帖出自stm32/stm8论坛

最新回复

本质上就是将 BCSCTL1寄存器中的XT2OFF清零,你可以查一下对应单片机datesheet中的BCSCTL1寄存器,看XT2OFF是第几位。那这个操作基本上就是把那一位清零。  详情 回复 发表于 2017-9-17 12:13
点赞 关注
 

回复
举报

2774

帖子

8

TA的资源

版主

沙发
 
就是根据需要去修改寄存器,按位与和按位或,是一种修改方式,因为很多单片机不能像51单片机一样,是不能直接修改一个位的,每次修我以为都是一个寄存器总体,比如一个8位的寄存器,如果要想修改其中一位又不能破外其他的无需修改的位,因为不能接收位操作,只能整体操作,所以使用与和或来有选择性的修改其中的一位或多位,而不影响其它位的值。如果你问的是C语言中“与运算”和“或运算”,我觉得你先别玩单片机了,先学一点点C语言,与和或都是逻辑运算,话说基础要求不高,但是基本运算还是要学一点点的。
此帖出自stm32/stm8论坛
 
 

回复

11

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
strong161 发表于 2017-9-17 11:41
就是根据需要去修改寄存器,按位与和按位或,是一种修改方式,因为很多单片机不能像51单片机一样,是不能直 ...

BCSCTL1&=~XT2OFF;
请问这条程序是想实现什么功能呢
此帖出自stm32/stm8论坛

点评

本质上就是将 BCSCTL1寄存器中的XT2OFF清零,你可以查一下对应单片机datesheet中的BCSCTL1寄存器,看XT2OFF是第几位。那这个操作基本上就是把那一位清零。  详情 回复 发表于 2017-9-17 12:13
从命名上看 应该是开启XT2晶振吧或者开启晶振,具体要去看工程里面的定义。 目测来看 BCSCTL1 是一个寄存器, XT2OFF 一个数字, &= ~XT2OFF ,你可以看看XT2OFF 具体是什么样数据, 比如: XT2OFF=0x01, 每个  详情 回复 发表于 2017-9-17 12:09
 
 

回复

2774

帖子

8

TA的资源

版主

4
 
单片机小白~ 发表于 2017-9-17 11:53
BCSCTL1&=~XT2OFF;
请问这条程序是想实现什么功能呢

从命名上看 应该是开启XT2晶振吧或者开启晶振,具体要去看工程里面的定义。 目测来看 BCSCTL1 是一个寄存器,
XT2OFF 一个数字,  &= ~XT2OFF  ,你可以看看XT2OFF 具体是什么样数据,  比如: XT2OFF=0x01,
每个单片机公司使用的方式不同,比如TI使用BIT0 表示第1位,BIT1 表示第2位,你得查整个查看工程得到XT2OFF的值,一般这个值,对应的如果有一位为1或者是零, 假设是0x01,  那就是 000000001B,那就表示这个操作就是去修改  BCSCTL1  的最低位, BCSCTL1  的最低位的,&= ~,一般是用来清除某个位的操作,
具体BCSCTL1 = BCSCTL1&(~XT2OFF),就用也先把XT2OFF取反,变成(11111110B)& BCSCTL1,这样除了XT2OFF对应的 0&X = 0 所以第一位会清零,别的位上是1&X = X,所以别的位的值不会变。
此帖出自stm32/stm8论坛
 
 
 

回复

2774

帖子

8

TA的资源

版主

5
 
单片机小白~ 发表于 2017-9-17 11:53
BCSCTL1&=~XT2OFF;
请问这条程序是想实现什么功能呢

本质上就是将 BCSCTL1寄存器中的XT2OFF清零,你可以查一下对应单片机datesheet中的BCSCTL1寄存器,看XT2OFF是第几位。那这个操作基本上就是把那一位清零。
此帖出自stm32/stm8论坛
 
 
 

回复

11

帖子

0

TA的资源

一粒金砂(初级)

6
 
单片机小白~ 发表于 2017-9-17 11:53
BCSCTL1&=~XT2OFF;
请问这条程序是想实现什么功能呢

谢谢大佬
此帖出自stm32/stm8论坛
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条
报名赢【小米双肩包、contigo水杯】 | TI MSPM0 系列 MCU 再添新成员
了解TI 前沿新品——高性能与高性价比的优秀组合 MSPM0G351x / MSPM0L111x,4月24日(周四)上午10:00直播~

查看 »

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

 
机器人开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网 11

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表