求助这句里面#php define的用法是怎么用的

#define怎么使用_百度知道
#define怎么使用
#define怎么使用
我有更好的答案
定义:#define PI 3.1415926#define F(x) (x+x)使用:a=2*PI*r; //相当于a=2*3.1415926*r;x=7; y=2; z=F(x)*F(x)+F(y)*F(y); // z=(x+x)*(x+x)+(y+y)*(y+y);
来自:求助得到的回答
采纳率:83%
来自团队:
为您推荐:
其他类似问题
define的相关知识
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。求助,用arduino2560连接AD7705做AD转换,返回值全是FF - Arduino论坛 -
中国电子技术论坛 -
最好最受欢迎电子论坛!
后使用快捷导航没有帐号?
求助,用arduino2560连接AD7705做AD转换,返回值全是FF
17:38:11  
最近在做学校的一个项目,其中要用AD7705做两路AD转换,并且将数据上传电脑。我用的是arduino2560,仿照别人的51的程序写了一个,却发现返回值全是0xFF。下面附上我的程序,求助各位大神帮我看看问题出在哪?#define BAUD 9600#define uchar unsigned char#define uint unsigned int
#define CS 22#define SCLK 23//串行时钟输入线#define DIN 24//DATA_IN#define DOUT 25//DATA_OUT#define DRDY 26//采用监控DRDY输出线方式
#define _nop_() do { __asm__ __volatile__ (&nop&); } while (0)
uchar Data_MSB,Data_LSB;uint AD_result,T_
void RegisterInitUart(){&&//bitSet(UCSR0A,U2X0);&&bitSet(UCSR0B,RXCIE0);& && && && && && &&&//允许接收完成中断// &&bitSet(UCSR0B,RXEN0);& && && && && && && &//开启接收功能// &&bitSet(UCSR0B,TXEN0);& && && && && && && &//开启发送功能// &&bitSet(UCSR0C,UCSZ01);&&bitSet(UCSR0C,UCSZ00);& && && && && && &&&// &&UBRR0=(F_CPU/16/BAUD-1);& && && && && && &//波特率小于9600}
void setup(){&&// put your setup code here, to run once:&&RegisterInitUart();&&pinMode(CS,OUTPUT);&&pinMode(SCLK,OUTPUT);&&pinMode(DOUT,OUTPUT);&&pinMode(DIN,INPUT);&&pinMode(DRDY,INPUT);}
void AD7705_write_Reg(uchar data_byte){& && &&&& && &&&digitalWrite(CS,LOW);& && &&&digitalWrite(SCLK,HIGH);& && &&&_nop_();& && &&&_nop_();& && &&&_nop_();& && &&&for(i=0;i&8;i++){& && && && && && && && &digitalWrite(SCLK,LOW);& && && && && && && && &_nop_();& && && && && && && && &if(data_byte & 0x80 != 0) digitalWrite(DOUT,HIGH);& && && && && && && && &else digitalWrite(DOUT,LOW);& && && && && && && && &_nop_();& && && && && && && && &_nop_();& && && && && && && && &digitalWrite(SCLK,HIGH);& && && && && && && && &data_byte &&= 1;& && && && && && && && &_nop_();& && && && && && && && &_nop_();& && && && && && && && &_nop_();& && && && && & }& && &&&digitalWrite(CS,HIGH);& && &&&digitalWrite(DOUT,HIGH);& && && && && & }
uchar AD7705_read_Reg(){& && &&&& && &&&uchar DATA_OUT;& && &&&//while(digitalRead(DRDY));//等待完成数据的更新& && &&&digitalWrite(CS,HIGH);& && &&&digitalWrite(SCLK,HIGH);& && &&&_nop_();& && &&&_nop_();& && &&&digitalWrite(CS,LOW);& && &&&_nop_();& && &&&_nop_();& && &&&digitalWrite(DIN,HIGH);//P3=0//读数据之前,对P3口进行写1操作& && &&&digitalWrite(DOUT,HIGH);/*读数据*/& && &&&for(i=0;i&8;i++)& && && && && & {& && && && && && && && &DATA_OUT&&=1;& && && && && && && && &digitalWrite(SCLK,LOW);& && && && && && && && &_nop_();& && && && && && && && &DATA_OUT=DATA_OUT|(uchar)digitalRead(DIN);& && && && && && && && &_nop_();& && && && && && && && &_nop_();& && && && && && && && &digitalWrite(SCLK,HIGH);& && && && && && && && &_nop_();& && && && && && && && &_nop_();& && && && && & }& && &&&digitalWrite(CS,HIGH);& && &&&_nop_();& && &&&//digitalWrite(DRDY,HIGH);& && &&&return (DATA_OUT);}
void AD7705_read_result(){& && &&&AD7705_write_Reg(0x38);//通信寄存器中,设置为读数据寄存器& && &&&/*数据寄存器为16位的只读寄存器,其包含了来自AD7705的最新转换结果*/& && &&&Data_MSB=AD7705_read_Reg();//读出高8位数据& && &&&Data_LSB=AD7705_read_Reg();//读出低8位数据& && &&&AD_result=(uint)Data_MSB;& && &&&AD_result&&=8;& && &&&AD_result=AD_result | (uint)Data_LSB;//位转换为数& && &&&/*转换为电压*/& && &&&//T_voltage=AD_result*;}
void AD7705_init()//根据具体情况,初始化AD7705{& && &&&AD7705_write_Reg(0x20);//写入通信寄存器;设置为写时钟寄存器& && &&&/*时钟寄存器设置*/& && &&&AD7705_write_Reg(0x0C);//MCLKIN引脚处的时钟频率在被AD7705使用前,进行2分频;20HZ输出更新率,即每50ms输出一个新字& && &&&AD7705_write_Reg(0x10);//写入通信寄存器,设置为写设置寄存器& && &&&/*设置寄存器设置*/& && &&&AD7705_write_Reg(0x44);//自校准、增益为1、单极性模拟输入、片内缓冲器短路,FSYNC清0}
void loop() {&&// put your main code here, to run repeatedly:&&delay(1000);&&AD7705_init();&&while(1){& & //选择通道1& & AD7705_write_Reg(0x10);& & //AD7705_write_Reg(0x44);//通道初始化& & delay(50);//等待完成数据更新& & //while(digitalRead(DRDY));//检测DRDY输出线引脚是否为低& & AD7705_read_result();& & UDR0 = Data_MSB;& & delay(50);& & UDR0 = Data_LSB;& & delay(50);& & /*& & //选择通道2& & AD7705_write_Reg(0x11);& & AD7705_write_Reg(0x44);//通道初始化& & delay(50);//等待完成数据更新& & //while(digitalRead(DRDY));//检测DRDY输出线引脚是否为低& & AD7705_read_result();& & UDR0 = Data_MSB;& & delay(50);& & UDR0 = Data_LSB;& & */& & delay(3000);&&}}&&while(digitalRead(DRDY));这一句都被我注释了,因为我发现不注释根本不发送数据,可能是卡在了这里。
等待验证会员
20:43:27  
您好,请问你的这个问题解决了吗
13:31:28  
赞。。。。。。。。。。。。。。。。。。。。。。
21:54:39  
大神,实现了么???急,在线等
21:54:48  
大神,实现了么???急,在线等
21:54:52  
大神,实现了么???急,在线等
21:54:56  
大神,实现了么???急,在线等
只有小组成员才能发言,
450个成员聚集在这个小组
104329浏览
创建小组步骤
创建小组创建自己的地盘
个性设置精心打造小组空间
邀请好友邀请好友加入我的小组
小组升级小组积分升级赢得社区推荐
Powered by
供应链服务
版权所有 (C) 深圳华强聚丰电子科技有限公司[新手求助]c语言在什么时候用#define去定义函数块?_c语言吧_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0成为超级会员,使用一键签到本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:579,928贴子:
[新手求助]c语言在什么时候用#define去定义函数块?收藏
请问用#define do{}while(0)和正常的使用函数区别是什么,分别在什么情况下用呢?
#define不是C语言关键字,与C语言语法没必然联系
比如几个printf组成的代码块是用#define好呢,还是定义一个函数好呢?
。。。。前两天看的黑客与画家里面好像提过这点。,。。←_←。。。记不太清楚了。。
其实那个东西叫做宏不是函数
举个例子:#define PRINT_STR(fcolor, bcolor, str)
printf(&\033[%d;%dm%s\033[0m&, (fcolor), (bcolor), (str));和void print_str(int fcolor, int bcolor, const char *s) {
printf(&\033[%d;%dm%s\033[0m&, (fcolor), (bcolor), (str));}
然后在main里面调用PRINT_STR(43, 37, &hello world\n&);和print_str(43, 37, &hello world\n&);有什么区别,用哪个好?
登录百度帐号}

我要回帖

更多关于 define语句 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信