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

📄 func.c

📁 Show Interworking of ARM/Thumb code on LPC23xx
💻 C
字号:
/*****************************************************************************
 *
 *      Project:    Clock Example
 *      Name:       Example
 *      Filename:   Func.c
 *      Date:       06.04.2001
 *      Rights:     hitex-systementwicklung GmbH
 *                  Greschbachstr. 12
 *                  76229  Karlsruhe
 *
 ****************************************************************************/

/**************************** module func.c *********************************/

#include "defines.h"

#define global extern   /* to declare external variables and functions      */
#include "util.h"

#undef global
#define global          /* to declare global variables and functions        */
#include "func.h"


static uint32_t Count1,Count2;
static uint32_t Count11, Count12, Count21, Count22;
static uint16_t Count111, Count112, Count121, Count122;
static uint8_t Count211, Count212, Count221, Count222;

/* module func.c */

static void func111 (void)
{
   Count111++;
}

static void func112 (void)
{
   Count112++;
}

static void func121 (void)
{
   Count121++;
}

static void func122 (void)
{
   Count122++;
}

static void func211 (void)
{
   Count211++;
}

static void func212 (void)
{
   Count212++;
}

static void func221 (void)
{
   Count221++;
}

static void func222 (void)
{
   Count222++;
}

static void func11(uint16_t count)
{
   while (count-- != 0u)
   {
      func111 ();
   }
   func112 ();
   Count11++;
}

static void func12 (uint16_t count)
{
   while (count-- != 0u)
   {
      func121 ();
   }
   func122 ();
   Count12++;
}

static void func21 (uint16_t count)
{
   while (count-- != 0u)
   {
      func211 ();
   }
   func212 ();
   Count21++;
}

static void func22 (uint16_t count)
{
   while (count-- != 0u)
   {
      func221();
   }
   func222();
   Count22++;
}

static void func1 (uint16_t count)
{
   func11 (count % 4u);
   func12 (count % 5u);
   Count1++;
}

static void func2 (uint16_t count)
{
   func21 (count % 2u);
   func22 (count % 3u);
   Count2++;
}

void init_func (void)
{
   Count1    = 0u;
   Count2    = 0u;
   Count11   = 0l;
   Count12   = 0l;
   Count21   = 0l;
   Count22   = 0l;
   Count111  = 0u;
   Count112  = 0u;
   Count121  = 0u;
   Count122  = 0u;
   Count211  = (uint8_t)0u;
   Count212  = (uint8_t)0u;
   Count221  = (uint8_t)0u;
   Count222  = (uint8_t)0u;
}

uint32_t func(int16_t count)
{
   init_func ();
   func1 (count);
   func2 (count);
   delay (count);
   return (Count11);
}

/************************************ EOF ***********************************/

⌨️ 快捷键说明

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