func.c

来自「Simple FullCAN Reciver-Transmiter for LP」· C语言 代码 · 共 154 行

C
154
字号
/*****************************************************************************
 *
 *      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 + =
减小字号Ctrl + -
显示快捷键?