亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? bsp_timer.c

?? STM32的GPIO口模擬串口通信
?? C
字號:
/*
*********************************************************************************************************
*	                                  
*	模塊名稱 : 定時(shí)器模塊
*	文件名稱 : bsp_timer.c
*	版    本 : V2.0
*	說    明 : 設(shè)置systick中斷,實(shí)現(xiàn)若干個(gè)軟件定時(shí)器
*	修改記錄 :
*		版本號  日期       作者    說明
*		v0.1    2009-12-27 armfly  創(chuàng)建該文件,ST固件庫版本為V3.1.2
*		v1.0    2011-01-11 armfly  ST固件庫升級到V3.4.0版本。
*       v2.0    2011-10-16 armfly  ST固件庫升級到V3.5.0版本。
*
*	Copyright (C), 2010-2011, 安富萊電子 www.armfly.com
*
*********************************************************************************************************
*/

#include "stm32f10x.h"
#include <stdio.h>

#include "bsp_timer.h"
#include "bsp_button.h"

/* 
	在此定義若干個(gè)軟件定時(shí)器全局變量
	注意,必須增加__IO 即 volatile,因?yàn)檫@個(gè)變量在中斷和主程序中同時(shí)被訪問,有可能造成編譯器錯(cuò)誤優(yōu)化。
*/
#define TMR_COUNT	4		/* 軟件定時(shí)器的個(gè)數(shù),第1個(gè)保留給bsp_DelayMS()使用 */

SOFT_TMR g_Tmr[TMR_COUNT];

/* 全局運(yùn)行時(shí)間,單位10ms,用于uIP */
__IO int32_t g_iRunTime = 0;

static void bsp_SoftTimerDec(SOFT_TMR *_tmr);

void bsp_InitTimer(void)
{
	uint8_t i;
	
	/* 清零所有的軟件定時(shí)器 */
	for (i = 0; i < TMR_COUNT; i++)
	{
		g_Tmr[i].count = 0;
		g_Tmr[i].flag = 0;
	}
	
	/* 
		配置systic中斷周期為1ms,并啟動systick中斷。
    	這個(gè)函數(shù)在 \Libraries\CMSIS\CM3\CoreSupport\core_cm3.h 
    	
    	Systick中斷向量在(\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\startup\arm\
    		startup_stm32f10x_hd.s 文件中定義為 SysTick_Handler。
    	SysTick_Handler函數(shù)的實(shí)現(xiàn)在stm32f10x_it.c 文件。
    	SysTick_Handler函數(shù)調(diào)用了SysTick_ISR()函數(shù),在本文件末尾。
    */	
	SysTick_Config(SystemCoreClock / 1000);
}

/*
*********************************************************************************************************
*	函 數(shù) 名: SysTick_ISR
*	功能說明: SysTick中斷服務(wù)程序,每隔1ms進(jìn)入1次
*	形    參:無
*	返 回 值: 無
*********************************************************************************************************
*/
extern void AdcPro(void);
void SysTick_ISR(void)
{
	static uint8_t s_count = 0;
	uint8_t i;

	for (i = 0; i < TMR_COUNT; i++)
	{
		bsp_SoftTimerDec(&g_Tmr[i]);
	}

	g_iRunTime++;	/* 全局運(yùn)行時(shí)間每1ms增1 */	
	if (g_iRunTime == 0x7FFFFFFF)
	{
		g_iRunTime = 0;
	}
		
	if (++s_count >= 10)
	{
		s_count = 0;



		/* 
			下面的代碼實(shí)現(xiàn)所有按鍵的檢測。按鍵檢測每隔10ms一次就行了,一般做40ms的濾波處理就可以
			有效過濾掉機(jī)械動作造成的按鍵抖動。
		*/
		bsp_KeyPro();		/* 該函數(shù)在 bsp_button.c 中實(shí)現(xiàn) */
	}

	AdcPro();	/* ADC采樣濾波 */
}

/*
*********************************************************************************************************
*	函 數(shù) 名: bsp_SoftTimerDec
*	功能說明: 每隔1ms對所有定時(shí)器變量減1。必須被SysTick_ISR周期性調(diào)用。
*	形    參:_tmr : 定時(shí)器變量指針
*	返 回 值: 無
*********************************************************************************************************
*/
static void bsp_SoftTimerDec(SOFT_TMR *_tmr)
{
	if (_tmr->flag == 0)
	{
		if (_tmr->count > 0)
		{
			/* 如果定時(shí)器變量減到1則設(shè)置定時(shí)器到達(dá)標(biāo)志 */
			if (--_tmr->count == 0)
			{
				_tmr->flag = 1;
			}
		}
	}
}

/*
*********************************************************************************************************
*	函 數(shù) 名: bsp_DelayMS
*	功能說明: ms級延遲,延遲精度為正負(fù)1ms
*	形    參:n : 延遲長度,單位1 ms。 n 應(yīng)大于2
*	返 回 值: 無
*********************************************************************************************************
*/
void bsp_DelayMS(uint32_t n)
{
	/* 避免 n = 1 出現(xiàn)主程序死鎖 */
	if (n <= 1)
	{
		n = 2;
	}
	
	__set_PRIMASK(1);  		/* 關(guān)中斷 */
	g_Tmr[0].count = n;
	g_Tmr[0].flag = 0;
	__set_PRIMASK(0);  		/* 開中斷 */

	while (1)
	{
		CPU_IDLE();	/* 此處是空操作。用戶可以定義,讓CPU進(jìn)入IDLE狀態(tài),以降低功耗;或?qū)崿F(xiàn)喂狗 */

		/* 等待延遲時(shí)間到 */
		if (g_Tmr[0].flag == 1)
		{
			break;
		}
	}
}

/*
*********************************************************************************************************
*	函 數(shù) 名: bsp_StartTimer
*	功能說明: 啟動一個(gè)定時(shí)器,并設(shè)置定時(shí)周期。
*	形    參:	_id     : 定時(shí)器ID,值域【1,TMR_COUNT-1】。用戶必須自行維護(hù)定時(shí)器ID,以避免定時(shí)器ID沖突。
*						  定時(shí)器ID = 0 已用于bsp_DelayMS()函數(shù)
*				_period : 定時(shí)周期,單位1ms
*	返 回 值: 無
*********************************************************************************************************
*/
void bsp_StartTimer(uint8_t _id, uint32_t _period)
{
	if (_id >= TMR_COUNT)
	{
		/* while(1); 死機(jī) */
		return;
	}

	__set_PRIMASK(1);  		/* 關(guān)中斷 */
	g_Tmr[_id].count = _period;
	g_Tmr[_id].flag = 0;
	__set_PRIMASK(0);  		/* 開中斷 */
}

/*
*********************************************************************************************************
*	函 數(shù) 名: bsp_CheckTimer
*	功能說明: 檢測定時(shí)器是否超時(shí)
*	形    參:	_id     : 定時(shí)器ID,值域【1,TMR_COUNT-1】。用戶必須自行維護(hù)定時(shí)器ID,以避免定時(shí)器ID沖突。
*						  0 用于
*				_period : 定時(shí)周期,單位1ms
*	返 回 值: 返回 0 表示定時(shí)未到, 1表示定時(shí)到
*********************************************************************************************************
*/
uint8_t bsp_CheckTimer(uint8_t _id)
{
	if (_id >= TMR_COUNT)
	{
		return 0;
	}

	if (g_Tmr[_id].flag == 1)
	{
		g_Tmr[_id].flag = 0;
		return 1;
	}
	else
	{
		return 0;
	}
}

/*
*********************************************************************************************************
*	函 數(shù) 名: bsp_GetRunTime
*	功能說明: 獲取CPU運(yùn)行時(shí)間,單位1ms
*	形    參:無
*	返 回 值: CPU運(yùn)行時(shí)間,單位1ms
*********************************************************************************************************
*/
int32_t bsp_GetRunTime(void)
{
	int runtime; 

	__set_PRIMASK(1);  		/* 關(guān)中斷 */
	
	runtime = g_iRunTime;	/* 由于在Systick中斷被改寫,因此關(guān)中斷進(jìn)行保護(hù) */
		
	__set_PRIMASK(0);  		/* 開中斷 */

	return runtime;
}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲精品欧美激情| 韩国精品久久久| 麻豆精品在线播放| 91麻豆免费在线观看| 91麻豆精品国产91久久久久久 | 7777女厕盗摄久久久| 国产亚洲福利社区一区| 亚洲国产精品天堂| 成人动漫中文字幕| 欧美videos大乳护士334| 一区二区三区在线视频观看| 国产999精品久久久久久绿帽| 欧美区视频在线观看| 亚洲乱码国产乱码精品精可以看 | 精品一区二区在线观看| 欧美天天综合网| 亚洲精品国产品国语在线app| 大胆亚洲人体视频| 久久综合久久99| 久久99久久精品| 日韩一区二区三区免费观看| 国产欧美日本一区视频| 国产一区二区三区电影在线观看 | 亚洲美女屁股眼交| 国产成人精品aa毛片| 久久你懂得1024| 国产一区二区伦理片| 精品久久久久久久久久久久久久久久久 | 欧美专区日韩专区| 专区另类欧美日韩| 波多野结衣视频一区| 国产精品色噜噜| 99久久国产综合精品女不卡 | 精品国产一区二区三区不卡| 日本一道高清亚洲日美韩| 欧美一区二区三区思思人| 日韩精品福利网| 欧美电视剧在线观看完整版| 久久国产精品72免费观看| 精品久久久久99| 成人蜜臀av电影| 亚洲精品日韩一| 欧美美女一区二区在线观看| 麻豆成人免费电影| 久久久久久日产精品| 国产99久久久国产精品| 亚洲日本韩国一区| 欧美视频精品在线观看| 美女网站在线免费欧美精品| 久久久久久亚洲综合影院红桃| 不卡视频免费播放| 一区二区三区四区中文字幕| 欧美一区二区三区四区在线观看| 国产伦精品一区二区三区免费迷| 国产精品国产三级国产aⅴ中文 | 丝袜美腿成人在线| 日韩一区二区三区电影 | 在线电影国产精品| 麻豆国产91在线播放| 国产区在线观看成人精品| 91亚洲大成网污www| 午夜a成v人精品| 欧美经典一区二区三区| 欧美在线观看18| 国产东北露脸精品视频| 亚洲一区二区av电影| 日韩欧美国产高清| 91亚洲国产成人精品一区二三| 免费成人av在线| 亚洲欧美日本韩国| 精品国产露脸精彩对白| 色8久久人人97超碰香蕉987| 九色porny丨国产精品| 亚洲欧美日韩在线| 精品国产成人在线影院| 欧美亚洲丝袜传媒另类| 国产成人在线影院| 天天做天天摸天天爽国产一区| 欧美激情自拍偷拍| 91精品免费观看| 色又黄又爽网站www久久| 蜜臀精品久久久久久蜜臀| |精品福利一区二区三区| 欧美tickling挠脚心丨vk| 91国产成人在线| 粉嫩绯色av一区二区在线观看| 三级欧美在线一区| 亚洲欧美日韩精品久久久久| 久久精品一区四区| 91精品国产综合久久精品| 99久久精品免费看| 国产精品亚洲一区二区三区妖精 | 麻豆国产欧美一区二区三区| 亚洲综合激情另类小说区| 国产情人综合久久777777| 欧美成人高清电影在线| 欧美日韩成人综合| 色哟哟亚洲精品| 99在线热播精品免费| 国产91色综合久久免费分享| 久久精品国产亚洲5555| 日韩精品电影一区亚洲| 亚洲成av人片在线观看无码| 一区二区三区在线视频播放| 亚洲精品成人天堂一二三| 国产精品网站在线观看| 国产偷国产偷精品高清尤物 | 69堂亚洲精品首页| 欧美主播一区二区三区美女| 色噜噜狠狠一区二区三区果冻| 99精品在线观看视频| 成人黄页毛片网站| 国产成人免费高清| 岛国一区二区在线观看| 国产一区二区三区在线观看精品| 黄网站免费久久| 国产精品中文字幕日韩精品| 蜜臀久久久99精品久久久久久| 日韩av电影免费观看高清完整版在线观看| 亚洲一二三四在线观看| 亚洲国产精品精华液网站| 亚洲成人自拍偷拍| 天天av天天翘天天综合网色鬼国产| 亚洲3atv精品一区二区三区| 亚洲va欧美va人人爽午夜| 午夜精品在线视频一区| 日韩中文字幕区一区有砖一区 | 国产精品理论片在线观看| 国产午夜精品久久久久久免费视| 欧美国产欧美综合| 亚洲免费毛片网站| 玉米视频成人免费看| 亚洲6080在线| 国产在线国偷精品免费看| 从欧美一区二区三区| 一本到三区不卡视频| 在线综合视频播放| 国产丝袜美腿一区二区三区| 18成人在线观看| 日韩国产欧美在线播放| 极品少妇xxxx偷拍精品少妇| 99综合电影在线视频| 欧美色爱综合网| 久久综合资源网| 亚洲乱码国产乱码精品精98午夜| 日韩激情在线观看| 国产一区二区精品在线观看| 色天天综合色天天久久| 欧美日韩你懂得| 国产欧美精品一区aⅴ影院| 亚洲精品第1页| 国产一区二区三区免费| 日本韩国欧美国产| 精品久久国产字幕高潮| 尤物在线观看一区| 久久av资源网| 欧美色图12p| 国产欧美一区在线| 午夜伦欧美伦电影理论片| 国产成a人无v码亚洲福利| 欧美日韩高清一区| 国产精品久久久久久久久快鸭| 青椒成人免费视频| 99re成人在线| 欧美不卡一二三| 亚洲国产成人av| 91视频免费播放| 久久日韩精品一区二区五区| 亚洲国产一区视频| 成人激情校园春色| 日韩精品一区二区三区在线| 亚洲一区在线播放| 国产成人精品亚洲777人妖| 制服.丝袜.亚洲.中文.综合| 一区二区三区日韩在线观看| 成人一区二区在线观看| 日韩免费一区二区| 亚洲国产毛片aaaaa无费看 | 国产成人超碰人人澡人人澡| 欧美不卡激情三级在线观看| 亚洲国产精品一区二区尤物区| 91蝌蚪porny九色| 国产精品免费视频观看| 国产一区二区三区四区五区入口| 91精品国产综合久久国产大片 | 国产91丝袜在线18| 精品国产乱码久久久久久久 | 午夜精品久久久久久久99水蜜桃| 日本精品一级二级| 亚洲手机成人高清视频| 成人福利在线看| 国产精品久久久久三级| 国产在线播放一区三区四| 日韩精品专区在线| 美日韩一区二区| 日韩欧美久久久| 国产一区二区三区蝌蚪| 久久精品在这里| 成年人国产精品| 亚洲欧洲精品成人久久奇米网|