📄 peripheralinit.c
字号:
/****************************************Copyright (c)**************************************************
** Guangzhou ZHIYUAN electronics Co.,LTD.
**
** http://www.embedtools.com
**
**--------------File Info-------------------------------------------------------------------------------
** File Name: PeripheralInit.c
** Last modified Date: 2008-7-21
** Last Version: v1.0
** Description: 外设初始化文件
**
**------------------------------------------------------------------------------------------------------
** Created By: 柴利明
** Created date: 2008-7-21
** Version: v1.0
** Descriptions:
**
**------------------------------------------------------------------------------------------------------
** Modified by:
** Modified date:
** Version:
** Description:
**
********************************************************************************************************/
#include "config.h"
/*************************************************************************************************
** Function name: TIMER_Init
** Descriptions: 初始化定时器 32位益出中断方式
** Input: 无。
** Output: 无。
**************************************************************************************************/
void TIMER_Init(void)
{
SysCtlPeripheralEnable(SYSCTL_PERIPH_TIMER0); /* 使能定时器1外设 */
TimerConfigure(TIMER0_BASE, TIMER_CFG_32_BIT_PER); /* 设置定时器1为周期触发模式 */
TimerLoadSet(TIMER0_BASE, TIMER_A, 1000); /* 设置定时器装载值: */
TimerIntEnable(TIMER0_BASE, TIMER_TIMA_TIMEOUT); /* 使能定时器为溢出中断 */
TimerEnable(TIMER0_BASE, TIMER_A); /* 禁止能定时器计数 */
IntDisable(INT_TIMER0A); /* 禁能定时器中断 */
}
/*************************************************************************************************
** Function name: PWM_Init
** Descriptions: 初始化PWM,上下计数方式,PWM波中心对齐
** Input: 无。
** Output: 无。
**************************************************************************************************/
void PWM_Init(void)
{
SysCtlPWMClockSet(SYSCTL_PWMDIV_1); /* PWM时钟源1分频 */
SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOD); /* 使能PD口外设 */
SysCtlPeripheralEnable(SYSCTL_PERIPH_PWM); /* 使能PWM外设 */
GPIOPinTypePWM(GPIO_PORTD_BASE, GPIO_PIN_0 ); /* 设置PD0为PWM0 */
PWMGenConfigure(PWM_BASE, PWM_GEN_0, /* 设置PWM发生器0为上下计数方式 */
PWM_GEN_MODE_UP_DOWN | PWM_GEN_MODE_NO_SYNC);
PWMGenPeriodSet(PWM_BASE, PWM_GEN_0,1000); /* PWM波的周期设置 */
PWMGenDisable(PWM_BASE, PWM_GEN_0); /* 使能PWM发生器0 */
}
/*************************************************************************************************
**函数名称 GPIO_Init
**函数功能 初始化GPIO口,包括端口优先级设置,端口方向和触发方式等。
**输入参数 无。
**输出参数 无。
**************************************************************************************************/
void GPIO_Init(void)
{
SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOA); /* 使能GPIO PA口 */
SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOB); /* 使能GPIO PB口 */
SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOC); /* 使能GPIO PC口 */
SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOD); /* 使能GPIO PD口 */
GPIODirModeSet(GPIO_PORTD_BASE, KEY1, GPIO_DIR_MODE_IN); /* 设置连接KEY1的PC7为输入 */
GPIODirModeSet(GPIO_PORTB_BASE, KEY3, GPIO_DIR_MODE_IN); /* 设置连接KEY3的PB4为输入 */
GPIOIntTypeSet(GPIO_PORTD_BASE, KEY1, GPIO_LOW_LEVEL); /* 设置KEY1中断的触发方式为电平触发 */
GPIOIntTypeSet(GPIO_PORTB_BASE, KEY3, GPIO_LOW_LEVEL); /* 设置KEY3中断的触发方式为电平触发 */
GPIOPinIntEnable(GPIO_PORTD_BASE, KEY1); /* 使能KEY2中断 */
GPIOPinIntEnable(GPIO_PORTB_BASE, KEY3); /* 使能KEY3中断 */
}
/*********************************************************************************************************
** End Of File
********************************************************************************************************/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -