本帖最后由 Ryanhsiung 于 2011-11-25 17:04 编辑
心情不好的时候,坏事一件接一件,今天收到NU-LINK,结果打开发现是个二手且东西不全!!!!(NU-LINK是从代理商那买的近300块大洋)
这次DOC附件文档全了
捕捉开始步骤 (DATASHEET中描述)
1.配置时钟选择(CSR)
2.配置预分频(PPR)
3.配置通道使能,上升/下降沿中断使能以及输入信号反向打开/关闭 (CCR0, CCR1)
4.配置PWM计数器寄存器 (CNR)
5.配置捕捉输入使能寄存器 (CAPENR)
6.配置相应的GPIO管脚用于PWM功能 (GPA_MFP)
7.配置相应的GPIO管脚于输入模式S (GPIOA_OMD)
8.使能PWM定时器(PCR)
9.中断接收捕捉数据(MCU+用户)
10.接收后的处理(用户)
注:不一定是10项,看个人组织
你可以操作寄存器来实现,但是我不建议这么做,我比较喜欢使用库。
库的优点:变更通道只需要改u8CapTimer = DRVPWM_CAP2; u8PWMTimer= DRVPWM_TIMER2
而操作寄存器你可以数一下有多少个了
但是我库操作中断函数还是操作寄存器(中断要求用时短所以不用库操作)。
测试后CAPTURE还是很准的!
特别注意:
请将CAPTURE的优先级设置高于大多中断,不然再采集高频率将会受到严重影响!
大家可使用NVIC_SetPriority(PWMA_IRQn,1) ;设置中断,若使用寄存器操作无特别注意!
使用库操作还要注意一下要放在DrvPWM_EnableInt函数以后,因为DrvPWM_EnableInt中有操作优先级 |