#include<reg52.h>
#include<stdio.h>
sbit beep=P3^7;//蜂鸣器
//报警程序
void buz_on(void)
{
beep = 0; //开蜂鸣器
delay_50ms(10);//延时0.5秒
beep = 1; //关蜂鸣器
}
void serial_init(void);
void main()
{
serial_init();
buz_on();//加了这句就不能输出了
printf("老哦嗷嗷嗷
");
while(1)
{
}
}
void serial_init(void) //串口初始化函数
{
TMOD = 0x20; //T1工作方式1,用于设定波特率
TH1 = 0xF3; //波特率4800Bps,12MHz晶振
TL1 = 0xF3;
PCON |= 0x80; //SMOD = 1,波特率加倍
SCON = 0x50; //允许发送接收
ES = 0; //禁止串口中断
TI = 1;
TR1 = 1;
}
加上个buz_on();这句后就不能再串口调试助手上输出了 ,把这句换成其他的函数也是不能输出 总之在printf那句前不能调用任何函数
程序可以跑到printf里 我在while里加个小灯 ,一段时间后会亮起来,这期间,
在printf里做了许多事情 可是就是不输出想要的数据 高手来帮忙解答下吧
[
本帖最后由 zzbeagle 于 2012-11-21 08:10 编辑 ]
此帖出自
小平头技术问答
一周热门 更多>