久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 5755|回復: 2
收起左側

TSC觸摸感應

[復制鏈接]
ID:140959 發表于 2016-9-30 10:55 | 顯示全部樓層 |閱讀模式
2.png
七步走,
第一步:給CS放電,S3開,
第二步:所有開關關閉,
第三步:S2開啟,給CX充電。
第四步:所有開關關閉
第五步:開啟S1給CS充電
第六步:所有開關關閉
第七步:S1和S3開啟,給CX和CS放電
重復上面的7個步驟,直到CS電壓到高電平(有觸摸時重復次數將減少)


在第六步后采集到I/0端口電平是否超過閥值。
2.png

void Configure_TSC(void)
{
          RCC->AHBENR |= RCC_AHBENR_TSEN;       
          TSC->CR = TSC_CR_PGPSC_2 | TSC_CR_PGPSC_0                 // fPGCLK = fHCLK/32
| TSC_CR_CTPH_0 | TSC_CR_CTPL_0                    // pulse high = 2xtPGCLK,Master
| TSC_CR_MCV_2 | TSC_CR_MCV_1                    // Max count value = 16383 pulses
| TSC_CR_TSCE;                                                    // Enable TSC
          TSC->IOHCR &= (uint32_t)(~(TSC_IOHCR_G2_IO4 | TSC_IOHCR_G2_IO3)); // 默認使能,去除不要的端口
          TSC->IER = TSC_IER_EOAIE;                                                 // 轉換系列結束中斷
          TSC->IOSCR = TSC_IOSCR_G2_IO4;                                         // 采樣端口電容接在 G2IO4上
          TSC->IOCCR = TSC_IOCCR_G2_IO3;                                         // 觸摸按鍵設在G2IO3上
          TSC->IOGCSR |= TSC_IOGCSR_G2E;                                         // 使能組2
  
          NVIC_SetPriority(TSC_IRQn, 0);
          NVIC_EnableIRQ(TSC_IRQn);
}
void TSC_IRQHandler(void)
{
if((TSC->ISR & TSC_ISR_EOAF) == TSC_ISR_EOAF)                //系列結束否
{
TSC->ICR = TSC_ICR_EOAIC;                         /* Clear flag */
AcquisitionValue = TSC->IOGXCR[1];                 /* Get G2 counter value */
}
}
void Process(void)
{
static uint32  NumberOfCalibration=0;
uchar RefIndex=0;
static uchar RefIndexStatic=0;
static uint32  ReferenceTab[REFERENCE_TAB_SIZE];
if(AcquisitionValue)                 //有數據到來
{
if(CalibrationDone)         //是否矯正完成
{
if((AcquisitionValue + THRESHOLD) < Reference) /* Touch detected */
{
Activities = 1;
}
else if(AcquisitionValue > (Reference + THRESHOLD))
{
Activities = 1;
CalibrationDone = 0;                         /* restart calibration */
Reference = 0;                                 /* Reset reference */
}
else /* no touch detected */
{
if(ReferenceAdaptation)
{
ReferenceAdaptation=0;
RefIndexStatic%=REFERENCE_TAB_SIZE;
ReferenceTab[RefIndexStatic++] = AcquisitionValue;
for(RefIndex=0;RefIndex<REFERENCE_TAB_SIZE;RefIndex++)
{
Reference += ReferenceTab[RefIndex];
}
Reference /= (REFERENCE_TAB_SIZE + 1);
}
}
}
else /* Calibration */
{
if(NumberOfCalibration < NUMBER_OF_CALIBRATION)
{
Reference += AcquisitionValue;
NumberOfCalibration++;
}
else if(NumberOfCalibration == NUMBER_OF_CALIBRATION)
{
Reference += AcquisitionValue;
Reference /= (NUMBER_OF_CALIBRATION + 1); /* Compute reference */
NumberOfCalibration = 0; /* Reset number of calibration for nex time */
CalibrationDone = 1;                 /* Calibration Completed */
for(RefIndex=0;RefIndex<REFERENCE_TAB_SIZE;RefIndex++)
{
ReferenceTab[RefIndex] = Reference;
}
}
}
AcquisitionValue = 0;         //復位count值
TSC->CR |= (1<<1) ;                // 開始新的系列
}
}

void main()
{
Configure_TSC();
TSC->CR |= (1<<1);                                         // 開始轉換
while(1)
{
Process();
}
}


回復

使用道具 舉報

ID:248882 發表于 2018-7-10 19:02 | 顯示全部樓層
研究很長時間TSC ,不成功,能分享一下TSC工程供我學習嗎? 謝謝! feiyun_zhu@163.com
回復

使用道具 舉報

ID:158903 發表于 2018-7-11 23:41 | 顯示全部樓層
TSC觸摸感應 馬克
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 国产色网站 | 久久久久免费观看 | 久久国产精品一区二区三区 | 尤物在线视频 | 午夜精品网站 | 久久国产精品久久久久久 | 日韩av在线一区 | 久久精品国产亚洲 | 狠狠干网 | 国产一区亚洲 | 九九福利 | 91久久精品日日躁夜夜躁欧美 | 欧美 日韩 国产 成人 在线 91 | 成人在线视频网站 | 九九精品在线 | 国产成人精品一区二区 | 欧美精品在线免费观看 | 亚洲精品66 | 日韩网站在线 | 一区二区视屏 | 超碰地址 | 亚洲成人网在线播放 | 亚洲视频在线观看 | 日韩乱码一二三 | 亚洲欧美综合精品久久成人 | 日本不卡一区二区三区在线观看 | av片在线观看网站 | 亚洲欧美日本国产 | 九久久 | 91麻豆精品国产91久久久久久 | 激情六月丁香婷婷 | 日韩三级精品 | 国产中文区二幕区2012 | 亚洲精品欧美一区二区三区 | 欧美一级黄 | 91天堂| 99在线资源 | 国产毛片视频 | 特黄特色大片免费视频观看 | 在线观看www | 97综合在线 |