OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 4027|回复: 3

XPT2046 硬件SPI 读取转换值

[复制链接]

1

主题

3

帖子

0

精华

新手上路

积分
30
金钱
30
注册时间
2020-11-7
在线时间
5 小时
发表于 2022-1-11 18:15:56 | 显示全部楼层 |阅读模式
1金钱
实验内容:参见如下的链接:(61条消息) STM32 HAL 硬件SPI XPT2046_xiaguangbo的博客-CSDN博客_xpt2046 硬件spi
问题现象:连续扫描读取(在主函数的while1中不断扫描)没有问题,但是在PEN的中断里面读取会有问题(或者先检测PEN根据PEN状态判断要不要读取),就是如果前后两次读取的时间间隔较久远,PEN引脚的电平就不会跳变了(感觉就跟XPT2046内部逻辑崩了一样)。
个人猜测:参看原子的源码发现在每次读取转换值的过程中,在发送完读命令后有一个单独的时钟周期用于消除XPT2046的BUSY状态,而用硬件SPI无法进行这个操作,如果发送完读命令延时一段时间直接读16位,读出来的数据右移3位才是正常的数据,如果右移4位会造成读取的数据为正常数据的1/2,这也验证了消除BUSY的时钟周期是必须的,而且硬件SPI的方式直接把他当做数据最高位读出来了。
求问各位大神有没有什么思路,解决硬件SPI的这个问题,我试过加大延时,但是没有用,不太想用模拟SPI哈哈哈

}_NJO]F]92S)I@`{2_5{XBU.png
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

6

主题

890

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1477
金钱
1477
注册时间
2020-8-19
在线时间
335 小时
发表于 2022-1-12 09:55:47 | 显示全部楼层
回复

使用道具 举报

4

主题

896

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
4305
金钱
4305
注册时间
2019-9-4
在线时间
896 小时
发表于 2022-1-12 10:47:27 | 显示全部楼层
不是右移3位就行了吗
回复

使用道具 举报

1

主题

3

帖子

0

精华

新手上路

积分
30
金钱
30
注册时间
2020-11-7
在线时间
5 小时
 楼主| 发表于 2022-2-1 15:59:18 | 显示全部楼层
A571157242 发表于 2022-1-12 10:47
不是右移3位就行了吗

原子的模拟SPI就是右移4位,看数据手册也是,这里感觉就是多了个busy
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-2-26 03:45

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表