|
发表于 2018-8-29 17:01:28
|
显示全部楼层
- void bsp_StartHardTimer(uint8_t _CC, uint32_t _uiTimeOut, void * _pCallBack)
- {
- uint32_t cnt_now;
- uint32_t cnt_tar;
- /*
- Ö´ÐÐÏÂÃæÕâ¸öÓï¾ä£¬Ê±³¤ = 18us (ͨ¹ýÂß¼­·ÖÎöÒDzâÁ¿IO·­×ª)
- bsp_StartTimer2(3, 500, (void *)test1);
- */
- if (_uiTimeOut < 5)
- {
- ;
- }
- else
- {
- _uiTimeOut -= 5;
- }
- cnt_now = TIM_GetCounter(TIM_HARD); /* ¶ÁÈ¡µ±Ç°µÄ¼ÆÊýÆ÷Öµ */
- cnt_tar = cnt_now + _uiTimeOut; /* ¼ÆË㲶»ñµÄ¼ÆÊýÆ÷Öµ */
- if (_CC == 1)
- {
- s_TIM_CallBack1 = (void (*)(void))_pCallBack;
- TIM_SetCompare1(TIM_HARD, cnt_tar); /* ÉèÖò¶»ñ±È½Ï¼ÆÊýÆ÷CC1 */
- TIM_ClearITPendingBit(TIM_HARD, TIM_IT_CC1);
- TIM_ITConfig(TIM_HARD, TIM_IT_CC1, ENABLE); /* ʹÄÜCC1ÖÐ¶Ï */
- }
- else if (_CC == 2)
- {
- s_TIM_CallBack2 = (void (*)(void))_pCallBack;
- TIM_SetCompare2(TIM_HARD, cnt_tar); /* ÉèÖò¶»ñ±È½Ï¼ÆÊýÆ÷CC2 */
- TIM_ClearITPendingBit(TIM_HARD, TIM_IT_CC2);
- TIM_ITConfig(TIM_HARD, TIM_IT_CC2, ENABLE); /* ʹÄÜCC2ÖÐ¶Ï */
- }
- else if (_CC == 3)
- {
- s_TIM_CallBack3 = (void (*)(void))_pCallBack;
- TIM_SetCompare3(TIM_HARD, cnt_tar); /* ÉèÖò¶»ñ±È½Ï¼ÆÊýÆ÷CC3 */
- TIM_ClearITPendingBit(TIM_HARD, TIM_IT_CC3);
- TIM_ITConfig(TIM_HARD, TIM_IT_CC3, ENABLE); /* ʹÄÜCC3ÖÐ¶Ï */
- }
- else if (_CC == 4)
- {
- s_TIM_CallBack4 = (void (*)(void))_pCallBack;
- TIM_SetCompare4(TIM_HARD, cnt_tar); /* ÉèÖò¶»ñ±È½Ï¼ÆÊýÆ÷CC4 */
- TIM_ClearITPendingBit(TIM_HARD, TIM_IT_CC4);
- TIM_ITConfig(TIM_HARD, TIM_IT_CC4, ENABLE); /* ʹÄÜCC4ÖÐ¶Ï */
- }
- else
- {
- return;
- }
- }
复制代码
为什么用捕获中断呢?
|
|