请问各位大神,我想利用USART发送数据改变占空比来使舵机转到不同的的角度,为什么只有第一下是可以的?

2019-07-18 17:23发布

  1. 中断函数是这样的
复制代码
还有一种模式是
  1. void DEBUG_USART_IRQHandler(void)
  2. {
  3.   uint8_t ucTemp;
  4.         IF(USART_GetiTStatus(DEBUG_USARTx,USART_IT_RXNE)!=RESET)
  5.         {               
  6.                 ucTemp = USART_ReceiveData(DEBUG_USARTx);
  7.   time = ucTemp;
  8.                         TIM_SetCompare1( GENERAL_TIM , time);
  9. USART_SendData(DEBUG_USARTx,time);
  10.                         
  11.         }
  12.         
  13. }
复制代码
  1. int main(void)
  2. {        


  3. USART_Config();
  4. GENERAL_TIM_Init();



  5. while(1){


  6. }        
复制代码
这种是在中断里改变占空比的

两种都是利用setcompare的函数改变占空比,利用串口助手发了一个数后舵机转第一下,之后改变数字再也不能转了,屏幕上还是会显示发送的数字,请问是为什么呢?

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。