前功尽弃
获得 2 次赞
帮助过151人
BAIDU_CLB_fillSlot("202738"); 这是我写的程序,但调试的时候一直是溢出中断,不知道为什么 求助 #include <msp430.h> unsigned int temp=0; unsigned char cap_flag=0; int overfloat=0; long time; void main( void ) { WDTCTL = WDTPW + WDTHOLD; // Stop WTD DCOCTL = CALDCO_1MHZ; BCSCTL1 = CALBC1_1MHZ; P1DIR &= ~BIT2; P1DIR |= BIT0; P1SEL |= BIT0+BIT2; //输入捕捉端口(P1.2) P1.0输出ACLK TACTL = TASSEL_2 + MC_2 + TAIE + TACLR; // 选择 SMCLK 为时钟,增计数模式 ,溢出中断使能 CCTL1 = CAP+CM_3+CCIS_0+SCS+CCIE; // 输入捕捉,上升沿触发,同步捕捉,CCR1 中断使能 _EINT(); //开全局中断 while(1); } #pragma vector=TIMER0_A1_VECTOR __interrupt void Timer_A1(void) { switch( TA0IV ) { case 2: cap_flag++; if(cap_flag==1) { overfloat=0; TA0CTL |= TACLR; //清定时器 } if(cap_flag==2) { temp=TA0CCR1; time=overfloat*65536+temp; cap_flag=0; } break; case 4: break; // CCR2 not used case 10: overfloat++; break; // TimerA溢出中断; } TACCTL1&=~CCIE; }
我用proteus仿真32单片机的一个小程序,一直出不来正确的结果。 我在keil中每隔1秒,A4口反转一下,但是到了proteus中,高低电平却闪的特别快,proteus中的时钟频率我设置成和keil中的一致了,还是闪的特别快。后来我发现无论在keil中怎么改延时,或者在proteus中无论怎么改晶振频率,结果都不会发生一点变化。一开始我以为是不是A口配置没配对,所以增加了A5口,只让A5口输出1,发现是可以的,既然可以,那说明就不是配置的问题。,下面是我的截图。求大佬指教是不是哪里疏忽了或者配置出了问题
我发现使用modelsim仿真,如果待测工程和testbench中如果有没有敏感信号列表的always块,或者是testbench中没有加延时的always块,仿真runall后就会卡死,点击break后也要好长之间才能break,break后仿真基本就停在有问题的always块那里,请问这个是正常的现象吗?
我有一款mipi协议的摄像头,但是貌似原子哥家的板子没有mipi的接口,需要一个转接板的,我找了xc6131数字图像处理器,有没有做过类似内容的大哥?
硬件:STM32F407VE软件:uCOSIII 开启统计任务 OSStatTaskCPUUsageInit(&err) 运行一段时间就会进入硬件错误,不开启就没事。进入硬件错误中断,返回后返回到OS_StatTask任务中此位置: while (p_tcb != (OS_TCB *)0) { /@@* ----------------- TOTAL CYCLES COUNT ----------------- */ OS_CRITICAL_ENTER(); p_tcb->CyclesTotalPrev = p_tcb->CyclesTotal; 到底是哪里的问题,哪位高手知道,请赐教。