请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
部件号:MSP430G2553 工具/软件:Code Composer Studio
尝试使用MSP430G2553为v/f驱动器应用生成SPWM。 这样,将来通过此代码,我可以改变调制指数和频率。 但是,我没有得到任何输出。我在CCSV5中编写了以下代码。我是CCSV5界面的新用户,无法找出错误。有人指导我朝着正确的方向前进吗?
#include <msp430g2553.h> unsigned char counter; // unsigned char wave[39]={32768,35225,37689,40139,42596,45053,47510,49967,52426,52426,52426,49967,47510,45053,425,40139,3768,384,3868,384,3868,244,3868,3868,3868,244,3868,2468,2468,3868,2468,243868,243868,2468,2468,2468,2468,2468,2468,2468,2468,2468,2468,2468,2468,2468,248382483824838243824847,24847,24847,24847,24847,24847,24847,2483868,24847,2483868,24847,2483868,24847,2483868,248362483868,2483824847, <xmt-block0>3.5225万 1.03.7689万 1.0</xmt-block>40139</s>42596 45053475104.9967万5.2426万5.2426万5.2426万499674751.045万5342.5401万376.8384万386.8384万38.68244386亿386838.68244386亿24682468386824.68243868亿24.3868万246824682468246824682468246824682468246824682468246.8248万38.2483万82.4838万24.3824万84.7248万4.7248万4.7248万4.7248万4.7248万4.7248万4.7248万386.8248万4.7248万86.8248万4.7248万386.8248万4724.8386万82.48362483亿86.8248万382.4847万 //重置计数器 //初始化计时器 CCTL0 = CCIE; // CCR0中断启用 CCTL1 = CCIE; // CCR1中断启用 CCR0 = 6.5536万; //将PWM周期设置为256时钟周期CCR1 = wave[counter]; //设置第一个占空比值 TACTL = Tassel_2 + MC_3+ TAIE + TALI; // SMCLK,upmode,enable,clear TA1R _interrupt_SR (LPM0位+ GIE); //输入LPM0 w/ interrupt }/** TimerA0中断服务例程 **/ #pragma vector = TIMER0_A0_vector __interrupt void timer_A0(void) { P1OUT |= BIT0;// 设置1.0 CCR1 = wave[counter]; //设置下一个工作周期值 计数器+=1; //如果 ( counter == 32) //如果counter位于数组 { counter =0的末尾,则将偏移量添加到CCR0; //重置计数 器} }/** TimerA1中断向量(TAVI)处理程序 **/ #pragma向量= Timer1_A1_Vector __interrupt void timer_A1(void) { SWITCH( TAIV) { 案例2:// CCR1中断 P1OUT &=~BIT0;// 清除1.0 以确定占空比。 中断; 缺省值: 中断; }