⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 utilities.c

📁 <<AVR C语言的应用>>第九章中的例子 用ATmega1280 在IAR Embedded Workbench IDE平台编译连接通过的12个程序
💻 C
字号:
/**************************************************
 *
 * IAR EMBEDDED WORKBENCH TUTORIAL
 * Utility file
 *
 * Copyright 1996 - 2003 IAR Systems. All rights reserved.
 *
 * $Revision: 1.3 $
 *
 **************************************************/

#include <stdio.h>
#include "Utilities.h"


unsigned int root[MAX_FIB];

/*
    Initialize MAX_FIB Fibonacci numbers.
*/
void init_fib( void )
{
  short i = 45;
  root[0] = root[1] = 1;

  for ( i=2 ; i<MAX_FIB ; i++)
    root[i] = get_fib(i) + get_fib(i-1);
}

/*
    Return the Fibonacci number 'nr'.
*/
unsigned int get_fib( int nr )
{
  if ( nr>0 && nr<=MAX_FIB )
    return ( root[nr-1] );
  else
    return ( 0 );
}

/*
    Puts a number between 0 and 65536 to stdout.
*/
void put_fib( unsigned int out )
{
  unsigned int dec = 10, temp;

  if ( out >= 10000 )
  {
    putchar ( '#' );/* To large value. */
    return;         /* Print a '#'. */
  }

  putchar ( '\n' );
  while ( dec <= out )
    dec *= 10;

  while ( (dec/=10) >= 10 )
  {
    temp = out/dec;
    putchar ( '0' + temp );
    out -= temp*dec;
  }

  putchar ( '0' + out );
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -