你好,我在做一个产品用到了ST的SWIM通信协议,因为要知道信号的低电平的长度,所以我用到STM32的PWM输入捕获来获得,但是由于SWIM协议通信速度很快,而我又用C编程写程序源码如下:
“ TIM4->CCER |= 0x0011; //输入捕捉使能 CC1E=1 CC2E=1
while(!(TIM4->SR&0x0002)); //等待捕捉结束
dat[0] = TIM4->CCR1;
while(!(TIM4->SR&0x0002)); //等待捕捉结束
dat[1] = TIM4->CCR1;”
这样会有时捕获不到波形而导致程序死机,个人分析是由于信号速度发的太快,而STM32F103C8的主频有限(才72M)错过了一次捕获造成死机,请各位大虾帮忙分析分析,难道要换主控芯片?但是我看STlink也用到了这个协议,但是ST选的也是STM32F103C8这个芯片啊? |