OpenEdv-开源电子网

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

模拟SPI还需要原子大哥再详细讲下

[复制链接]

72

主题

251

帖子

0

精华

高级会员

Rank: 4

积分
597
金钱
597
注册时间
2012-3-29
在线时间
7 小时
发表于 2013-6-4 18:05:01 | 显示全部楼层 |阅读模式

今天在看触摸屏实验的时候看到了模拟SPI

但是都是一笔带过了。也没怎么看懂

主要是模拟能否再详细讲下。

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

57

主题

431

帖子

1

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
886
金钱
886
注册时间
2011-12-25
在线时间
12 小时
发表于 2013-6-4 19:33:31 | 显示全部楼层
回复【楼主位】grant:
---------------------------------
看一下SPI时序就不能理解了,随便谷歌一下-SPI
很喜爱电子行业
回复 支持 反对

使用道具 举报

72

主题

251

帖子

0

精华

高级会员

Rank: 4

积分
597
金钱
597
注册时间
2012-3-29
在线时间
7 小时
 楼主| 发表于 2013-6-5 10:26:37 | 显示全部楼层
想问下什么是物理坐标 ,什么是屏幕坐标
有什么关系
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2013-6-5 10:43:13 | 显示全部楼层
回复【3楼】grant:
---------------------------------
物理坐标,我的手册里面讲的就是ADC的采样值,可以是0~4095
屏幕坐标,是指LCD的坐标,比如0~239,或者0~319.
他们之间存在一个转换关系.
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

72

主题

251

帖子

0

精华

高级会员

Rank: 4

积分
597
金钱
597
注册时间
2012-3-29
在线时间
7 小时
 楼主| 发表于 2013-6-5 14:57:23 | 显示全部楼层
回复【4楼】正点原子:
---------------------------------
原子大哥 
#define TP_PRES_DOWN 0x80  //触屏被按下   
#define TP_CATH_PRES 0x40  //有按键按下了 
你定义的这两个有什么区别。用意是什么
u8  sta; //笔的状态 
//b7:按下1/松开0; 
                                     //b6:0,没有按键按下;1,有按键按下


有点晕了,假如我按了一个键,触屏不是也按下了么?
请帮忙解释一下这个定义要表达的意思
回复 支持 反对

使用道具 举报

72

主题

251

帖子

0

精华

高级会员

Rank: 4

积分
597
金钱
597
注册时间
2012-3-29
在线时间
7 小时
 楼主| 发表于 2013-6-5 17:18:22 | 显示全部楼层
坐等高手解惑啊。
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2013-6-5 23:17:24 | 显示全部楼层
回复【5楼】grant:
---------------------------------
触摸被按下-->表示此时触摸屏一定是按下状态,手指没有离开屏幕.
有按键按下-->表示触摸屏被按下过,但是此时不一定手指还按着触摸屏.
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

72

主题

251

帖子

0

精华

高级会员

Rank: 4

积分
597
金钱
597
注册时间
2012-3-29
在线时间
7 小时
 楼主| 发表于 2013-6-6 08:58:54 | 显示全部楼层
回复【7楼】正点原子:
---------------------------------
原来如此。
回复 支持 反对

使用道具 举报

72

主题

251

帖子

0

精华

高级会员

Rank: 4

积分
597
金钱
597
注册时间
2012-3-29
在线时间
7 小时
 楼主| 发表于 2013-6-6 09:21:22 | 显示全部楼层

原子哥还是不太明白这个函数,注释让我相当迷惑

//tp:0,屏幕坐标;1,物理坐标(校准等特殊场合用)
//返回值:当前触屏状态.
//0,触屏无触摸;1,触屏有触摸
u8 TP_Scan(u8 tp)
{     
 if(PEN==0)//有按键按下
 {
  if(tp)TP_Read_XY2(&tp_dev.x,&tp_dev.y);//读取物理坐标
  else if(TP_Read_XY2(&tp_dev.x,&tp_dev.y))//读取屏幕坐标
  {
    tp_dev.x=tp_dev.xfac*tp_dev.x+tp_dev.xoff;//将结果转换为屏幕坐标
   tp_dev.y=tp_dev.yfac*tp_dev.y+tp_dev.yoff; 
   }
  if((tp_dev.sta&TP_PRES_DOWN)==0)//之前没有被按下              按你的意思是否应是 if((tp_dev.sta&(TP_PRES_DOWN|TP_CATH_PRES ))==0)
  {  
   tp_dev.sta=TP_PRES_DOWN|TP_CATH_PRES;//按键按下 
   tp_dev.x0=tp_dev.x;//记录第一次按下时的坐标
   tp_dev.y0=tp_dev.y;         
  }     
 }else
 {
  if(tp_dev.sta&TP_PRES_DOWN)//之前是被按下的                    ?
  {
   tp_dev.sta&=~(1<<7);//标记按键松开 
  }else//之前就没有被按下
  {
   tp_dev.x0=0;
   tp_dev.y0=0;
   tp_dev.x=0xffff;
   tp_dev.y=0xffff;
  }    
 }
 return tp_dev.sta&TP_PRES_DOWN;//返回当前的触屏状态

回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2013-6-6 11:43:53 | 显示全部楼层
回复【9楼】grant:
---------------------------------
没疑惑吧...你实际仿真(硬件仿真)跟踪下,看看效果.
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

72

主题

251

帖子

0

精华

高级会员

Rank: 4

积分
597
金钱
597
注册时间
2012-3-29
在线时间
7 小时
 楼主| 发表于 2013-6-6 13:48:07 | 显示全部楼层
回复【10楼】正点原子:
---------------------------------
思路没理清啊
原来是这个标志在松开手之后不会自动变化还要设置。
else//之前就没有被按下
   {
    tp_dev.x0=0;
    tp_dev.y0=0;
    tp_dev.x=0xffff;
    tp_dev.y=0xffff;
   }     
为什么数值是这个呢?
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2013-6-6 16:52:27 | 显示全部楼层
回复【11楼】grant:
---------------------------------
已在另外一贴答复你了.
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

0

主题

6

帖子

0

精华

新手上路

积分
26
金钱
26
注册时间
2015-6-2
在线时间
0 小时
发表于 2015-6-11 21:04:50 | 显示全部楼层
回复【12楼】正点原子:
---------------------------------
原子哥 
lse//之前就没有被按下 
   { 
    tp_dev.x0=0; 
    tp_dev.y0=0; 
    tp_dev.x=0xffff; 
    tp_dev.y=0xffff; 
   }      
为什么数值是这个呢?   这个答复没找到  能再说一次不
谢谢
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2015-6-11 22:05:14 | 显示全部楼层
回复【13楼】拜仁慕尼黑:
---------------------------------
作为非法值处理。
理论上,x,y只要大于4095都可以。
你不喜欢的话,可以设置其他大于4095的值。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

30

主题

705

帖子

1

精华

新手上路

积分
21
金钱
21
注册时间
2013-3-14
在线时间
52 小时
发表于 2015-6-12 08:53:53 | 显示全部楼层
楼主自己看下我的这个帖子吧:http://www.openedv.com/posts/list/42362.htm
原子哥是不是又要出黑科技了呀。^_^...
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-6-21 23:10

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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