OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 4508|回复: 3

TIM1定时器输出SPWM波求助

[复制链接]

13

主题

27

帖子

0

精华

初级会员

Rank: 2

积分
112
金钱
112
注册时间
2014-9-20
在线时间
8 小时
发表于 2014-9-20 20:29:45 | 显示全部楼层 |阅读模式
5金钱
正在写SPWM波程序,遇到了很多问题,希望大家能帮助讨论
这是中断函数
  u16 num = 0;
  u16
Duty[]={ 2000, 2035, 2070, 2105, 2140, 2174, 2209, 2244, 2278, 2313, 2347, 2382, 
           2416, 2450, 2484, 2518, 2551, 2585, 2618, 2651, 2684, 2717, 2749, 2781, 
           2717, 2749, 2781, 2813, 2845, 2877, 2908, 2939, 2970, 3000, 3030, 3060,
           3089, 3118, 3147, 3176, 3204, 3231, 3259, 3286, 3312, 3338, 3364, 3389,
           3414, 3439, 3463, 3486, 3509, 3532, 3554, 3576, 3597, 3618, 3638, 3658,
           3677, 3696, 3714, 3732, 3749, 3766, 3782, 3798, 3813, 3827, 3841, 3854,
           3867, 3879, 3891, 3902, 3913, 3923, 3932, 3941, 3949, 3956, 3963, 3970,                                               
           3975, 3981, 3985, 3989, 3992, 3995, 3997, 3999, 4000, 4000, 4000, 3999, 
           3997, 3995, 3992, 3989, 3985, 3981, 3975, 3970, 3963, 3956, 3949, 3941,
           3932, 3923, 3913, 3902, 3891, 3879, 3867, 3854, 3841, 3827, 3813, 3798,
           3782, 3766, 3749, 3732, 3714, 3696, 3677, 3658, 3638, 3618, 3597, 3576,
           3554, 3532, 3509, 3486, 3463, 3439, 3414, 3389, 3364, 3338, 3312, 3286,
           3259, 3231, 3204, 3176, 3147, 3118, 3089, 3060, 3000, 2970, 2939, 2908,
           2877, 2845, 2813, 2781, 2749, 2717, 2684, 2651, 2618, 2585, 2551, 2518,
           2484, 2450, 2416, 2382, 2347, 2313, 2278, 2244, 2209, 2174, 2140, 2105,
           2070, 2035, 2000, 1965, 1930, 1895, 1860, 1826, 1791, 1756, 1722, 1687, 
           1653, 1618, 1584, 1550, 1516, 1482, 1449, 1382, 1349, 1316, 1283, 1251,
           1219, 1187, 1155, 1123, 1092, 1061, 1030, 1000, 970,  940,  911,  882, 
           853,  824,  796,  769,  741,  714,  688,  662,  636,  611,  586,  561,
           537,  514,  491,  468,  446,  424,  403,  382,  362,  342,  323,  304, 
           286,  268,  251,  234,  218,  202,  187,  173,  159,  146,  133,  121, 
           109,  98,   87,   77,   68,   59,   51,   44,   37,   30,   25,   19,
           15,   11,   8,    5,    3,    1,    0,    0,    0,    1,    3,    5, 
           8,    11,   15,   19,   25,   30,   37,   44,   51,   59,   68,   77, 
           87,   98,   109,  121,  133,  146,  159,  173,  187,  202,  218,  234,
           251,  268,  286,  304,  323,  342,  362,  382,  403,  424,  446,  468, 
           491,  514,  537,  561,  586,  611,  636,  662,  688,  714,  741,  769, 
           796,  824,  853,  882,  911,  940,  970,  1000, 1030, 1061, 1092, 1123,
           1155, 1187, 1219, 1251, 1283, 1316, 1349, 1382, 1415, 1449, 1482, 1516,
           1550, 1584, 1618, 1653, 1687, 1722, 1756, 1791, 1826, 1860, 1895, 1930};
  
void TIM1_CC_IRQHandler(void)
{
if(TIM_GetITStatus(TIM1,TIM_IT_CC1) != RESET)
{
TIM_SetCompare1(TIM1,Duty[num]);
 num++;
 if(num == 360)
 num = 0;
}
// TIM_ClearFlag(TIM1, TIM_IT_CC1);
注释掉TIM_ClearFlag这一行程序可以正常工作,但不注释掉输出就是高电平了,不解,还有我用TIM_GetPendingBit就会报错,这种中断最后不是都应该清除标志位吗?是这条语句我没有理解还是整个中断函数有问题?

明天的你会感谢今天努力奋斗的自己
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2014-9-20 22:58:52 | 显示全部楼层
我们用的是:TIM_ClearITPendingBit
你试试这个函数
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

13

主题

27

帖子

0

精华

初级会员

Rank: 2

积分
112
金钱
112
注册时间
2014-9-20
在线时间
8 小时
 楼主| 发表于 2014-9-21 09:06:15 | 显示全部楼层
回复【2楼】正点原子:
---------------------------------
回复【2楼】正点原子:
---------------------------------
额,上面打错了,我用了这个函数,不加的时候能输出正常SPWM波,加了以后PA8一直输出高电平,互补的PB13一直1输出低电平,求原子哥解答。
明天的你会感谢今天努力奋斗的自己
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2014-9-21 22:48:18 | 显示全部楼层
回复【3楼】flashtt:
---------------------------------
这就奇怪了,我们例程用这个很好使。
看不出你这个其他地方还有问题
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-7-1 04:45

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表