115 lines
4.1 KiB
C
115 lines
4.1 KiB
C
/*
|
||
*********************************************************************************************************
|
||
*
|
||
* 模块名称 : BSP模块(For STM32F4XX)
|
||
* 文件名称 : bsp.c
|
||
* 版 本 : V1.1
|
||
* 说 明 : 这是硬件底层驱动程序的主文件。每个c文件可以 #include "bsp.h" 来包含所有的外设驱动模块。
|
||
* bsp = Borad surport packet 板级支持包
|
||
* 修改记录 :
|
||
* 版本号 日期 作者 说明
|
||
* V1.0 2013-03-01 armfly 正式发布
|
||
* V1.1 2013-06-20 armfly 规范注释,添加必要说明
|
||
*
|
||
* Copyright (C), 2013-2014, 安富莱电子 www.armfly.com
|
||
*
|
||
*********************************************************************************************************
|
||
*/
|
||
|
||
#include "bsp.h"
|
||
|
||
|
||
__IO uint8_t ubCounter = 0x00;
|
||
// extern __IO uint32_t TimeOut;
|
||
/*
|
||
*********************************************************************************************************
|
||
* 函 数 名: bsp_Init
|
||
* 功能说明: 初始化所有的硬件设备。该函数配置CPU寄存器和外设的寄存器并初始化一些全局变量。只需要调用一次
|
||
* 形 参:无
|
||
* 返 回 值: 无
|
||
*********************************************************************************************************
|
||
*/
|
||
void bsp_Init(void)
|
||
{
|
||
/*
|
||
由于ST固件库的启动文件已经执行了CPU系统时钟的初始化,所以不必再次重复配置系统时钟。
|
||
启动文件配置了CPU主时钟频率、内部Flash访问速度和可选的外部SRAM FSMC初始化。
|
||
系统时钟缺省配置为168MHz,如果需要更改,可以修改 system_stm32f4xx.c 文件
|
||
*/
|
||
/* NVIC配置 分组2 */
|
||
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);
|
||
|
||
bsp_InitLed(); /* 初始LED指示灯端口 */
|
||
// bsp_InitUart(); /* 初始化串口 */
|
||
// bsp_InitKey(); /* 初始化按键 */
|
||
// bsp_InitTimer(); /* 初始化系统滴答定时器 */
|
||
|
||
/* 这里将SysTick的优先级设置为最高优先级 */
|
||
NVIC_SetPriority(SysTick_IRQn, 0x0);
|
||
}
|
||
|
||
/*
|
||
*********************************************************************************************************
|
||
* 函 数 名: bsp_RunPer10ms
|
||
* 功能说明: 该函数每隔10ms被Systick中断调用1次。详见 bsp_timer.c的定时中断服务程序。一些需要周期性处理
|
||
* 的事务可以放在此函数。比如:按键扫描、蜂鸣器鸣叫控制等。
|
||
* 形 参:无
|
||
* 返 回 值: 无
|
||
*********************************************************************************************************
|
||
*/
|
||
void bsp_RunPer10ms(void)
|
||
{
|
||
// bsp_KeyScan();
|
||
}
|
||
|
||
/*
|
||
*********************************************************************************************************
|
||
* 函 数 名: bsp_RunPer1ms
|
||
* 功能说明: 该函数每隔1ms被Systick中断调用1次。详见 bsp_timer.c的定时中断服务程序。一些需要周期性处理的
|
||
* 事务可以放在此函数。比如:触摸坐标扫描。
|
||
* 形 参:无
|
||
* 返 回 值: 无
|
||
*********************************************************************************************************
|
||
*/
|
||
void bsp_RunPer1ms(void)
|
||
{
|
||
/* 这个变量好像没有用担这个例子是来自官方 */
|
||
// if (TimeOut != 0x0)
|
||
// {
|
||
// TimeOut--;
|
||
// }
|
||
|
||
if (ubCounter < 250)
|
||
{
|
||
ubCounter++;
|
||
}
|
||
else
|
||
{
|
||
ubCounter = 0x00;
|
||
bsp_LedToggle(LED1);
|
||
}
|
||
}
|
||
|
||
/*
|
||
*********************************************************************************************************
|
||
* 函 数 名: bsp_Idle
|
||
* 功能说明: 空闲时执行的函数。一般主程序在for和while循环程序体中需要插入 CPU_IDLE() 宏来调用本函数。
|
||
* 本函数缺省为空操作。用户可以添加喂狗、设置CPU进入休眠模式的功能。
|
||
* 形 参:无
|
||
* 返 回 值: 无
|
||
*********************************************************************************************************
|
||
*/
|
||
void bsp_Idle(void)
|
||
{
|
||
/* --- 喂狗 */
|
||
|
||
/* --- 让CPU进入休眠,由Systick定时中断唤醒或者其他中断唤醒 */
|
||
|
||
/* 对于 emWin 图形库,可以插入图形库需要的轮询函数 */
|
||
//GUI_Exec();
|
||
|
||
/* 对于 uIP 协议实现,可以插入uip轮询函数 */
|
||
}
|
||
|
||
/***************************** 安富莱电子 www.armfly.com (END OF FILE) *********************************/
|