打印

到主程序怎么读取

[复制链接]
710|18
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
langgq|  楼主 | 2022-7-5 21:38 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
//================数据读取子程序==========
unsigned char Read1302 ( unsigned char addr )
{
unsigned char i,temp,dat1,dat2;
CE=0;
SCLK=0;
CE = 1;
//发送地址
for ( i=8; i>0; i-- ) //循环8次移位
{
SCLK = 0;
temp = addr;
DIO = (bit)(temp&0x01); //每次传输低字节
addr >>= 1; //右移一位
SCLK = 1;
}
//读取数据
for ( i=8; i>0; i-- )
{
ACC_7=DIO;
SCLK = 0;
ACC>>=1;
SCLK = 1;
}
CE=0;
dat1=ACC;
dat2=dat1/16; //数据进制转换
dat1=dat1%16; //十六进制转十进制
dat1=dat1+dat2*10;
return (dat1);
}
//#################
如上的程序,返回主程序后,返回数值时dat1,这个数值到主程序,怎么读取?

使用特权

评论回复
沙发
chenjunt| | 2022-7-5 21:40 | 只看该作者
xx = Read1302(xx);

使用特权

评论回复
板凳
zhanghqi| | 2022-7-5 21:42 | 只看该作者
y = Read1302(x);

使用特权

评论回复
地板
jlyuan| | 2022-7-5 21:45 | 只看该作者
方法多的是,返回后你就当他是个变量就行了;
比如:
y = Read1302(x);
z = Read1302(y);

z = Read1302(Read1302(x));

使用特权

评论回复
5
juventus9554| | 2022-7-5 21:48 | 只看该作者
就是c语言中调用子函数而已

使用特权

评论回复
6
langgq|  楼主 | 2022-7-5 21:51 | 只看该作者
哦,这么简单啊

使用特权

评论回复
7
jiajs| | 2022-7-5 21:54 | 只看该作者
为什么发送地址的时候要循环8次移位呢?

使用特权

评论回复
8
chuxh| | 2022-7-5 22:00 | 只看该作者
调用子函数来读取数据。。。

使用特权

评论回复
9
wyjie| | 2022-7-5 22:01 | 只看该作者

DIO = (bit)(temp&0x01); //每次传输低字节 addr >>= 1; //右移一位 SCLK = 1;这里楼主怎么想的呀???

使用特权

评论回复
10
llljh| | 2022-7-5 22:03 | 只看该作者

读取数据和写入数据一定要匹配才行。。。

使用特权

评论回复
11
pengf| | 2022-7-5 22:05 | 只看该作者

这个数据转换,看起来比较不错,不知道哪里出问题了。。。

使用特权

评论回复
12
langgq|  楼主 | 2022-7-5 22:07 | 只看该作者
多谢大家讨论这么多哈,呵呵

使用特权

评论回复
13
海滨消消| | 2022-7-7 08:51 | 只看该作者
请问楼主最后问题解决了吗

使用特权

评论回复
14
tpgf| | 2022-8-2 10:19 | 只看该作者
这个是什么通讯方式啊

使用特权

评论回复
15
qcliu| | 2022-8-2 10:44 | 只看该作者
这样读取数据很麻烦

使用特权

评论回复
16
coshi| | 2022-8-2 10:51 | 只看该作者
数据转换估计要挨步查看问题了

使用特权

评论回复
17
drer| | 2022-8-2 11:18 | 只看该作者
读数据和写数据哪里不匹配了啊

使用特权

评论回复
18
wiba| | 2022-8-2 11:43 | 只看该作者
调用成熟函数进行读取

使用特权

评论回复
19
kxsi| | 2022-8-2 11:49 | 只看该作者
直接做除法 太浪费资源了吧

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

932

主题

8762

帖子

1

粉丝