×
单片机 > 单片机程序设计 > 详情

printf 函数在keil2 中的使用

发布时间:2020-06-02 发布时间:
|

/****************************************************************************/

/*                                                                          */

/*       SERIAL.C:  Interrupt Controlled Serial Interface                   */

/*                                                                          */

/****************************************************************************/

//采用中断接收串口数据

//发送数据到串口可使用定义的函数

//有疑义可访问bbs.21ic.com进行讨论。

//测试:古道热肠

//#include

#include "STC_NEW_8051.H"

#include

volatile unsigned char UartIsSending;



char putchar (char ucWriteData)

{

SBUF=ucWriteData;

UartIsSending=1;

while(UartIsSending);

return (ucWriteData);

}



volatile unsigned char UartIsSending;

void UartIsr(void) interrupt 4

{

if(TI) //发送中断

{

    UartIsSending=0;

    TI=0;

}

if(RI) //接收中断

{

  RI=0;

}

}

/****************************************************************************/

/*       serial_init: initialize serial interface                           */

/****************************************************************************/

serial_init ()  

{

  SCON  = 0x50;                      /* mode 1: 8-bit UART, enable receiver */

  TMOD |= 0x20;                      /* timer 1 mode 2: 8-Bit reload        */

  TH1   = 0xfa;                      /* reload value 2400 baud              */

  TR1   = 1;                         /* timer 1 run                         */

  ES=1;

}





void Delay(void)

{

unsigned char ucDelayCount;

for(ucDelayCount=0; ucDelayCount<0xFF; ucDelayCount++)

{

  ;

}

unsigned long sum=0;

unsigned long __checksum=0xE728 ;

void main(void)

{

serial_init();

EA = 1;

while(1)

{

  putchar('8');

  putchar('n');

  Delay();

  printf("welcome to www.21ic.comn");

  printf("Checksum failed: 0x%04lX (calculated) "

                "vs 0x%04lX (from linker)n", sum, __checksum);

}

}


关键字:printf  函数  keil2 

『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
51单片机CO2检测显示程序解析