Chinaunix首页 | 论坛 | 博客
  • 博客访问: 4236006
  • 博文数量: 1148
  • 博客积分: 25453
  • 博客等级: 上将
  • 技术积分: 11949
  • 用 户 组: 普通用户
  • 注册时间: 2010-05-06 21:14
文章分类

全部博文(1148)

文章存档

2012年(15)

2011年(1078)

2010年(58)

分类: 嵌入式

2011-08-11 16:39:38

工程代码:

 5fifo中断读取数据显示.rar  


说明:
      函数发生器正弦波信号 通过ad(ads830),转换为数字信号,然后将数字信号输入到 fifo sn74lv245 中。
    
      首先是这样的: ad一直采集 正弦信号,但是我们可以控制fifo 的输入输出。

      当复位 fifo的时候,fifo从ads中接受数据,当接收到4096(满)或者是2048(半满) 都是发生触发 从高电平到低电平的跳变。我们只要捕获这个触发,就知道fifo中有没有数据了。 这里,我使用的是 半满触发标志。 因为 ads830e 是8bit 的,最大就是0xff,只有256 个点, 半满标志(  2048  / 256 =8 组数据, 已经满足了我们的需求。

      当接收到触发标志时, stm32通过 exit 外部中断标志来采集。 进入中断函数,  当我们 rclk = 0, rclk = 1, 就可以获取到数据了
   
  1. Clr_Fifo_Rclk;    
  2. Set_Fifo_Rclk;
  3. dat1 = (GPIOA->IDR) & 0x00ff;     //读取GPIOA 低8bit 数据
   
     注意一点:

由于 ad 采集的数 不一定 有0x80 这个点, 所以我们要 设置一个 以0x80 为中心的范围,作为 LCD屏上的 起点







阅读(1693) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~