STM32
登录
直播中
高澜栖
7年用户
195经验值
私信
关注
[问答]
求解答实验18触摸屏实验问题!
开启该帖子的消息推送
软件仿真
循环
//SPI读数据
//从7846/7843/XPT2046/UH7843/UH7846读取adc值
u16 ADS_Read_AD(u8 CMD)
{
u8 count=0;
u16 Num=0;
TCLK=0;//先拉低时钟
TCS=0; //选中ADS7843
ADS_Write_Byte(CMD);//发送命令字
delay_us(6);//ADS7846的转换时间最长为6us
TCLK=1;//给1个时钟,清除BUSY
TCLK=0;
for(count=0;count<16;count++)
{
Num<<=1;
TCLK=0;//下降沿有效
TCLK=1;
if(DOUT)Num++;
}
Num>>=4; //只有高12位有效.
TCS=1;//释放ADS7843
return(Num);
}
以上函数中的读取段,也就是for循环中貌似只有15个下降沿何以读取16位数据。是否可以将清除BUSY时的 TCLK=1;TCLK=0;这两句顺序对调下?
这是我软件
仿真
的图片,在清除BUSY后,好像只有15个下降沿。请原子哥赐教!
回帖
(3)
马沃源
2019-7-16 09:26:40
下降沿是又16个的,你好好数数吧.
至于BUSY位,能否调转,这个要看资料,或者你自己亲自试验一下,调转过来看看能否正常读数?不能就说明不能调转.能,就说明可以.
下降沿是又16个的,你好好数数吧.
至于BUSY位,能否调转,这个要看资料,或者你自己亲自试验一下,调转过来看看能否正常读数?不能就说明不能调转.能,就说明可以.
举报
田晴
2019-7-16 09:44:53
这个不能看能否正常读数。我试过将Num>>4这句改成右移3位或者5位,经过屏幕校准后都是正确的,能正常手写,将BUSY位调转后也是一样,所以我认为这只是将读取结果放大或者缩小2倍,经过校准没什么影响。
个人认为原程序for循环中只有15个下降沿,因为第一次循环中没有下降沿,最后结果右移4位后实际上只有11位有效数据。
这个不能看能否正常读数。我试过将Num>>4这句改成右移3位或者5位,经过屏幕校准后都是正确的,能正常手写,将BUSY位调转后也是一样,所以我认为这只是将读取结果放大或者缩小2倍,经过校准没什么影响。
个人认为原程序for循环中只有15个下降沿,因为第一次循环中没有下降沿,最后结果右移4位后实际上只有11位有效数据。
举报
王博
2019-7-16 09:50:09
TCLK=1;//给1个时钟,清除BUSY
TCLK=0;
for(count=0;count<16;count++)
{
Num<<=1;
TCLK=0;//下降沿有效
TCLK=1;
if(DOUT)Num++;
}
因为在进入循环的时候TCLK为0,所以第一个TCLK=0并没有体现出下降沿,你说的15个是正确的.
TCLK=1;//给1个时钟,清除BUSY
TCLK=0;
for(count=0;count<16;count++)
{
Num<<=1;
TCLK=0;//下降沿有效
TCLK=1;
if(DOUT)Num++;
}
因为在进入循环的时候TCLK为0,所以第一个TCLK=0并没有体现出下降沿,你说的15个是正确的.
举报
更多回帖
rotate(-90deg);
回复
相关问答
软件仿真
循环
7寸
触摸屏
校准不了怎么解决?
2020-08-03
1255
触摸屏
出现异常
2019-07-03
1730
MINISTM32综合
实验
进入了主界面无法通过
触摸屏
选中任何图标并做任何操作是为什么?
2020-06-08
2435
触摸屏
不能写的问题怎么回事
2020-05-20
1696
烧录
触摸屏
实验
程序出现偏离应如何解决?
2020-04-22
1767
labview作为PC客户端与mcgs
触摸屏
进行通信
2016-07-18
9812
为什么MDK4.0以上版本编译
实验
二十八
触摸屏
会失效
2019-05-16
1673
为什么24c08做IIC
实验
可以,但是做
触摸屏
就不行了?
2019-06-14
941
触摸屏
显示不了自己画的内容
2019-06-14
906
触摸屏
的原理是什么?
触摸屏
有什么功能?
2021-05-11
32348
发帖
登录/注册
20万+
工程师都在用,
免费
PCB检查工具
无需安装、支持浏览器和手机在线查看、实时共享
查看
点击登录
登录更多精彩功能!
首页
论坛版块
小组
免费开发板试用
ebook
直播
搜索
登录
×
20
完善资料,
赚取积分