keil5老是编译不成功,请大咖帮忙指点指点
#include "stc8g.h"#define LED_PIN P5^4
#define IR_PIN P5_5
#define SIGNAL_INPUT P3_0
#define OUTPUT_CONTROL1 P3_2
#define OUTPUT_CONTROL2 P3_3
#define IR_CARRIER_FREQ 38000// 38KHZ
#define PULSE_WIDTH_US1000 // 1000us
#define DUTY_CYCLE 50 // 50%
#define IR_EN
void Delay_8us(void) //@11.0592MHz//38KHZ 1¸öÖÜÆÚ 1/3
{
unsigned char data i;
_nop_();
i = 27;
while (--i);
}
void send_Ir(unsigned int i) //·¢ËÍ¸ßµçÆ½//38KhzÔØ²¨·¢É䣬·¢Éäi¸öÖÜÆÚ
{
while(i--);
{
IR_EN = 1; //1¸öÔØ²¨ÐźŠ1¸öÖÜÆÚ30%µÄ38KHZʱ¼ä26.3us
Delay_8us();
IR_EN = 0;
Delay_8us();
Delay_8us();
}
}
void no_send_Ir(unsigned int i) //·¢ËÍµÍµçÆ½ £¬²»·¢ÉäÔØ²¨
{
while(i--);
{
IR_EN = 0;
Delay_8us();
Delay_8us();
Delay_8us();
}
}
void send_rc5_0(void)
{
send_Ir(19);
no_send_Ir(19)£»
}
void send_rc5_1(void)
{
send_Ir(19);
no_send_Ir(19)£»
}
void delay_us(unsigned int us);
void Timer0_Init(void);
void IR_send_pulse();
void main()
{
P5M4 &= ~(1 << LED_PIN); //
P5M4 &= ~(1 << IR_PIN);
P3M4 |= (1 << SIGNAL_INPUT);
P3M4 &= ~((1 << OUTPUT_CONTROL1) | (1 << OUTPUT_CONTROL2));
P32 = 0;
P33 = 1;
LED_PIN = 0;
while (1)
{
if (SIGNAL_INPUT == 0)
{
OUTPUT_CONTROL1 = 1;
OUTPUT_CONTROL2 = 0;
}
else
{
OUTPUT_CONTROL1 = 0;
OUTPUT_CONTROL2 = 1;
}
if (OUTPUT_CONTROL1)
{
LED_PIN = 1;
}
else
{
LED_PIN = 0;
}
IR_send_pulse();
}
void Timer0_Init(void) //500us @11.0592MHz
{
AUXR |= 0x80;
TL0 = 0x66;
TH0 = 0xEA;
TF0 = 0;
TR0 = 1;
}
void IR_send_pulse()
{
unsigned int on_time = (PULSE_WIDTH_US * DUTY_CYCLE) / 100;
unsigned int off_time = PULSE_WIDTH_US - on_time;
while (1)
{
IR_PIN = 1;
delay_us(on_time);
IR_PIN = 0;
delay_us(off_time);
}
}
显示这个:main.c(115): error C141: syntax error near '}', expected 'hdata'
P5.4口在P3.2口有输出时,控制LED灯亮,否则就灭。
P5.5口输出38KHZ的载波信号,一直输出宽度为1000us的方波,占空比为50%,以控制红外管发光。
当P3.0口接收到低电平信号,P3.2输出高电平,P3.3输出低电平;否则,P3.2输出低电平,P3.3输出高电平。
加上 }
看对了没
P5M4 &= ~(1 << LED_PIN); //
P5M4 &= ~(1 << IR_PIN);
P3M4 |= (1 << SIGNAL_INPUT);
P3M4 &= ~((1 << OUTPUT_CONTROL1) | (1 << OUTPUT_CONTROL2));
这些是什么P5M4,P3M34? 简单的语法问题啊... 邮箱 发表于 2024-11-10 23:12
加上 }
看对了没
还是不行
soma 发表于 2024-11-10 23:38
P5M4 &= ~(1
P5M4 &= ~(1 << LED_PIN); // 设置P5.4为推挽输出
P5M4 &= ~(1 << IR_PIN); // 设置P5.5为推挽输出
P3M4 |= (1 << SIGNAL_INPUT);// 设置P3.0为输入
P3M4 &= ~((1 << OUTPUT_CONTROL1) | (1 << OUTPUT_CONTROL2)); // 设置P3.2, P3.3为推挽输出 shen168 发表于 2024-11-11 09:14
还是不行
加上}以后还报错,编译报错信息发出来啊 本帖最后由 Lkck8210 于 2024-11-11 11:40 编辑
槽点太多,这代码是AI写的?
前排围观
页:
[1]
2