完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
本帖最后由 taizai1 于 2015-4-8 12:53 编辑
[/table][table=98%,rgb(239, 245, 249)] #define RED_EW_ON() P0 &= ~0x01 #define RED_EW_OFF() P0 |= 0x01 #define YELLOW_EW_BLINK() P0 ^= 0x02 谁能告诉我啊 P0 &= ~0x01 直接写P0 = 0xfe P0 |= ~0x01 直接写P0 = 0xff P0 ^= 0x02 直接写P0 = 0xfd 有什么区别啊;非要整得让人看不懂吗; 还是有什么好处啊 |
|
相关推荐
8个回答
|
|
让我这个老菜鸟给你回答吧,与或非你知道是啥意思了吧?PO = 0XFE;也就是二进制的1111 1110,对不对?0x01取反等价于~0X01也就是0XFE,&是什么作用呢?让某一位清零,也就是最低位清零,而其他位保持不变,|呢?让某一位置1,其他保持不变,但是为什么要这样用呢?以后如果你有机会同时用到了两个定时器(特指51),比如说TMOD这个寄存器,他是不能进行单独的位操作的,一次必须操作整个8位数据,如果你只用到了定时器0或者是定时器1,那么你设置TMOD = 0X01;也对,但是已经影响到了定时器1的设置了,定时器1不用还好,如果用的话,就容易出错,所以你应该这样写TMOD &= 0XF0;即低四位清零,高四位不变,TMOD |= 0X01;最低位置1,高7位不改变,这就达到了互不干扰的目的,明白了吗?不明白,加QQ597627977,详聊
最佳答案
评分 |
|
|
|
回复太详细了,赞一个 |
|
|
|
二楼回答的很详细啦~ 谢谢二楼
|
|
|
|
很好很好,这么厉害还这么谦虚。。
|
|
|
|
有收获,解决了我在32位机上的疑惑。
|
|
|
|
|
|
|
|
回答很好,按位与和或是很有用的,有的单片机无位操作功能,必须用这个办法。
|
|
|
|
终于找到答案了,我说我操作了寄存器会影响其他位
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
7 浏览 0 评论
26 浏览 1 评论
基于瑞萨FPB-RA4E2智能床头灯项目——1编译环境搭建与点亮驱动ws2812全彩LED
13 浏览 0 评论
嵌入式学习-飞凌嵌入式ElfBoard ELF 1板卡-LCD显示图片编程示例之介绍mmap
644 浏览 0 评论
《DNESP32S3使用指南-IDF版_V1.6》第二章 常用的C语言知识点
1000 浏览 0 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
11771 浏览 31 评论
浏览过的版块 |
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-24 21:11 , Processed in 0.616001 second(s), Total 60, Slave 53 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号