久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1652|回復: 4
收起左側

stm32滑動變阻器控制舵機程序只能在debug下才能進入PWM定時器中斷?

[復制鏈接]
ID:495852 發(fā)表于 2022-1-30 21:25 | 顯示全部樓層 |閱讀模式
滑動變阻器控制舵機程序只能在debug下才能進入PWM定時器中斷,正常運行程序時不能進入定時器中斷,大佬幫忙看看,源程序在附件中。

int main(void)
{
        NVIC_PriorityGroupConfig(NVIC_PriorityGroup_1);
                /* led 端口配置 */
        LED_GPIO_Config();
        delay_config(72);
        adcConfig();
        /* 定時器初始化 */
        GENERAL_TIM_Init();

void ADC1_2_IRQHandler(void)
{
                if(ADC_GetITStatus(ADC1 ,ADC_IT_EOC) != RESET)
                {
                        Value = ADC_GetConversionValue (ADC1 );
               
                }
        ADC_ClearITPendingBit (ADC1 ,ADC_IT_EOC);

}      



void TIM2_IRQHandler(void)
{
        if(TIM_GetITStatus(TIM2,TIM_IT_Update) != RESET )
        {
               
               
                        TIM_SetCompare3(TIM2,Value*2500/4095);//舵機最大的值是2500對應2.5ms 2500/4095取出ADC每份的量*value
               
               
                TIM_ClearITPendingBit (TIM2,TIM_IT_Update );
        }      
}

NVIC_InitStruct.NVIC_IRQChannel = TIM2_IRQn ;
        NVIC_InitStruct.NVIC_IRQChannelCmd = ENABLE ;
        NVIC_InitStruct.NVIC_IRQChannelPreemptionPriority = 0;
        NVIC_InitStruct.NVIC_IRQChannelSubPriority = 1;
        NVIC_Init(&NVIC_InitStruct);
      
      
      
        NVIC_InitStruct.NVIC_IRQChannel = ADC1_2_IRQn ;
        NVIC_InitStruct.NVIC_IRQChannelCmd = ENABLE ;
        NVIC_InitStruct.NVIC_IRQChannelPreemptionPriority = 0;
        NVIC_InitStruct.NVIC_IRQChannelSubPriority = 2 ;
        NVIC_Init(&NVIC_InitStruct);

stm32f103rbt6舵機4電位器舵機_TIM2.7z

184.83 KB, 下載次數: 4

回復

使用道具 舉報

ID:743992 發(fā)表于 2022-1-31 11:27 | 顯示全部樓層
pwm不需要定時器中斷,adc其實也可以不走中斷。
同一個定時器,tim2設置成溢出中斷,然后又給他設置輸出比較,肯定會出問題。
要用定時器中斷來掃描adc和控制舵機的話,用不同的定時器。
回復

使用道具 舉報

ID:495852 發(fā)表于 2022-2-1 14:03 | 顯示全部樓層
dasSpieler 發(fā)表于 2022-1-31 11:27
pwm不需要定時器中斷,adc其實也可以不走中斷。
同一個定時器,tim2設置成溢出中斷,然后又給他設置輸出比 ...

您好,這個程序把adc轉換放到主函數while中,程序可以正常運行。
但是有一點不太明白,adc轉換中斷是走的apb1的tim1,我是用tim2進行舵機的角度調整,
兩個定時器不在一條總線上,會有干擾的情況嗎?
回復

使用道具 舉報

ID:474195 發(fā)表于 2022-2-6 00:43 | 顯示全部樓層
不同定時器之間只要中斷不沖突,無其他耦合就不影響
回復

使用道具 舉報

ID:743992 發(fā)表于 2022-2-12 10:44 | 顯示全部樓層
zhangleitj 發(fā)表于 2022-2-1 14:03
您好,這個程序把adc轉換放到主函數while中,程序可以正常運行。
但是有一點不太明白,adc轉換中斷是走 ...

你的程序里面在tim2中斷里面設置tim2的pwm輸出,這個肯定要沖突的
把tim2定時器中斷去掉,中斷服務函數里面的東西放到其他定時器里面即可
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 日韩高清一区 | 天天干夜夜 | 久久只有精品 | 日本视频中文字幕 | 一区二区三区免费网站 | 九色国产 | 中文字幕在线一区二区三区 | 一区二区三区国产精品 | 欧美成人a∨高清免费观看 欧美日韩中 | 美女黄网| 国产精品久久久久久久毛片 | 在线视频一区二区三区 | 欧美一区免费 | 免费麻豆视频 | 黄色av网站在线免费观看 | 欧美在线观看免费观看视频 | 亚洲天天| 精品一区久久 | 五月婷婷亚洲 | 久在线| 看真人视频一级毛片 | 人人天天操 | 九九综合| 国产精品久久久久久久久久免费 | 涩涩视频在线观看 | 一区二区三区免费 | 亚洲资源在线 | 久久香焦 | 国产精品免费一区二区三区四区 | 亚洲欧美一区二区三区1000 | 亚洲欧美在线一区 | 一久久久 | 亚洲成人av | 亚洲精品在线视频 | 一级片免费观看 | 欧美日韩视频在线 | 天天干亚洲 | 欧美www在线观看 | av电影一区二区 | 一级毛片黄片 | 精品日韩在线 |