分享
分享赚钱 收藏 举报 版权申诉 / 7

类型C语言编程开发中用好位操作符.doc

  • 上传人:hyngb9260
  • 文档编号:6356575
  • 上传时间:2019-04-09
  • 格式:DOC
  • 页数:7
  • 大小:48.50KB
  • 配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    C语言编程开发中用好位操作符.doc
    资源描述:

    1、C语言编程开发中用好位操作符1. C 语言中的位操作符因为 C 语言的设计目的是取代汇编语言,所以它必须支持汇编语言所具有的运算能力,所以 C 语言支持全部的位操作符(Bitwise Operators)。位操作是对字节或字中的位(bit)进行测试、置位或移位处理,在对微处理器的编程中,特别适合对寄存器、I/O 端口进行操作。因而本节将对此作比较详细地介绍。6种位操作符的形式与含义如下:其中让 PORTD 中控制 TRX_CE 信号的那一位先置1,再清 0,输出一高一低的脉冲信号,就在一个脉冲周期内,完成了一次数据发送。因为在程序的开头已经定义 TRX_CE 信号为 PD6位,即 TRXCE

    2、= 6,因而上面两行程序等价于:PORTD|=(1 6);PORTD 测试寄存器指定位的状态nRF905在接收数据过程中,要分别发出 CD、AM 和 DR 信号,而 MPU 也要分别对这些位进行检测,看它们是否变高,若变高,就执行下一步,否则就跳出分支,返回主程序。下面就是对这些位进行检测的一段函数:/*检查接收情况*/void nrf905_RxRecv(void)while (PIND /CD 引脚置1,检测到载波信号while (PIND /一般先 AM=1指示地址匹配对while (PIND /DR=1时表示数据接收对而且 Crc 正确/nrf905已经接收到数据nrf905_Read

    3、Data(0);/读出 nrf905中的数据其中有:while (PIND 或者:if (PIND 语句,其功能就是对寄存器指定的位进行测试。括号中是一个等式,我们将其拆分开介绍它的作用:1DR:DR 在程序的开始已经被定义为2 ,(1DR) 也就是(1 2),表示将0x01左移2位,结果为0000 0100;PIND& (1DR):PIND 为 PORTD 端口的8位引脚的值, PIND& (1DR)表示让它和(1DR) 亦即和0000 0100按位相“与”。不管 PIND 的其它位为何值,由于和0相与,这些位的结果都为0,我们关心的只有第2位的状态。由于该位与1相与,只要 DR 为高,就会有:PIND xxx x1xx& 0000 0100结果 = 0000 0100结果的第二位的状态为1,也就是整个表达式:(PIND&(1DR)= = 0不成立,语句的逻辑值为0。若 DR 为低,则有:PIND xxxx x0xx& 0000 0100结果 = 0000 0000也就是整个表达式的结果为0,(PIND&(1DR)= = 0成立,语句的逻辑值为1 。根据括号中逻辑值的情况,while 或者 if 语句再决定程序的流向。

    展开阅读全文
    提示  微传网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    关于本文
    本文标题:C语言编程开发中用好位操作符.doc
    链接地址:https://www.weizhuannet.com/p-6356575.html
    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    微传网用户QQ群:732276833  微博官方号:微传网官方   知乎号:微传网

    Copyright© 2025 微传网 weizhuannet.com 网站版权所有世界地图

    经营许可证编号:粤ICP备2021046453号   营业执照商标

    1.png 2.png 3.png 4.png 5.png 6.png 7.png 8.png 9.png 10.png


    收起
    展开