hd_support.c

来自「编译通过下载后」· C语言 代码 · 共 123 行

C
123
字号
/***********************************************************
*   函数库说明:底层硬件初始化函数库                       *
*  [硬件说明]                                              *
*   处理器:                                               *
*   系统时钟:                                             *
* -------------------------------------------------------- *
*  [支 持 库]                                              *
*   支持库名称:HD_Support.h                               *
*   支持库说明:底层硬件初始化声明库                       *
*   支持库名称:PF_Config.h                                *
*   支持库说明:硬件平台配置声明库                         *
***********************************************************/
/********************
* 头 文 件 配 置 区 *
********************/
#include "PF_Config.h"
#include "HD_Support.h"

/********************
*   系 统 宏 定 义  *
********************/
#pragma interrupt_handler Timer1_OVF_ISR:iv_TIMER1_OVF

/*------------------*
*   常 数 宏 定 义  *
*------------------*/

/*------------------*
*   动 作 宏 定 义  *
*------------------*/
#ifndef INSERT_TIMER1_OVF_ISR_CODE
    # define INSERT_TIMER1_OVF_ISR_CODE
#endif

/********************
*  模块结构体定义区 *
********************/

/********************
*   函 数 声 明 区  *
********************/
void Device_INIT(void);
void Insert_Timer1_OVF_ISR_Code(void);

/********************
*   模块函数声明区  *
********************/
void Port_INIT(void);
void Timer1_INIT(void);

/********************
*   模块变量声明区  *
********************/

/********************
*   全局变量声明区  *
********************/


/***********************************************************
*   函数说明:系统硬件初始化函数                           *
*   输入:    无                                           *
*   输出:    无                                           *
*   调用函数:Port_INIT()   Timer0_INIT()                  *
***********************************************************/
void Device_INIT(void)
{
    Port_INIT();
    Timer1_INIT();
    //*在这里添加其他初始化函数*//
    
//    TIMSK0 = BIT(TOIE0);                                    //启动定时器0溢出中断资源
    TIMSK1 = BIT(TOIE1);                                    //启动定时器1溢出中断资源
    //*在这里添加其他全局寄存器的初始化代码*//
}

/***********************************************************
*   函数说明:系统端口初始化函数                           *
*   输入:    无                                           *
*   输出:    无                                           *
*   调用函数:无                                           *
***********************************************************/
void Port_INIT(void)
{
    //*在这里添加端口初始化代码*//
    PORTB = 0b11111111;                 //没有使用的端口均设置为输入状态并开启内部上拉电阻
    PORTC = 0b11111111;
    PORTD = 0b11111111;
    
    DDRB = 0b00000000;
    DDRC = 0b00100000;                  //PC5端口设置为输出状态
    DDRD = 0b00000000;
}

/***********************************************************
*   函数声明:定时器1初始化函数                            *
*   输入:    无                                           *
*   输出:    无                                           *
*   调用函数:无                                           *
***********************************************************/
void Timer1_INIT(void)
{
    //*在这里粘贴从代码生成向导中生成的初始化代码*//
    //*要求为2Hz的溢出中断                       *//
    TCCR1B = 0x00;
    TCNT1H = 0xF8;
    TCNT1L = 0x5F;
    TCCR1A = 0x00;
    TCCR1B = 0x04;
}

/***********************************************************
*   函数声明:定时器1溢出中断处理程序                      *
*   输入:    无                                           *
*   输出:    无                                           *
*   调用函数:INSERT_TIMER1_OVF_ISR_CODE                   *
***********************************************************/
void Timer1_OVF_ISR(void)
{
    //*这里要添加对定时计数器重新设置计数底数的代码*//
    INSERT_TIMER1_OVF_ISR_CODE
}

⌨️ 快捷键说明

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