天问剑语吧 关注:19贴子:590
  • 1回复贴,共1

【用单片机printf】

取消只看楼主收藏回复

有时候我们懒得用灯或者液晶显示,我们可以直接调用printf函数,在51当中,记得把头文件“studio”头文件添上,另外,这个printf其实是编译器捣的鬼,但是我们还是要做一些必要的初始化,对串口进行设置,还有就是波特率是重点,所以晶振的大小选好。


IP属地:广东1楼2013-10-27 19:37回复
    其实这个就是说:
    一些单片机的开发编译器自带一些库函数中写有printf的函数,只是需要添加相应的头文件,他的这个printf函数是遵循这个单片机的协议的。并不是统一遵循c语言中printf的协议的。
    尽管单片机内部写好了printf的函数,但是一些关于串口的设置还得我们来,比如说51中,你至少需要开启串口吧!!另外波特率神马的你也需要写吧!!其他的一些都是小事,上一个示例程序:
    void usrt_init()
    {
    TMOD=0x20;//即0010 0000,定时器/计数器1,工作方式2
    TH1=0xfd; //设置波特率为9600
    TL1=0xfd;
    TR1=1;//启动定时器/计数器1
    SCON=0x50;//0101 0000.串口工作方式1,允许串行控制
    PCON=0x00;//设置SMOD=0
    IE=0x90;//CPU允许中断,串行允许中断
    TI=1;//直接使用printf必须加入此句才能实现发送
    }
    这样子设置了以后就可以直接调用printf了,
    stm32中也是如此。


    IP属地:广东4楼2013-11-07 22:10
    收起回复