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

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 5451|回復(fù): 3
收起左側(cè)

小白學(xué)stm32,利用pwm產(chǎn)生兩路pwm波,我總是發(fā)現(xiàn)有問(wèn)題!

[復(fù)制鏈接]
ID:128488 發(fā)表于 2016-12-24 12:52 | 顯示全部樓層 |閱讀模式
如題,我利用pwm波產(chǎn)生兩路的Pwm波去產(chǎn)生點(diǎn)擊的驅(qū)動(dòng)信號(hào),并且進(jìn)行調(diào)速,但是呢你發(fā)現(xiàn)有很多的問(wèn)題,希望高手解答,謝謝!
首先說(shuō)明下我是用的正點(diǎn)原子的開(kāi)發(fā)板調(diào)試的,程序也是用的他們的程序改的,但是我感覺(jué)這個(gè)pwm 并沒(méi)有按照我設(shè)定的調(diào)速,左右兩個(gè)輪子并不能實(shí)現(xiàn)獨(dú)立的改變占空比,如都是50%,或者一個(gè)50%一個(gè)40%然后一個(gè)遞減,實(shí)現(xiàn)轉(zhuǎn)彎之類的。代碼如下所示:
  1. #include "stm32f10x.h"
  2. #include "led.h"
  3. #include "delay.h"
  4. #include "timer.h"

  5. u16 pwmval=0;   
  6. u16 pwmval1=0;
  7.   u8  change=1;   
  8.         u8  change1=1;
  9. int main(void)
  10. {
  11.        
  12.         NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);
  13.         LED_Init();
  14.         delay_init();
  15.         Timer3_Init(899,0,100,400);
  16.         while(1)
  17.         {
  18.                 if(change)     pwmval++;
  19.                 else           pwmval--;
  20.                 delay_ms(10);
  21.                 if(pwmval>200) change=0;
  22.                 if(pwmval==0)  change=1;                         //pwmval×÷ÎaÕ¼¿Õ±è
  23.                
  24.                 if(change1)     pwmval1++;
  25.                 else           pwmval1--;
  26.                         delay_ms(10);
  27.                 if(pwmval1>200) change1=0;
  28.                 if(pwmval1==0)    change1=1;  
  29.     TIM_SetCompare1(TIM3,pwmval1);
  30.                 TIM_SetCompare2(TIM3,pwmval);                //
  31.         }
  32.        
  33. }
復(fù)制代碼
timer.c
  1. #include "timer.h"
  2. #include "led.h"
  3. void Timer3_Init(u16 arr, u16 psc,u16 CCR1,u16 CCR2)
  4. {
  5.         TIM_TimeBaseInitTypeDef TIM_TimeBaseInitStruct;                  //定時(shí)器初始化結(jié)構(gòu)體
  6.         GPIO_InitTypeDef GPIO_InitStruct;                                //IO初始化結(jié)構(gòu)體
  7.         TIM_OCInitTypeDef TIM_OCInitStruct;                              //通道設(shè)置結(jié)構(gòu)體
  8.        

  9.           RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM3,ENABLE);              //開(kāi)啟定時(shí)器2時(shí)鐘
  10.           RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB|RCC_APB2Periph_AFIO,ENABLE);        //開(kāi)啟IO口時(shí)鐘和復(fù)用
  11.                 RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA|RCC_APB2Periph_GPIOB,ENABLE);        //開(kāi)啟IO口
  12.        
  13.        
  14.         TIM_TimeBaseInitStruct.TIM_ClockDivision=TIM_CKD_DIV1;
  15.         TIM_TimeBaseInitStruct.TIM_Period=arr;
  16.         TIM_TimeBaseInitStruct.TIM_Prescaler=psc;
  17.         TIM_TimeBaseInitStruct.TIM_CounterMode=TIM_CounterMode_Up;
  18.        
  19.         TIM_TimeBaseInit(TIM3,&TIM_TimeBaseInitStruct);                  //定時(shí)器初始化
  20.        
  21.        
  22.          
  23.         //TIM_Cmd(TIM3,ENABLE);                                           //使能定時(shí)器2時(shí)鐘
  24.        
  25.        
  26.         /********************************************************************************8
  27.                                    一下為IO口的配置
  28.        
  29.         *********************************************************************************/
  30.        
  31.        
  32.         //GPIO_PinRemapConfig(GPIO_PartialRemap_TIM3,ENABLE);                             //設(shè)置定時(shí)器3重映射

  33.        

  34.         GPIO_InitStruct.GPIO_Mode=GPIO_Mode_AF_PP;
  35.         GPIO_InitStruct.GPIO_Pin=GPIO_Pin_6|GPIO_Pin_7;
  36.         GPIO_InitStruct.GPIO_Speed=GPIO_Speed_50MHz;
  37.         GPIO_Init(GPIOA,&GPIO_InitStruct);                                              //PA.6初始化,對(duì)應(yīng)于定時(shí)器3通道1
  38.        
  39.         GPIO_InitStruct.GPIO_Mode=GPIO_Mode_AF_PP;
  40.         GPIO_InitStruct.GPIO_Pin=GPIO_Pin_5;
  41.         GPIO_InitStruct.GPIO_Speed=GPIO_Speed_50MHz;
  42.         GPIO_Init(GPIOB,&GPIO_InitStruct);
  43. //       
  44. //        GPIO_InitStruct.GPIO_Mode=GPIO_Mode_IPU;
  45. //        GPIO_InitStruct.GPIO_Pin=GPIO_Pin_5;
  46. //        GPIO_InitStruct.GPIO_Speed=GPIO_Speed_50MHz;
  47. //        GPIO_Init(GPIOE,&GPIO_InitStruct);

  48.         /************************************************************************************
  49.                                      以下為通道相關(guān)設(shè)置
  50.        
  51.         ************************************************************************************/

  52.         TIM_OCInitStruct.TIM_OCMode=TIM_OCMode_PWM2;  
  53.         TIM_OCInitStruct.TIM_OCPolarity=TIM_OCPolarity_High;                            //高電平
  54.         TIM_OCInitStruct.TIM_OutputState=TIM_OutputState_Enable;
  55.         TIM_OCInitStruct.TIM_Pulse=CCR2;
  56.         TIM_OC2Init(TIM3,&TIM_OCInitStruct);                                            //通道2初始化、
  57.        
  58.         TIM_OC2PreloadConfig(TIM3,TIM_OCPreload_Enable);
  59.        
  60.         TIM_OCInitStruct.TIM_OCMode=TIM_OCMode_PWM2;   
  61.         TIM_OCInitStruct.TIM_OCPolarity=TIM_OCPolarity_High;                            //高電平
  62.         TIM_OCInitStruct.TIM_OutputState=TIM_OutputState_Enable;
  63.         TIM_OCInitStruct.TIM_Pulse=CCR1;
  64.         TIM_OC1Init(TIM3,&TIM_OCInitStruct);                                            //通道1初始化、
  65.        
  66.         TIM_OC1PreloadConfig(TIM3,TIM_OCPreload_Enable);
  67. //        TIM_CtrlPWMOutputs(TIM3,ENABLE);
  68. //  TIM_ARRPreloadConfig(TIM3,ENABLE);       
  69.         TIM_Cmd(TIM3,ENABLE);                                                           //使能定時(shí)器3時(shí)鐘

  70. }
復(fù)制代碼


回復(fù)

使用道具 舉報(bào)

ID:473159 發(fā)表于 2020-7-26 16:09 | 顯示全部樓層
你一方面用時(shí)基定時(shí),同時(shí)又用延時(shí)來(lái)定時(shí),不出現(xiàn)狀況才是奇跡
回復(fù)

使用道具 舉報(bào)

ID:752799 發(fā)表于 2020-7-26 12:08 | 顯示全部樓層
老哥,這個(gè)問(wèn)題你解決沒(méi),我也有同樣的問(wèn)題
回復(fù)

使用道具 舉報(bào)

ID:326783 發(fā)表于 2018-6-24 07:04 | 顯示全部樓層
把 if(pwmval>200) change=0;
                if(pwmval==0)  change=1;
change改為pwmval試試
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 农村真人裸体丰满少妇毛片 | 国产精品美女久久久久aⅴ国产馆 | 亚洲一区精品视频 | 午夜视频一区二区 | 国产真实乱全部视频 | 色婷婷久久久亚洲一区二区三区 | 久草视频网站 | 激情 亚洲 | 五月婷婷中文 | 国产一区二区精品在线 | 成人在线亚洲 | 日本人爽p大片免费看 | 美国一级毛片a | 超碰91在线 | 五月免费视频 | 日韩a| 欧美在线一区二区视频 | 亚洲一区二区av | 久久久久久免费毛片精品 | 狠狠的日 | 羞羞视频网站 | 国产精品激情在线 | 欧美精品三区 | 少妇黄色 | 国产中的精品av涩差av | 色毛片 | 日韩中文字幕视频 | 精精精精xxxx免费视频 | 欧美另类视频 | 亚洲欧洲精品成人久久奇米网 | 日韩在线小视频 | 九九精品影院 | 91国自视频 | 久久国产麻豆 | 综合久 | 色婷婷影院 | 能看的av | 一道本一区二区 | 久草视频在线播放 | 亚洲一区二区视频 | 日韩在线播放第一页 |