pwm动态调频和输入捕捉配合使用的问题

2019-07-21 06:25发布

在原子的例程基础上,修改程序如下,能够实现42步进电机的动态调频,而且能把输出的脉冲数显示在usart hmi串口屏上:
#include "led.h"
#include "delay.h"
#include "sys.h"
#include "pwm.h"
#include "timer.h"
#include "usart.h"
//ALIENTEK Mini STM32开发板范例代码8
//PWM输出实验   
//技术支持:www.openedv.com
//广州市星翼电子科技有限公司

extern u8  TIM2CH1_CAPTURE_STA;                //输入捕获状态                                                   
extern u16        TIM2CH1_CAPTURE_VAL;        //输入捕获值

int main(void)
{       
         int temp=0;
        u16 led0pwmval=0;   
        u8 dir=1;       
         u16 arr=8999;
        delay_init();                     //延时函数初始化          
        LED_Init();                          //初始化与LED连接的硬件接口
        TIM1_PWM_Init(8999,0);//不分频。PWM频率=72000/(899+1)=80Khz          
        TIM2_Cap_Init(0XFFFF,72-1);                //以1Mhz的频率计数  
        uart_init(115200);                                 //9600
         LED1=0;
           while(1)
        {
               
                TIM1->ARR=arr;
                arr=arr+10;
                if(arr>=9999)arr=8999;
                delay_ms(10);         
                TIM_SetCompare1(TIM1,(arr+1)/2);       
                if(dir)led0pwmval++;
                else led0pwmval--;         
                if(led0pwmval>300)dir=0;
                if(led0pwmval==0)dir=1;       
                if(TIM2CH1_CAPTURE_STA&0X80)//成功捕获到了一次高电平
                {
                        temp=temp+1;                //得到总的高电平时间
                        printf("n1.val=%dxffxffxff",temp);
                        TIM2CH1_CAPTURE_STA=0;                        //开启下一次捕获
                }
if(temp==1000)
{
        LED1=!LED1;
temp=0;
}       
        }
}

问题是程序中红 {MOD}字体部分,似乎跟功能毫无关系,为什么删去之后,程序就不能正常工作?我实在想不明白,请大神解释下
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
9条回答
大道一条
1楼-- · 2019-07-22 03:56
benevolu 发表于 2018-12-25 15:56
红 {MOD}字体如果保留,功能一切正常,去掉以后,pwm没有输出了

我这好在研究PWM,我试试你这种方式发送PWM看看成不成功。
benevolu
2楼-- · 2019-07-22 08:12
 精彩回答 2  元偷偷看……
大道一条
3楼-- · 2019-07-22 10:21
benevolu 发表于 2018-12-25 16:49
能加微信吗,我luguangyu1988,我把电机运行视频发你看看吧,程序我打包发你

我没有环境,我先验证下PWM发出来是否正常,我加你微信了

一周热门 更多>