找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2122|回復(fù): 3
打印 上一主題 下一主題
收起左側(cè)

51單片機(jī)編程錯誤1\xu.c(5):error C129: missing ';' before 'pwm' 怎么解決,求指點

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:894125 發(fā)表于 2021-3-23 14:22 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
/*******************************************************************
該文件中放的都是與定時器相關(guān)的一些函數(shù)
*******************************************************************/
#include <12c5a.H> //STC12C5A 系列單片機(jī)
extern uint16 pwm[];
extern uint8 flag_vpwm;
extern uint16 pwmj;
sbit pwm3=P0^3;
sbit pwm2=P0^2;
sbit pwm1=P0^1;
sbit pwmn=P0^0;
/*******************************************************************
函數(shù)名: timer_init()
功能: 定時器初始化函數(shù)
備注: 1T
*******************************************************************/
void Timer_init()
{
EA=1;
//開總中斷
AUXR|=0x80;
//T0 工作在 1T, T1 工作在 12T
TMOD|= 0x11;
//T0, T1 工作在方式 1,16 位
ET0 = 1;
//開定時器 0 中斷
ET1 = 1;
}
/*******************************************************************
函數(shù)名: timer0(uint32 us)
功能: 定時器 0 定時函數(shù)
參數(shù): us,毫秒。 精確定時。
備注: 晶振 12M, 工作模式 1T
*******************************************************************/
void Timer0(uint32 us)
{
uint32 valu;
valu=us*12;
//工作在 1T, 最大定時時間 2700us
valu=valu;
valu=0xffff-valu;
TH0=valu>>8;
TL0=(valu<<8)>>8;
TR0 = 1;
//T0 開始工作
}
/*******************************************************************
函數(shù)名: timer1(int16 us)
功能: 定時器 1 定時函數(shù)
參數(shù): us,毫秒。 精確定時。
備注: 晶振 12M, 工作模式 12T
*******************************************************************/
void Timer1(uint32 us)
{
uint32 valu;
valu=0xffff-us;
TH1=valu>>8;
TL1=(valu<<8)>>8;
TR1 = 1;
//T1 開始工作
}
/*******************************************************************
函數(shù)名: T0zd(void) interrupt 1
功能: 定時器 0 中斷函數(shù)
備注: 控制 4 個舵機(jī)
*******************************************************************/
void T0zd(void) interrupt 1
{
static uint8 i=1;
switch(i)
{
case 1:
{
pwm1=1;
Timer0(pwm[1]); //定時
flag_vpwm=1;
} break;
case 2:
{
pwm1=0;
//pwm1 變低
Timer0(5000-pwm[1]);// 定時
flag_vpwm=1;
} break;
case 3:
{
pwm2=1; //pwm2 變高
Timer0(pwm[2]);// 定時常數(shù)為 pwm[2]
flag_vpwm=1;
} break;
case 4:
{
pwm2=0; //pwm2 變低
Timer0(5000-pwm[2]);// 定時常數(shù)為 pwm[2]
flag_vpwm=1;
} break;
case 5:
{
pwm3=1; //pwm3 變高
Timer0(pwm[3]);// 定時常數(shù)為 pwm[3]
flag_vpwm=1;
} break;
case 6:
{
pwm3=0; //pwm3 變低
Timer0(5000-pwm[3]);// 定時
flag_vpwm=1;
} break;
case 7:
{
pwm4=1; //pwm4 變高
Timer0(pwm[4]);// 定時
flag_vpwm=1;
} break;
case 8:
{
pwm4=0; //pwm4 變低
Timer0(5000-pwm[4]);// 定時
flag_vpwm=1;
} break;
default:break;
}
i++;
}
/*******************************************************************
函數(shù)名: T1zd(void) interrupt 1
功能: 定時器 1 中斷函數(shù)
備注: 控制夾子舵機(jī)
*******************************************************************/
void T1zd(void) interrupt 3
{
static uint8 i=1;
switch(i)
//
{
case 1:
{
pwmn=1;
Timer1(pwmj);
//定時
} break;
case 2:
{
pwmn=0;
//pwm 變低
Timer0(20000-pwmj);
//定時
i=0;
} break;
default:break;
}
i++;
}
#ifndef TIMER
#define TIMER
extern Timer_init();
extern Timer0(uint32 us);
extern Timer1(uint32 us);
#endif

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報

沙發(fā)
ID:895495 發(fā)表于 2021-3-23 15:30 | 只看該作者
xu.c文件129行少了一個;號,檢查下是否缺漏,或者中英文符號混淆

評分

參與人數(shù) 1黑幣 +20 收起 理由
admin + 20 回帖助人的獎勵!

查看全部評分

回復(fù)

使用道具 舉報

板凳
ID:871393 發(fā)表于 2021-3-23 15:46 | 只看該作者
在錯誤行前后看一看, 哪里缺少分號
回復(fù)

使用道具 舉報

地板
ID:139866 發(fā)表于 2021-3-23 16:18 | 只看該作者
在pwm前缺少分號,這個看翻譯一下英語不就看出來了嗎

評分

參與人數(shù) 1黑幣 +20 收起 理由
admin + 20 回帖助人的獎勵!

查看全部評分

回復(fù)

使用道具 舉報

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

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表