搜索
bottom↓
回复: 19

调试Qwheel的一米米 心的?

[复制链接]

出0入0汤圆

发表于 2009-4-21 17:26:49 | 显示全部楼层 |阅读模式
今天开始调试Qwheel,

代码如下:
#define TICKS_PER_MS          1000u
#define MEASUREMENT_PERIOD_MS 50u


#pragma vector=TIMER1_COMPA_vect
__interrupt void timer_isr( void )
{
   
   static unsigned char n = 0;
   
   n++;
   if (n == MEASUREMENT_PERIOD_MS)
   {
         
        time_to_measure_touch = 1u;

        current_time_ms += MEASUREMENT_PERIOD_MS;
        n = 0;
   }
   
}


void init_timer_isr( void )
{
   /* set timer compare value (how often timer ISR will fire) */
   OCR1A = TICKS_PER_MS;//( TICKS_PER_MS * MEASUREMENT_PERIOD_MS );

   /* enable timer ISR */
   TIMSK1_OCIE1A = 1u;

   /* timer prescaler = system clock / 8 */
   TCCR1B_CS11 = 1u;

   /* timer mode = CTC (count up to compare value, then reset) */
   TCCR1B_WGM12 = 1u;
}


void Timer0Init(void){
         
        TCCR0A = (1<<COM0B1)|(0<<COM0B0)|(1<<WGM01)|(1<<WGM00);
        TCCR0B = (0<<CS02)|(1<<CS01)|(0<<CS00);
        DDRD |= (1<<DDC5);
         
}


unsigned char Result;
unsigned char ResultOne;

int main( void )
{
        MCUCR_PUD = 1u;

        /* set recalibrate time in units of 200ms */
        qt_max_on_duration = (30000 / 200);
         
         
         
        qt_enable_rotor( CHANNEL_0, CHANNEL_2, NO_AKS_GROUP, 16u, HYST_6_25, RES_8_BIT, 0u );
        qt_enable_key( CHANNEL_3, NO_AKS_GROUP, 20u, HYST_6_25 );


        qt_init_sensing();
         
         
        init_timer_isr();
        Timer0Init();
         
         __enable_interrupt();
        while(1){
                if( time_to_measure_touch )
                {
                        
                        time_to_measure_touch = 0u;
                        qt_measure_sensors( current_time_ms );
                        
                        if ((unsigned int)(qt_touch_status.sensor_states) & BIT(1)){
                                ResultOne = 1;
                                //PORTD |=(1<<DDC5);
                        }
                        else{
                                ResultOne = 0;
                                //PORTD &=~(1<<DDC5);
                        }
                        
                        if ((unsigned int)(qt_touch_status.sensor_states) & BIT(0)){
                        
                                Result = qt_touch_status.rotor_slider_values[0];
                                OCR0B = Result;
                        }         
                }
        }
}

现在看来
1、如果使用JTAG MkII仿真器设断点观察qt_touch_status的相关值好像看不到,所以我把读到的值输出,反而看到了。如果使用大家使用断点来观察变量可能会被误导。 也许是我操作上的问题。


我现在遇到的问题:
1、atmel_touch_libraries_rev1.1 中找不到mega88pa的库了,我现在使用的是mega88p的。不知道是否有啥影响?

2、在测试波形是 Wheel的波形幅值能达到4V,而Qkey的仅有1V不到,不知道这个是什么原因?现在Qwheel转一周基本上能检测到,而Qkey是死活检测到?

这个问题我继续查。顺便说一下,现在的波形看起来基本上方波了。

3、还有就是我现在的工作在3.57M晶振下,选择m88p_8qt_BD_c3_krs.r90是否合适?

哎 对不起大家,看来还是经验少,问题多啊!

出0入0汤圆

 楼主| 发表于 2009-4-21 20:50:17 | 显示全部楼层
谢谢 傻孩子

您给的demo code中

#include <ioavr.h>
#include <intrinsics.h>
#include "touchstone_krs.h"
#include "twi_api.h"
#include "twi_lib.h"
#include "touchstone_krs.h"
#include "RD_TPL_AVR_WINDOW.h"


两次包含#include "touchstone_krs.h" 是笔误?还是?谢谢


QKey的问题可能是PCB的问题?

是走线的问题吗?这个幅度通过调节电阻和电容是不是无法改善啊?谢谢
那灵敏度和这个幅值有必然关系吗?谢谢。

出0入0汤圆

 楼主| 发表于 2009-4-22 10:05:00 | 显示全部楼层
to 4 楼 我使用的是mega88pa 用的库是mega88p 貌似没有提供mega88pa的库,我只能使用最接近的库了

to 5 楼 本版有个兄弟把pcb放出来了,你可以去下载

出0入0汤圆

 楼主| 发表于 2009-4-22 10:24:55 | 显示全部楼层
只是从你们atmel拿到的几片样片。


我现在是手触及Qkey 我在PD4 输出高电平 也就是

if ((unsigned int)(qt_touch_status.sensor_states) & BIT(1))  成立时。
否则是低电平

我用示波器 死活只能看到低电平,晕啊

关键无处下爪了。

出0入0汤圆

 楼主| 发表于 2009-4-22 11:05:02 | 显示全部楼层
谢谢傻孩子

好的

不过不是说 库修正了嘛 我不使用的为Touch的IO口

库不会修改他们的状态了嘛


谢谢

出0入0汤圆

 楼主| 发表于 2009-4-24 07:52:07 | 显示全部楼层
没有遇到过耶

如果可能的话,可以打包把你画的这个图发上来,我用我的protel 99 se帮你看看。看是否能修改。
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-5-3 12:27

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

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