串口输出的问题啊

2019-03-25 19:23发布

#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 编辑 ] 此帖出自小平头技术问答
0条回答

一周热门 更多>