上传已经完成的部分,led灯驱动基本实现,正在写systick的,目前想利用安富莱的软件定时器的方法,在app层实现指示灯的对外指示信息。
This commit is contained in:
parent
fa1da11607
commit
22d24cbe33
@ -1,8 +1,11 @@
|
||||
#ifndef __APP_LED_H__
|
||||
#define __APP_LED_H__
|
||||
|
||||
void app_led_marquee(void);
|
||||
|
||||
void app_led_change_style_disable(void);
|
||||
void app_led_init(void);
|
||||
|
||||
// void app_led_marquee(void);
|
||||
|
||||
// void app_led_change_style_disable(void);
|
||||
|
||||
#endif
|
||||
|
@ -12,24 +12,72 @@
|
||||
*************************************************************************************/
|
||||
#include "app_led.h"
|
||||
#include "mw_led.h"
|
||||
#include "mw_soft_timer.h"
|
||||
#include "stdint.h"
|
||||
#include "stdio.h"
|
||||
#include "mw_soft_timer.h"
|
||||
// #include "mw_soft_timer.h"
|
||||
|
||||
#include "bsp.h"
|
||||
// #include "bsp.h"
|
||||
|
||||
#define LED_RUN_MODE_INDICATOR (LED1)
|
||||
|
||||
void app_led_marquee(void)
|
||||
// #define LED_RUNMODE_IDLE_BLINK_PERIOD_MS (500u)
|
||||
// #define LED_RUNMODE_RUNNING_BLINK_PERIOD_MS (500u)
|
||||
/* led的灯状态 */
|
||||
typedef enum
|
||||
{
|
||||
// static uint8_t tmp_state = 0;
|
||||
// static uint32_t tmp_tick = 0;
|
||||
led_mode_idle = 0,
|
||||
led_mode_running,
|
||||
led_mode_fault,
|
||||
|
||||
// if(get_systick_ms() - tmp_tick > 500)
|
||||
// {
|
||||
// tmp_tick = get_systick_ms();
|
||||
bsp_LedToggle(LED1);
|
||||
// }
|
||||
led_mode_num
|
||||
}app_led_mode_enum;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
static app_led_mode_enum app_led_mode;
|
||||
static mw_led_t led_runMode_indicator;
|
||||
|
||||
|
||||
|
||||
void app_led_indicator_idleMode(void)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
|
||||
void app_led1_blink_process(void)
|
||||
{
|
||||
// 通过闪烁的频率 对外表示当前的模式
|
||||
switch(app_led_mode)
|
||||
{
|
||||
case led_mode_idle:
|
||||
app_led_indicator_idleMode();
|
||||
break;
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// void app_led_marquee(void)
|
||||
// {
|
||||
// // static uint8_t tmp_state = 0;
|
||||
// // static uint32_t tmp_tick = 0;
|
||||
|
||||
// // if(get_systick_ms() - tmp_tick > 500)
|
||||
// // {
|
||||
// // tmp_tick = get_systick_ms();
|
||||
// bsp_LedToggle(LED1);
|
||||
// // }
|
||||
|
||||
// }
|
||||
|
||||
void app_led_init(void)
|
||||
{
|
||||
// 注册LED工作状态指示器
|
||||
led_runMode_indicator = mw_get_led_obj(LED_RUN_MODE_INDICATOR);
|
||||
}
|
||||
|
||||
|
||||
|
@ -31,6 +31,7 @@
|
||||
*************************************************************************************/
|
||||
void bsp_init(void)
|
||||
{
|
||||
bsp_timer_init();
|
||||
// bsp_InitTimer();
|
||||
// bsp_usart_1_init(115200);
|
||||
// bsp_Init();
|
||||
@ -58,14 +59,18 @@ void middleware_init(void)
|
||||
*************************************************************************************/
|
||||
int main(void)
|
||||
{
|
||||
mw_led_t led1;
|
||||
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);
|
||||
|
||||
// bsp_init();
|
||||
|
||||
bsp_init();
|
||||
middleware_init();
|
||||
|
||||
led1 = mw_get_led_obj(LED1);
|
||||
while (1)
|
||||
{
|
||||
bsp_DelayMS(500);
|
||||
led1.on();
|
||||
bsp_DelayMS(500);
|
||||
led1.off();
|
||||
// bsp_pwm_test_loop();
|
||||
}
|
||||
}
|
||||
|
@ -86,7 +86,7 @@ void bsp_RunPer1ms(void)
|
||||
else
|
||||
{
|
||||
ubCounter = 0x00;
|
||||
bsp_LedToggle(LED1);
|
||||
// bsp_LedToggle(LED1);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -14,12 +14,12 @@
|
||||
#ifndef __BSP_TIMER_H
|
||||
#define __BSP_TIMER_H
|
||||
|
||||
#include "stdint.h"
|
||||
#include <stdint.h>
|
||||
/*
|
||||
在此定义若干个软件定时器全局变量
|
||||
注意,必须增加__IO 即 volatile,因为这个变量在中断和主程序中同时被访问,有可能造成编译器错误优化。
|
||||
*/
|
||||
#define TMR_COUNT 1 /* 软件定时器的个数 (定时器ID范围 0 - 3) */
|
||||
#define TMR_COUNT 4 /* 软件定时器的个数 (定时器ID范围 0 - 3) */
|
||||
|
||||
/* 定时器结构体,成员变量必须是 volatile, 否则C编译器优化时可能有问题 */
|
||||
typedef enum
|
||||
@ -38,7 +38,7 @@ typedef struct
|
||||
}SOFT_TMR;
|
||||
|
||||
/* 提供给其他C文件调用的函数 */
|
||||
void bsp_InitTimer(void);
|
||||
// void bsp_InitTimer(void);
|
||||
void bsp_DelayMS(uint32_t n);
|
||||
void bsp_DelayUS(uint32_t n);
|
||||
void bsp_StartTimer(uint8_t _id, uint32_t _period);
|
||||
@ -47,7 +47,7 @@ void bsp_StopTimer(uint8_t _id);
|
||||
uint8_t bsp_CheckTimer(uint8_t _id);
|
||||
int32_t bsp_GetRunTime(void);
|
||||
|
||||
void bsp_InitHardTimer(void);
|
||||
void bsp_timer_init(void);
|
||||
void bsp_StartHardTimer(uint8_t _CC, uint32_t _uiTimeOut, void * _pCallBack);
|
||||
|
||||
|
||||
|
161
Code/bsp/src/bsp_led.c
Normal file
161
Code/bsp/src/bsp_led.c
Normal file
@ -0,0 +1,161 @@
|
||||
#include "bsp_led.h"
|
||||
#include "stm32f10x_gpio.h"
|
||||
#include "stm32f10x_rcc.h"
|
||||
#include "stm32f10x.h"
|
||||
#include "stdint.h"
|
||||
#include "public_diy.h"
|
||||
|
||||
/* led define */
|
||||
/*
|
||||
STM32F103C8 LED口线分配:
|
||||
LED1 : PC13 (低电平点亮,高电平熄灭)
|
||||
LED2 :
|
||||
LED3 :
|
||||
LED4 :
|
||||
*/
|
||||
/* 按键口对应的RCC时钟 */
|
||||
// #define RCC_ALL_LED (RCC_APB2Periph_GPIOC | RCC_APB2Periph_GPIOB)
|
||||
#define RCC_GPIO_LED1 RCC_APB2Periph_GPIOC
|
||||
#define GPIO_PORT_LED1 GPIOC
|
||||
#define GPIO_PIN_LED1 GPIO_Pin_13
|
||||
|
||||
#define RCC_GPIO_LED2 RCC_APB2Periph_GPIOB
|
||||
#define GPIO_PORT_LED2 GPIOB
|
||||
#define GPIO_PIN_LED2 GPIO_Pin_9
|
||||
|
||||
/*************************************************************************************
|
||||
* @brief 开启led
|
||||
* @param[in/out] led_no【参数注释】
|
||||
*
|
||||
* @warning 【不可重入,阻塞等警告】
|
||||
* @note 【重大修改】
|
||||
*************************************************************************************/
|
||||
void bsp_led_on(uint8_t led_no)
|
||||
{
|
||||
if (led_no == (LED1))
|
||||
{
|
||||
// STM32F103C8T6开发板 1是亮,0是灭
|
||||
// GPIO_PORT_LED1->BRR = GPIO_PIN_LED1;
|
||||
GPIO_PORT_LED1->BSRR |= GPIO_PIN_LED1;
|
||||
}
|
||||
if (led_no == (LED2))
|
||||
{
|
||||
// STM32F103C8T6开发板 1是亮,0是灭
|
||||
GPIO_PORT_LED2->BSRR |= GPIO_PIN_LED2;
|
||||
}
|
||||
}
|
||||
/*************************************************************************************
|
||||
* @brief 关闭Led
|
||||
* @param[in/out] _no 【参数注释】
|
||||
*
|
||||
* @warning 【不可重入,阻塞等警告】
|
||||
* @note 【重大修改】
|
||||
*************************************************************************************/
|
||||
void bsp_led_off(uint8_t led_no)
|
||||
{
|
||||
if(led_no == LED1)
|
||||
{
|
||||
// STM32F103C8T6开发板 1是亮,0是灭
|
||||
GPIO_PORT_LED1->BRR = GPIO_PIN_LED1;
|
||||
}
|
||||
else if(led_no == LED2)
|
||||
{
|
||||
GPIO_PORT_LED2->BRR = GPIO_PIN_LED2;
|
||||
}
|
||||
else
|
||||
{
|
||||
;
|
||||
}
|
||||
|
||||
}
|
||||
/*************************************************************************************
|
||||
* @brief led状态切换
|
||||
* @param[in/out] led_no【参数注释】
|
||||
*
|
||||
* @warning 【不可重入,阻塞等警告】
|
||||
* @note 【重大修改】
|
||||
*************************************************************************************/
|
||||
void bsp_led_toggle(uint8_t led_no)
|
||||
{
|
||||
if (led_no == LED1)
|
||||
{
|
||||
GPIO_PORT_LED1->ODR ^= GPIO_PIN_LED1;
|
||||
}
|
||||
else if (led_no == LED2)
|
||||
{
|
||||
GPIO_PORT_LED2->ODR ^= GPIO_PIN_LED2;
|
||||
}
|
||||
else
|
||||
{
|
||||
;
|
||||
}
|
||||
}
|
||||
/*************************************************************************************
|
||||
* @brief 获取led当前的电平状态
|
||||
* @return uint8_t 【返回值注释】
|
||||
*
|
||||
* @warning 【不可重入,阻塞等警告】
|
||||
* @note 【重大修改】
|
||||
*************************************************************************************/
|
||||
uint8_t bsp_get_led_ttlState(led_type_enum led_no)
|
||||
{
|
||||
uint8_t retVal = 0;
|
||||
if(led_no == (LED1))
|
||||
{
|
||||
// STM32F103C8T6开发板 1是亮,0是灭
|
||||
// GPIO_PORT_LED1->BRR = GPIO_PIN_LED1;
|
||||
retVal = GPIO_PORT_LED1->ODR & GPIO_PIN_LED1;
|
||||
}
|
||||
else if(led_no == (LED2))
|
||||
{
|
||||
// STM32F103C8T6开发板 1是亮,0是灭
|
||||
retVal = GPIO_PORT_LED2->ODR & GPIO_PIN_LED2;
|
||||
}
|
||||
return retVal;
|
||||
}
|
||||
|
||||
|
||||
/*************************************************************************************
|
||||
* @brief 初始化Led
|
||||
*
|
||||
* @warning 【不可重入,阻塞等警告】
|
||||
* @note 【重大修改】
|
||||
*************************************************************************************/
|
||||
void bsp_led1_init(void)
|
||||
{
|
||||
GPIO_InitTypeDef GPIO_InitStructure;
|
||||
/* 打开GPIO时钟 */
|
||||
RCC_APB2PeriphClockCmd(RCC_GPIO_LED1, ENABLE);
|
||||
|
||||
/*
|
||||
配置所有的LED指示灯GPIO为推挽输出模式
|
||||
由于将GPIO设置为输出时,GPIO输出寄存器的值缺省是0,因此会驱动LED点亮.
|
||||
这是我不希望的,因此在改变GPIO为输出前,先关闭LED指示灯
|
||||
*/
|
||||
bsp_led_off(LED1);
|
||||
|
||||
/* LED 1*/
|
||||
GPIO_InitStructure.GPIO_Pin = GPIO_PIN_LED1;
|
||||
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; /* 设为 输出推挽模式 */
|
||||
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; /* IO口最大速度 */
|
||||
GPIO_Init(GPIO_PORT_LED1, &GPIO_InitStructure);
|
||||
}
|
||||
|
||||
void bsp_led2_init(void)
|
||||
{
|
||||
GPIO_InitTypeDef GPIO_InitStructure;
|
||||
/* 打开GPIO时钟 */
|
||||
RCC_APB2PeriphClockCmd(RCC_GPIO_LED2, ENABLE);
|
||||
|
||||
/*
|
||||
配置所有的LED指示灯GPIO为推挽输出模式
|
||||
由于将GPIO设置为输出时,GPIO输出寄存器的值缺省是0,因此会驱动LED点亮.
|
||||
这是我不希望的,因此在改变GPIO为输出前,先关闭LED指示灯
|
||||
*/
|
||||
bsp_led_off(LED2);
|
||||
/* LED 2*/
|
||||
GPIO_InitStructure.GPIO_Pin = GPIO_PIN_LED2;
|
||||
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; /* 设为 输出推挽模式 */
|
||||
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; /* IO口最大速度 */
|
||||
GPIO_Init(GPIO_PORT_LED2, &GPIO_InitStructure);
|
||||
}
|
@ -1,59 +0,0 @@
|
||||
#include "bsp_timer.h"
|
||||
#include "stm32f10x_tim.h"
|
||||
#include "stm32f10x_rcc.h"
|
||||
#include "misc.h"
|
||||
#include "stm32f10x.h"
|
||||
|
||||
#define BSP_TIMER_USER_SYSTICK_TYPE (TIM2)
|
||||
#define BSP_TIMER_USER_SYSTICK_RCC (RCC_APB1Periph_TIM2)
|
||||
#define BSP_TIMER_USER_SYSTICK_IRQN (TIM2_IRQn)
|
||||
#define BSP_TINER_USER_SYSTICK_PRESCALER (72 - 1)
|
||||
#define BSP_TINER_USER_SYSTICK_PERIOD (1000u)
|
||||
|
||||
|
||||
/*************************************************************************************
|
||||
* @brief 定时器初始化
|
||||
*
|
||||
* @warning 【不可重入,阻塞等警告】
|
||||
* @note 【重大修改】
|
||||
*************************************************************************************/
|
||||
static void bsp_timer_2_init(void)
|
||||
{
|
||||
TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure;
|
||||
NVIC_InitTypeDef NVIC_InitStructure;
|
||||
|
||||
/* 1. 初始化时钟 */
|
||||
RCC_APB1PeriphClockCmd(BSP_TIMER_USER_SYSTICK_RCC, ENABLE);
|
||||
/* 2. 初始化定时器参数,设置自动重装值,分频系数,计数方式等 */
|
||||
TIM_TimeBaseStructure.TIM_Period = BSP_TINER_USER_SYSTICK_PERIOD;
|
||||
TIM_TimeBaseStructure.TIM_Prescaler =BSP_TINER_USER_SYSTICK_PRESCALER;
|
||||
TIM_TimeBaseStructure.TIM_ClockDivision = TIM_CKD_DIV1;
|
||||
TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up;
|
||||
TIM_TimeBaseInit(BSP_TIMER_USER_SYSTICK_TYPE, &TIM_TimeBaseStructure);
|
||||
/* 3. 设置 TIM3_DIER 允许更新中断 */
|
||||
TIM_ITConfig(BSP_TIMER_USER_SYSTICK_TYPE, TIM_IT_Update, ENABLE);
|
||||
/* 4. TIM3 中断优先级设置。 */
|
||||
NVIC_InitStructure.NVIC_IRQChannel = BSP_TIMER_USER_SYSTICK_IRQN; //TIM3 中断
|
||||
NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0; //先占优先级 0 级
|
||||
NVIC_InitStructure.NVIC_IRQChannelSubPriority = 3; //从优先级 3 级
|
||||
NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; //IRQ 通道被使能
|
||||
NVIC_Init(&NVIC_InitStructure); //初始化 NVIC 寄存器
|
||||
/* 5. 使能定时器2 */
|
||||
TIM_Cmd(BSP_TIMER_USER_SYSTICK_TYPE, ENABLE);
|
||||
}
|
||||
|
||||
// /* 6. 编写中断服务函数 */
|
||||
// void bsp_timer_user_systick_isr_process(void) //TIM3 中断
|
||||
// {
|
||||
// if (TIM_GetITStatus(BSP_TIMER_USER_SYSTICK_TYPE, TIM_IT_Update) != RESET)
|
||||
// {
|
||||
// // 硬件置了1,需要软件来清0
|
||||
// TIM_ClearITPendingBit(BSP_TIMER_USER_SYSTICK_TYPE, TIM_IT_Update);
|
||||
// /* add your code here */
|
||||
|
||||
// }
|
||||
// }
|
||||
void bsp_timer_init(void)
|
||||
{
|
||||
bsp_timer_2_init();
|
||||
}
|
@ -77,9 +77,10 @@ static void (*s_TIM_CallBack4)(void);
|
||||
*/
|
||||
extern void bsp_RunPer1ms(void);
|
||||
extern void bsp_RunPer10ms(void);
|
||||
|
||||
void SysTick_ISR(void)
|
||||
{
|
||||
static uint8_t s_count = 0;
|
||||
// static uint8_t s_count = 0;
|
||||
uint8_t i;
|
||||
|
||||
/* 每隔1ms进来1次 (仅用于 bsp_DelayMS) */
|
||||
@ -98,20 +99,20 @@ void SysTick_ISR(void)
|
||||
}
|
||||
|
||||
/* 全局运行时间每1ms增1 */
|
||||
g_iRunTime++;
|
||||
if (g_iRunTime == 0x7FFFFFFF) /* 这个变量是 int32_t 类型,最大数为 0x7FFFFFFF */
|
||||
{
|
||||
g_iRunTime = 0;
|
||||
}
|
||||
// g_iRunTime++;
|
||||
// if (g_iRunTime == 0x7FFFFFFF) /* 这个变量是 int32_t 类型,最大数为 0x7FFFFFFF */
|
||||
// {
|
||||
// g_iRunTime = 0;
|
||||
// }
|
||||
|
||||
bsp_RunPer1ms(); /* 每隔1ms调用一次此函数,此函数在 bsp.c */
|
||||
// bsp_RunPer1ms(); /* 每隔1ms调用一次此函数,此函数在 bsp.c */
|
||||
|
||||
if (++s_count >= 10)
|
||||
{
|
||||
s_count = 0;
|
||||
// if (++s_count >= 10)
|
||||
// {
|
||||
// s_count = 0;
|
||||
|
||||
bsp_RunPer10ms(); /* 每隔10ms调用一次此函数,此函数在 bsp.c */
|
||||
}
|
||||
// bsp_RunPer10ms(); /* 每隔10ms调用一次此函数,此函数在 bsp.c */
|
||||
// }
|
||||
}
|
||||
|
||||
/*
|
||||
@ -168,7 +169,7 @@ void bsp_DelayMS(uint32_t n)
|
||||
|
||||
while (1)
|
||||
{
|
||||
bsp_Idle(); /* CPU空闲执行的操作, 见 bsp.c 和 bsp.h 文件 */
|
||||
// bsp_Idle(); /* CPU空闲执行的操作, 见 bsp.c 和 bsp.h 文件 */
|
||||
|
||||
/*
|
||||
等待延迟时间到
|
||||
@ -360,18 +361,7 @@ int32_t bsp_GetRunTime(void)
|
||||
return runtime;
|
||||
}
|
||||
|
||||
/*
|
||||
*********************************************************************************************************
|
||||
* 函 数 名: SysTick_Handler
|
||||
* 功能说明: 系统嘀嗒定时器中断服务程序。启动文件中引用了该函数。
|
||||
* 形 参: 无
|
||||
* 返 回 值: 无
|
||||
*********************************************************************************************************
|
||||
*/
|
||||
void SysTick_Handler(void)
|
||||
{
|
||||
SysTick_ISR();
|
||||
}
|
||||
|
||||
|
||||
/*************************************************************************************
|
||||
* @brief 配置 TIM2,用于us级别硬件定时。自由运行,永不停止.
|
||||
@ -652,7 +642,7 @@ void bsp_StartHardTimer(uint8_t _CC, uint32_t _uiTimeOut, void * _pCallBack)
|
||||
* 返 回 值: 无
|
||||
*********************************************************************************************************
|
||||
*/
|
||||
void bsp_InitTimer(void)
|
||||
void bsp_timer_init(void)
|
||||
{
|
||||
uint8_t i;
|
||||
|
||||
@ -679,11 +669,11 @@ void bsp_InitTimer(void)
|
||||
*/
|
||||
SysTick_Config(SystemCoreClock / 1000);
|
||||
/* 开启硬件定时中断 */
|
||||
bsp_InitHardTimer();
|
||||
/* 初始化外部输入定时器 */
|
||||
bsp_InitExternInputTimer();
|
||||
/* 初始化 pwm 输出比较 */
|
||||
bsp_pwm_init();
|
||||
// bsp_InitHardTimer();
|
||||
// /* 初始化外部输入定时器 */
|
||||
// bsp_InitExternInputTimer();
|
||||
// /* 初始化 pwm 输出比较 */
|
||||
// bsp_pwm_init();
|
||||
}
|
||||
|
||||
/*************************************************************************************
|
||||
@ -699,7 +689,7 @@ void TIM2_IRQHandler(void)
|
||||
{
|
||||
TIM_ClearITPendingBit(TIM_EXTERN_INPUT, TIM_IT_Update);
|
||||
/* add your code here. */
|
||||
bsp_LedToggle(LED1);
|
||||
// bsp_LedToggle(LED1);
|
||||
}
|
||||
}
|
||||
|
||||
@ -716,7 +706,7 @@ void TIM3_IRQHandler(void)
|
||||
{
|
||||
TIM_ClearITPendingBit(TIM_HARD, TIM_IT_Update);
|
||||
/* add your code here. */
|
||||
bsp_LedToggle(LED2);
|
||||
// bsp_LedToggle(LED2);
|
||||
}
|
||||
|
||||
|
||||
@ -757,5 +747,17 @@ void TIM3_IRQHandler(void)
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
*********************************************************************************************************
|
||||
* 函 数 名: SysTick_Handler
|
||||
* 功能说明: 系统嘀嗒定时器中断服务程序。启动文件中引用了该函数。
|
||||
* 形 参: 无
|
||||
* 返 回 值: 无
|
||||
*********************************************************************************************************
|
||||
*/
|
||||
void SysTick_Handler(void)
|
||||
{
|
||||
SysTick_ISR();
|
||||
}
|
||||
|
||||
/***************************** 安富莱电子 www.armfly.com (END OF FILE) *********************************/
|
||||
|
@ -2,6 +2,7 @@
|
||||
#define __MW_LED_H__
|
||||
|
||||
#include "bsp_led.h"
|
||||
#include "bsp_timer.h"
|
||||
|
||||
typedef struct
|
||||
{
|
||||
|
@ -3,8 +3,14 @@
|
||||
|
||||
#include "stdint.h"
|
||||
|
||||
uint32_t get_systick_ms(void);
|
||||
// uint32_t get_systick_ms(void);
|
||||
|
||||
void mw_soft_timer_user_systick_update(void);
|
||||
// void mw_soft_timer_user_systick_update(void);
|
||||
|
||||
void mw_softTimer_led_indicator_config(uint32_t period);
|
||||
/**
|
||||
* 函数定义: 获取LED工作状态指示灯的软件定时器是否超时。当读取为1的时候,自动清0
|
||||
*
|
||||
*/
|
||||
uint8_t mw_softTimer_get_led_indicator_timeUp_flag(void);
|
||||
#endif
|
||||
|
@ -1,7 +1,8 @@
|
||||
#include "mw_soft_timer.h"
|
||||
#include "bsp_timer.h"
|
||||
|
||||
|
||||
// LED工作状态指示灯 使用的软件定时器编号
|
||||
#define LED_INDICATOR_SOFTTIMER_NO (0u)
|
||||
// 用户使用的systick时间
|
||||
volatile static uint32_t systick_ms = 0;
|
||||
|
||||
@ -15,5 +16,20 @@ void mw_soft_timer_user_systick_update(void)
|
||||
++systick_ms;
|
||||
}
|
||||
|
||||
/**
|
||||
* 配置LED工作状态指示灯的软件定时器周期 单位 ms
|
||||
*
|
||||
*/
|
||||
void mw_softTimer_led_indicator_config(uint32_t period)
|
||||
{
|
||||
bsp_StartTimer(LED_INDICATOR_SOFTTIMER_NO, period);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 函数定义: 获取LED工作状态指示灯的软件定时器是否超时。当读取为1的时候,自动清0
|
||||
*
|
||||
*/
|
||||
uint8_t mw_softTimer_get_led_indicator_timeUp_flag(void)
|
||||
{
|
||||
return bsp_CheckTimer(LED_INDICATOR_SOFTTIMER_NO);
|
||||
}
|
@ -1,117 +1,173 @@
|
||||
:020000040800F2
|
||||
:10000000880600206D0100087501000877010008CE
|
||||
:10001000790100087B0100087D0100080000000054
|
||||
:100020000000000000000000000000007F01000848
|
||||
:10003000810100080000000083010008850100081C
|
||||
:100040008701000887010008870100088701000870
|
||||
:100050008701000887010008870100088701000860
|
||||
:100060008701000887010008870100088701000850
|
||||
:100070008701000887010008870100088701000840
|
||||
:100080008701000887010008870100088701000830
|
||||
:100090008701000887010008870100088701000820
|
||||
:1000A0008701000887010008870100088701000810
|
||||
:1000B0008701000887010008870100088701000800
|
||||
:1000C00087010008870100088701000887010008F0
|
||||
:1000D00087010008B90400088701000887010008AB
|
||||
:1000E00087010008870100088701000800F002F876
|
||||
:1000F00000F02CF80AA090E8000C82448344AAF196
|
||||
:100100000107DA4501D100F021F8AFF2090EBAE893
|
||||
:10000000C80600208901000891010008930100083A
|
||||
:100010009501000897010008990100080000000000
|
||||
:100020000000000000000000000000009B0100082C
|
||||
:100030009D010008000000009F010008DD04000889
|
||||
:10004000A3010008A3010008A3010008A301000800
|
||||
:10005000A3010008A3010008A3010008A3010008F0
|
||||
:10006000A3010008A3010008A3010008A3010008E0
|
||||
:10007000A3010008A3010008A3010008A3010008D0
|
||||
:10008000A3010008A3010008A3010008A3010008C0
|
||||
:10009000A3010008A3010008A3010008A3010008B0
|
||||
:1000A000A3010008A3010008A3010008A3010008A0
|
||||
:1000B00089050008A1050008A3010008A3010008A4
|
||||
:1000C000A3010008A3010008A3010008A301000880
|
||||
:1000D000A301000891060008A3010008A30100087D
|
||||
:1000E000A3010008A3010008A301000800F002F822
|
||||
:1000F00000F03AF80AA090E8000C82448344AAF188
|
||||
:100100000107DA4501D100F02FF8AFF2090EBAE885
|
||||
:100110000F0013F0010F18BFFB1A43F0010318473B
|
||||
:10012000F005000000060000002300240025002642
|
||||
:10013000103A28BF78C1FBD8520728BF30C148BF4A
|
||||
:100140000B6070471FB51FBD10B510BD00F031F832
|
||||
:100150001146FFF7F7FF00F073FA00F04FF803B411
|
||||
:10016000FFF7F2FF03BC00F057F800000948804792
|
||||
:1001700009480047FEE7FEE7FEE7FEE7FEE7FEE789
|
||||
:10018000FEE7FEE7FEE7FEE704480549054A064BA1
|
||||
:100190007047000059040008ED00000888000020A6
|
||||
:1001A00088060020880200208802002070477047DF
|
||||
:1001B0007047754600F02CF8AE4605006946534678
|
||||
:1001C00020F00700854618B020B5FFF7DDFFBDE839
|
||||
:1001D00020404FF000064FF000074FF000084FF0AE
|
||||
:1001E000000B21F00701AC46ACE8C009ACE8C0093F
|
||||
:1001F000ACE8C009ACE8C0098D46704710B50446AC
|
||||
:10020000AFF300802046BDE81040FFF7A8BF000014
|
||||
:10021000004870472800002001491820ABBEFEE7C7
|
||||
:100220002600020070472DE9F04102460025002615
|
||||
:10023000002000230024002791F803C00CF00F05D4
|
||||
:1002400091F803C00CF0100CBCF1000F03D091F832
|
||||
:1002500002C04CEA050591F800C0BCF1000F31D096
|
||||
:10026000146800202BE04FF0010C0CFA00F3B1F8F9
|
||||
:1002700000C00CEA03069E4220D183004FF00F0C11
|
||||
:100280000CFA03F7BC4305FA03FC4CEA040491F8AA
|
||||
:1002900003C0BCF1280F06D14FF0010C0CFA00FC92
|
||||
:1002A000C2F814C00AE091F803C0BCF1480F05D1B0
|
||||
:1002B0004FF0010C0CFA00FCC2F810C0401C0828DA
|
||||
:1002C000D1D31460B1F800C0BCF1FF0F34DD546825
|
||||
:1002D00000202EE000F1080C4FF0010808FA0CF3A2
|
||||
:1002E000B1F800C00CEA03069E4221D183004FF012
|
||||
:1002F0000F0C0CFA03F7BC4305FA03FC4CEA0404A8
|
||||
:1003000091F803C0BCF1280F05D100F1080C08FAE0
|
||||
:100310000CF8C2F8148091F803C0BCF1480F07D163
|
||||
:1003200000F1080C4FF0010808FA0CF8C2F8108030
|
||||
:10033000401C0828CED35460BDE8F0810249014337
|
||||
:10034000024A1160704700000000FA050CED00E061
|
||||
:1003500029B1064A92690243044B9A6104E0034AB8
|
||||
:1003600092698243014B9A6170470000001002407D
|
||||
:1003700010B500F001F810BD0CB500200190009000
|
||||
:100380003348006840F480303149086000BF30488D
|
||||
:10039000006800F4003000900198401C0190009823
|
||||
:1003A00018B90198B0F5A06FF1D12948006800F4A0
|
||||
:1003B000003010B10120009001E000200090009872
|
||||
:1003C000012843D12348006840F01000214908600B
|
||||
:1003D0000846006820F0070008600846006840F002
|
||||
:1003E000020008601A484068194948600846406899
|
||||
:1003F00048600846406840F48060486008464068AD
|
||||
:1004000020F47C1048600846406840F4E8104860DA
|
||||
:100410000846006840F08070086000BF0C48006823
|
||||
:1004200000F000700028F9D00948406820F003006F
|
||||
:10043000074948600846406840F00200486000BF35
|
||||
:100440000348406800F00C000828F9D10CBD0000FA
|
||||
:10045000001002400020024010B51348006840F030
|
||||
:1004600001001149086008464068104908400E49DB
|
||||
:100470004860084600680E4908400B490860084675
|
||||
:10048000006820F4802008600846406820F4FE00E0
|
||||
:1004900048604FF41F008860FFF76AFF4FF000606C
|
||||
:1004A0000449086010BD0000001002400000FFF881
|
||||
:1004B000FFFFF6FE08ED00E010B540F226610C48A3
|
||||
:1004C00000F027F820B140F22661094800F012F848
|
||||
:1004D00040F22551064800F01CF840B140F2255189
|
||||
:1004E000034800F007F8024800F03DF8C4B210BD20
|
||||
:1004F0000038014010B50022002340F66A14A142E2
|
||||
:1005000000D100BF0A1201249440A3B2DC4304804E
|
||||
:1005100010BD70B50246002400230025002040F6DF
|
||||
:100520006A16B14200D100BFC1F3421501F01F03AA
|
||||
:10053000012606FA03F3012D02D19689334006E025
|
||||
:10054000022D02D1168A334001E0968A33400C1204
|
||||
:10055000012606FA04F41688344013B10CB10120C8
|
||||
:1005600000E0002070BD01468888C0F30800704795
|
||||
:100570000146002009B9044AD268012902D1034A80
|
||||
:100580001268002070470000001001400C0C014070
|
||||
:1005900008B501211020FFF7DBFE002000F02CF849
|
||||
:1005A0004FF40050ADF8000010208DF80300032038
|
||||
:1005B0008DF8020069460248FFF735FE08BD0000CD
|
||||
:1005C0000010014008B501210820FFF7C1FE0120FD
|
||||
:1005D00000F012F84FF40070ADF8000010208DF814
|
||||
:1005E000030003208DF8020069460248FFF71BFE56
|
||||
:1005F00008BD0000000C014020B94FF40051044A2E
|
||||
:10060000516104E0012802D14102024A11607047A1
|
||||
:1006100000100140140C014028B90749096941F450
|
||||
:100620000051054A1161012805D10449096841F4C6
|
||||
:100630000071024A1160704700100140100C014027
|
||||
:100640004FF4A060FFF77AFE00F002F800BFFEE76B
|
||||
:1006500010B500F025F810BD10B500240020FFF7FC
|
||||
:1006600087FF0446204610BD10B500240120FFF787
|
||||
:100670007FFF0446204610BD10B50020FFF7BCFFE9
|
||||
:1006800010BD10B50020FFF7C7FF10BD10B5012049
|
||||
:10069000FFF7B2FF10BD10B50120FFF7BDFF10BD81
|
||||
:1006A00010B5002011490870114848601148886051
|
||||
:1006B0001148C860114808610120087510490B48AD
|
||||
:1006C00081611049C16110490162104941620024F1
|
||||
:1006D00008E004EB8401054A02EB81014868804789
|
||||
:1006E000601CC4B2022CF4DB10BD0000000000202E
|
||||
:1006F00091050008830600087906000859060008DD
|
||||
:10070000C5050008970600088D0600086906000860
|
||||
:1007100020070008000000208806000028010008CB
|
||||
:100120002809000048090000103A24BF78C878C1A7
|
||||
:10013000FAD8520724BF30C830C144BF04680C60ED
|
||||
:10014000704700000023002400250026103A28BF35
|
||||
:1001500078C1FBD8520728BF30C148BF0B60704739
|
||||
:100160001FB51FBD10B510BD00F063F81146FFF7B5
|
||||
:10017000F7FF00F0D5FB00F081F803B4FFF7F2FFC2
|
||||
:1001800003BC00F08BF8000009488047094800478D
|
||||
:10019000FEE7FEE7FEE7FEE7FEE7FEE7FEE7FEE737
|
||||
:1001A000FEE7FEE704480549054A064B7047000094
|
||||
:1001B00029050008ED000008C8000020C80600203E
|
||||
:1001C000C8020020C802002010B5203AC0F00B8001
|
||||
:1001D000B1E81850203AA0E81850B1E81850A0E84B
|
||||
:1001E0001850BFF4F5AF5FEA027C24BFB1E81850A5
|
||||
:1001F000A0E8185044BF18C918C0BDE810405FEA15
|
||||
:10020000827C24BF51F8043B40F8043B08BF704790
|
||||
:10021000D20728BF31F8023B48BF11F8012B28BF95
|
||||
:1002200020F8023B48BF00F8012B70477047704729
|
||||
:100230007047754600F02CF8AE46050069465346F7
|
||||
:1002400020F00700854618B020B5FFF7ABFFBDE8EA
|
||||
:1002500020404FF000064FF000074FF000084FF02D
|
||||
:10026000000B21F00701AC46ACE8C009ACE8C009BE
|
||||
:10027000ACE8C009ACE8C0098D46704710B504462B
|
||||
:10028000AFF300802046BDE81040FFF776BF0000C6
|
||||
:1002900000487047640000207047000001491820A2
|
||||
:1002A000ABBEFEE7260002002DE9F0410246002524
|
||||
:1002B0000026002000230024002791F803C00CF042
|
||||
:1002C0000F0591F803C00CF0100CBCF1000F03D027
|
||||
:1002D00091F802C04CEA050591F800C0BCF1000F8E
|
||||
:1002E00031D0146800202BE04FF0010C0CFA00F321
|
||||
:1002F000B1F800C00CEA03069E4220D183004FF003
|
||||
:100300000F0C0CFA03F7BC4305FA03FC4CEA040497
|
||||
:1003100091F803C0BCF1280F06D14FF0010C0CFA84
|
||||
:1003200000FCC2F814C00AE091F803C0BCF1480F09
|
||||
:1003300005D14FF0010C0CFA00FCC2F810C0401CB3
|
||||
:100340000828D1D31460B1F800C0BCF1FF0F34DD30
|
||||
:10035000546800202EE000F1080C4FF0010808FA64
|
||||
:100360000CF3B1F800C00CEA03069E4221D18300D1
|
||||
:100370004FF00F0C0CFA03F7BC4305FA03FC4CEAF0
|
||||
:10038000040491F803C0BCF1280F05D100F1080C5A
|
||||
:1003900008FA0CF8C2F8148091F803C0BCF1480FB9
|
||||
:1003A00007D100F1080C4FF0010808FA0CF8C2F868
|
||||
:1003B0001080401C0828CED35460BDE8F0810000B6
|
||||
:1003C00002490143024A1160704700000000FA052B
|
||||
:1003D0000CED00E029B1064A92690243044B9A6190
|
||||
:1003E00004E0034A92698243014B9A61704700001E
|
||||
:1003F0000010024010B500F001F810BD0CB500204F
|
||||
:10040000019000903348006840F480303149086022
|
||||
:1004100000BF3048006800F4003000900198401C94
|
||||
:100420000190009818B90198B0F5A06FF1D1294852
|
||||
:10043000006800F4003010B10120009001E00020BD
|
||||
:1004400000900098012843D12348006840F0100034
|
||||
:10045000214908600846006820F007000860084647
|
||||
:10046000006840F0020008601A4840681949486076
|
||||
:100470000846406848600846406840F4806048602C
|
||||
:100480000846406820F47C1048600846406840F404
|
||||
:10049000E81048600846006840F08070086000BFBF
|
||||
:1004A0000C48006800F000700028F9D00948406846
|
||||
:1004B00020F00300074948600846406840F0020009
|
||||
:1004C000486000BF0348406800F00C000828F9D1DC
|
||||
:1004D0000CBD0000001002400020024010B500F0EA
|
||||
:1004E00001F810BD10B50D48006840B10B48006818
|
||||
:1004F000401E0A49086010B901200949087000240B
|
||||
:1005000008E004EB4401074A02EB810000F040F9E7
|
||||
:10051000601CC4B2012CF4DB10BD00000000002000
|
||||
:10052000040000205800002010B51348006840F077
|
||||
:1005300001001149086008464068104908400E490A
|
||||
:100540004860084600680E4908400B4908600846A4
|
||||
:10055000006820F4802008600846406820F4FE000F
|
||||
:1005600048604FF41F008860FFF744FF4FF00060C1
|
||||
:100570000449086010BD0000001002400000FFF8B0
|
||||
:10058000FFFFF6FE08ED00E010B50121880700F03E
|
||||
:1005900064F818B10121880700F05CF810BD000074
|
||||
:1005A00010B50121264800F058F818B1012124485F
|
||||
:1005B00000F050F80221224800F04FF858B1022113
|
||||
:1005C0001F4800F047F8002202211D4800F056F8AD
|
||||
:1005D0001C48006880470421194800F03EF858B1D3
|
||||
:1005E0000421174800F036F800220421144800F0D6
|
||||
:1005F00045F81548006880470821114800F02DF89B
|
||||
:1006000058B108210E4800F025F8002208210C48B6
|
||||
:1006100000F034F80D48006880471021084800F0C9
|
||||
:100620001CF858B11021064800F014F800221021DF
|
||||
:10063000034800F023F806480068804710BD00001A
|
||||
:10064000000400400C0000201000002014000020D6
|
||||
:1006500018000020CA430282704730B502460020CD
|
||||
:1006600000230024158A05EA0103958905EA01049F
|
||||
:1006700013B10CB1012000E0002030BD1AB1838914
|
||||
:100680000B43838102E083898B43838170470000A1
|
||||
:1006900010B540F226610C4800F027F820B140F276
|
||||
:1006A0002661094800F012F840F22551064800F092
|
||||
:1006B0001CF840B140F22551034800F007F8024809
|
||||
:1006C00000F03DF8C4B210BD0038014010B5002262
|
||||
:1006D000002340F66A14A14200D100BF0A1201248F
|
||||
:1006E0009440A3B2DC43048010BD70B502460024E0
|
||||
:1006F00000230025002040F66A16B14200D100BF59
|
||||
:10070000C1F3421501F01F03012606FA03F3012D80
|
||||
:1007100002D19689334006E0022D02D1168A334079
|
||||
:1007200001E0968A33400C12012606FA04F416887A
|
||||
:10073000344013B10CB1012000E0002070BD01462F
|
||||
:100740008888C0F30800704780F310887047000065
|
||||
:1007500010B5044604B910BD012C00D102240120BB
|
||||
:10076000FFF7F2FF08480460002008490870FFF70F
|
||||
:10077000EBFF04E005480078012800D100E0F9E72C
|
||||
:1007800000BF00BFE7E700000000002004000020D9
|
||||
:10079000416851B14168491E416031B90121417040
|
||||
:1007A0000178012901D1816841607047014600202C
|
||||
:1007B00011B9044AD26804E0012902D1024A126840
|
||||
:1007C00000207047001001400C0C014010B500F0F3
|
||||
:1007D00059F810BD08B501211020FFF7FBFD0020DE
|
||||
:1007E00000F02CF84FF40050ADF8000010208DF808
|
||||
:1007F000030003208DF8020069460248FFF754FD0C
|
||||
:1008000008BD00000010014008B501210820FFF7D5
|
||||
:10081000E1FD012000F012F84FF40070ADF8000087
|
||||
:1008200010208DF8030003208DF80200694602486D
|
||||
:10083000FFF73AFD08BD0000000C014020B94FF45D
|
||||
:100840000051044A516104E0012802D14102024AE8
|
||||
:100850001160704700100140140C014028B907498D
|
||||
:10086000096941F40051054A1161012805D1044983
|
||||
:10087000096841F40071024A11607047001001409C
|
||||
:10088000100C014070B5002016E0002100EB400282
|
||||
:100890001F4B03EB8202516000EB400203EB82022C
|
||||
:1008A000916000EB400203EB8202517000EB4002CA
|
||||
:1008B00003F82210411CC8B20128E6DB154909687B
|
||||
:1008C0004FF47A73B1FBF3F2B2F1807F00D31DE0F5
|
||||
:1008D00022F07F41491E4FF0E023596159170F2341
|
||||
:1008E000002907DA1C07260E0B4C01F00F052D1FFF
|
||||
:1008F000665503E01C07250E084C655400BF002117
|
||||
:100900004FF0E02399610721196100BF70BD00001D
|
||||
:10091000580000201C00002018ED00E000E400E07A
|
||||
:100920008AB04FF4A060FFF74BFDFFF74FFF00F0D8
|
||||
:1009300017F80021684600F027F81422694605A838
|
||||
:10094000FFF742FC0BE04FF4FA70FFF701FF079846
|
||||
:1009500080474FF4FA70FFF7FBFE08988047F2E7F4
|
||||
:1009600010B500F039F810BD10B500240020FFF7D5
|
||||
:100970001DFF0446204610BD10B500240120FFF7DE
|
||||
:1009800015FF0446204610BD70B505460C46022CE6
|
||||
:1009900001DB00BFFEE704EB8400044A02EB8001A8
|
||||
:1009A00014222846FFF710FC70BD00003000002024
|
||||
:1009B00010B50020FFF742FF10BD10B50020FFF773
|
||||
:1009C0004DFF10BD10B50120FFF738FF10BD10B569
|
||||
:1009D0000120FFF743FF10BD10B50020114908703A
|
||||
:1009E00011484860114888601148C8601148086182
|
||||
:1009F0000120087510490B4881611049C1611049F7
|
||||
:100A0000016210494162002408E004EB8401054AB8
|
||||
:100A100002EB810148688047601CC4B2022CF4DB01
|
||||
:100A200010BD000030000020D5070008BB090008F9
|
||||
:100A3000B10900086909000809080008CF09000881
|
||||
:100A4000C509000879090008680A000800000020AC
|
||||
:100A50003000000028010008980A0008300000203B
|
||||
:100A6000980600004401000800000000000000009B
|
||||
:100A70000000000000000000000000000000000076
|
||||
:100A80000000000000A24A04000000000000000076
|
||||
:080A9000010203040607080936
|
||||
:04000005080000ED02
|
||||
:00000001FF
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -409,6 +409,11 @@
|
||||
<FileType>1</FileType>
|
||||
<FilePath>..\Code\bsp\src\bsp_led.c</FilePath>
|
||||
</File>
|
||||
<File>
|
||||
<FileName>bsp_timer.c</FileName>
|
||||
<FileType>1</FileType>
|
||||
<FilePath>..\Code\bsp\src\bsp_timer.c</FilePath>
|
||||
</File>
|
||||
</Files>
|
||||
</Group>
|
||||
<Group>
|
||||
|
Loading…
x
Reference in New Issue
Block a user