完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
亲爱的所有人,试着在数据表中设置CPS函数,我的失败症状如下:当我触摸输入时,我的TMR1计数增加而不是减少,正如我所预测的。在我的例子中,我得到了如下结果:我不触摸PIN:TMR1= DZZYMAL 72再生。在每次读操作时,TMR1=8到200,从运行到运行都不同。???代码相当短:空主(空){无符号int=122;未签名int=0;未签名int=0;int=0;TrISabIt.TrISA4=1;//设置RA4为输入ANSELABItiTS.ANSA4=1;//设置RA4为模拟//TISCcBITS。TISISC3=0;//启用用于RC3的PWM驱动器CPSCON1位的输出驱动器。CPSCH=0B00 11;//选择CPS3 CPSCON0BITS CPSRNG= 0B11;//振荡在高范围CPSCON0BIT。CPSRM=0;/ /固定电压基准CPSCON0BITS CPSOUT=0;/ /电流流入PIN CPSCON0BITS。T0XCS=1;???????????????CPSCON0BITS.CPSON=1;和/或启用CPS OpthyRePix.TMR0Cs=0;//FoC/C1Cs=0B11;//激活CPM T1CONTITE的计时器1。TMR1ON=1;/TMR0上的定时器=0;TMR1=0;而(1){(ItNCONTS.TMR0IF==1)/ /溢出定时器0 {//比较计数器与参考RAW=TMR1;//IF(RAW & LT;(平均跳闸){{按下=1;} //按钮/按下/=0;};/ /未按下TMR0=0;TMR1= 0x000;ItCONTIT.TMR0IF=0;//重置溢出定时器0 } }如果这不是正确的信道/论坛以获得一些帮助,请让我知道如何正确地获得一些帮助。
以上来自于百度翻译 以下为原文 Dear all, Trying to set up the CPS function as desribed in the data sheet I fail with the following symptom. When I touch the inport that my Count for TMR1 is increased instead of decreased, as predicted. In my example I get the following results IF I DO NOT TOUCH THE PIN: TMR1 = dezimal 72 reproducable with every readout IF I DO TOUCH THE PIN: TMR1 = 8 to 200 varying from run to run?!?! The Code is rather short: void main(void) { unsigned int average = 122; unsigned int raw = 0; unsigned int trip = 50; int pressed = 0; TRISAbits.TRISA4 =1; //set RA4 to input ANSELAbits.ANSA4 =1; // set RA4 to analog //TRISCbits.TRISC3 = 0; // enable output driver for RC3 for PWM CPSCON1bits.CPSCH = 0b0011; // select CPS3 CPSCON0bits.CPSRNG =0b11; // Oscillatior in high range CPSCON0bits.CPSRM = 0; // fixed voltage reference CPSCON0bits.CPSOUT = 0; //current is flowing into pin CPSCON0bits.T0XCS = 1; // ???????????? CPSCON0bits.CPSON =1; //enable CPS OPTION_REGbits.TMR0CS =0; // FOSC/4 T1CONbits.TMR1CS = 0b11; //Activate timer 1 for CPM T1CONbits.TMR1ON = 1; //timer on TMR0=0; TMR1=0; while (1) { if (INTCONbits.TMR0IF == 1) // Overflow Timer 0 { // Compare counter with reference raw=TMR1; //if (raw < (average - trip)) {pressed=1;} //button pressed //else {pressed=0;}; //not pressed TMR0=0; TMR1=0x0000; INTCONbits.TMR0IF = 0; // Reset overflowtimer 0 } } } If this is NOT the correct channel/Forum to receive some help please let me know how to do it correct ot get some help. thanks Michael |
|
相关推荐
1个回答
|
|
来自HTTP://www. McCHIP.COM/FUMMS/M101851.ASPX
以上来自于百度翻译 以下为原文 comes from http://www.microchip.com/forums/m1018510.aspx |
|
|
|
只有小组成员才能发言,加入小组>>
5171 浏览 9 评论
2001 浏览 8 评论
1931 浏览 10 评论
请问是否能把一个ADC值转换成两个字节用来设置PWM占空比?
3176 浏览 3 评论
请问电源和晶体值之间有什么关系吗?PIC在正常条件下运行4MHz需要多少电压?
2228 浏览 5 评论
737浏览 1评论
622浏览 1评论
有偿咨询,关于MPLAB X IPE烧录PIC32MX所遇到的问题
509浏览 1评论
PIC Kit3出现目标设备ID(00000000)与预期的设备ID(02c20000)不匹配。是什么原因
635浏览 0评论
533浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-26 06:10 , Processed in 1.059761 second(s), Total 48, Slave 41 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号