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

【用单片机printf】

只看楼主收藏回复

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


IP属地:广东1楼2013-10-27 19:37回复
    愿闻其详。。。


    2楼2013-10-30 19:39
    回复
      昨天我才晓得的!!!oo是编译器搞的鬼没错!但是没用,望lz过详细解说


      IP属地:四川3楼2013-11-07 08: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
        收起回复
          额这样的 !!!


          IP属地:四川5楼2013-11-13 20:50
          回复