91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 714KB
    文件類型: .rar
    金幣: 2
    下載: 0 次
    發布日期: 2021-06-12
  • 語言: 其他
  • 標簽: stm32??spi??rc522??

資源簡介

用stm32f103vc做的通過spi口連接rc522實現rfid讀卡的程序,程序內含接口定義,方便連接。

資源截圖

代碼片段和文件信息

#include?“delay.h“
//////////////////////////////////////////////////////////////////////////////////? ?
//如果使用ucos則包括下面的頭文件即可.
#if?SYSTEM_SUPPORT_UCOS
#include?“includes.h“ //ucos?使用 ??
#endif
////////////////////////////////////////////////////////////////////////////////// ?
//本程序只供學習使用,未經作者許可,不得用于其它任何用途
//ALIENTEK?STM32開發板
//使用SysTick的普通計數模式對延遲進行管理
//包括delay_usdelay_ms
//正點原子@ALIENTEK
//技術論壇:www.openedv.com
//修改日期:2012/9/2
//版本:V1.5
//版權所有,盜版必究。
//Copyright(C)?廣州市星翼電子科技有限公司?2009-2019
//All?rights?reserved
//********************************************************************************
//V1.2修改說明
//修正了中斷中調用出現死循環的錯誤
//防止延時不準確采用do?while結構!

//V1.3修改說明
//增加了對UCOSII延時的支持.
//如果使用ucosIIdelay_init會自動設置SYSTICK的值使之與ucos的TICKS_PER_SEC對應.
//delay_ms和delay_us也進行了針對ucos的改造.
//delay_us可以在ucos下使用而且準確度很高更重要的是沒有占用額外的定時器.
//delay_ms在ucos下可以當成OSTimeDly來用在未啟動ucos時它采用delay_us實現從而準確延時
//可以用來初始化外設在啟動了ucos之后delay_ms根據延時的長短選擇OSTimeDly實現或者delay_us實現.

//V1.4修改說明?20110929
//修改了使用ucos但是ucos未啟動的時候delay_ms中中斷無法響應的bug.
//V1.5修改說明?20120902
//在delay_us加入ucos上鎖,防止由于ucos打斷delay_us的執行,可能導致的延時不準。
//////////////////////////////////////////////////////////////////////////////////? ?

static?u8??fac_us=0;//us延時倍乘數 ???
static?u16?fac_ms=0;//ms延時倍乘數在ucos下代表每個節拍的ms數

#ifdef?OS_CRITICAL_METHOD? //如果OS_CRITICAL_METHOD定義了說明使用ucosII了.
//systick中斷服務函數使用ucos時用到
void?SysTick_Handler(void)
{ ???
OSIntEnter(); //進入中斷
????OSTimeTick();???????//調用ucos的時鐘服務程序???????????????
????OSIntExit();????????//觸發任務切換軟中斷
}
#endif
???
//初始化延遲函數
//當使用ucos的時候此函數會初始化ucos的時鐘節拍
//SYSTICK的時鐘固定為HCLK時鐘的1/8
//SYSCLK:系統時鐘
void?delay_init(u8?SYSCLK)
{
#ifdef?OS_CRITICAL_METHOD? //如果OS_CRITICAL_METHOD定義了說明使用ucosII了.
u32?reload;
#endif
? SysTick->CTRL&=~(1<<2); //SYSTICK使用外部時鐘源 ?
fac_us=SYSCLK/8; //不論是否使用ucosfac_us都需要使用
????
#ifdef?OS_CRITICAL_METHOD? //如果OS_CRITICAL_METHOD定義了說明使用ucosII了.
reload=SYSCLK/8; //每秒鐘的計數次數?單位為K ???
reload*=1000000/OS_TICKS_PER_SEC;//根據OS_TICKS_PER_SEC設定溢出時間
//reload為24位寄存器最大值:16777216在72M下約合1.86s左右
fac_ms=1000/OS_TICKS_PER_SEC;//代表ucos可以延時的最少單位 ???
SysTick->CTRL|=1<<1;??? //開啟SYSTICK中斷
SysTick->LOAD=reload;? //每1/OS_TICKS_PER_SEC秒中斷一次
SysTick->CTRL|=1<<0;??? //開啟SYSTICK????
#else
fac_ms=(u16)fac_us*1000;//非ucos下代表每個ms需要的systick時鐘數???
#endif
} ????

#ifdef?OS_CRITICAL_METHOD? //如果OS_CRITICAL_METHOD定義了說明使用ucosII了.
//延時nus
//nus為要延時的us數. ???? ???
void?delay_us(u32?nus)
{
u32?ticks;
u32?toldtnowtcnt=0;
u32?reload=SysTick->LOAD; //LOAD的值 ???? ?
ticks=nus*fac_us;? //需要的節拍數 ?? ?
tcnt=0;
OSSchedLock(); //阻止ucos調度,防止打斷us延時
told=SysTick->VAL;???????? //剛進入時的計數器值
while(1)
{
tnow=SysTick->VAL;
if(tnow!=told)
{ ????
if(tnow else?tcnt+=reload-tnow+told; ????
told=tnow;
if(tcnt>=ticks)break;//時間超過/等于要延遲的時間則退出.
}??
};
OSSchedUnlock(); //開啟ucos

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----

?????文件???????5029??2013-11-23?21:27??寄存器版\SPI_RC522\CH\delay.c

?????文件???????1526??2012-12-05?18:43??寄存器版\SPI_RC522\CH\delay.h

?????文件?????633941??2012-01-24?12:06??寄存器版\SPI_RC522\CH\stm32f10x.h

?????文件???????6381??2013-11-19?15:11??寄存器版\SPI_RC522\CH\sys.c

?????文件???????4442??2013-11-19?15:11??寄存器版\SPI_RC522\CH\sys.h

?????文件???????2085??2012-01-24?12:06??寄存器版\SPI_RC522\CH\system_stm32f10x.h

?????文件???????4058??2013-06-06?12:20??寄存器版\SPI_RC522\CH\usart.c

?????文件???????1410??2013-06-06?12:12??寄存器版\SPI_RC522\CH\usart.h

?????文件???????2181??2015-06-05?10:39??寄存器版\SPI_RC522\CX\RC522.C

?????文件??????15682??2014-03-21?11:30??寄存器版\SPI_RC522\CX\startup_stm32f10x_hd.s

?????文件?????235168??2015-06-03?14:09??寄存器版\SPI_RC522\GC\delay.crf

?????文件????????367??2015-06-03?14:09??寄存器版\SPI_RC522\GC\delay.d

?????文件?????248992??2015-06-03?14:09??寄存器版\SPI_RC522\GC\delay.o

?????文件?????243298??2015-06-03?14:09??寄存器版\SPI_RC522\GC\dma.crf

?????文件????????373??2015-06-03?14:09??寄存器版\SPI_RC522\GC\dma.d

?????文件?????256572??2015-06-03?14:09??寄存器版\SPI_RC522\GC\dma.o

?????文件?????245716??2015-06-05?10:39??寄存器版\SPI_RC522\GC\rc522.crf

?????文件????????507??2015-06-05?10:39??寄存器版\SPI_RC522\GC\rc522.d

?????文件?????256512??2015-06-05?10:39??寄存器版\SPI_RC522\GC\rc522.o

?????文件????????256??2015-06-05?10:39??寄存器版\SPI_RC522\GC\rc522.__i

?????文件?????244648??2015-06-03?14:09??寄存器版\SPI_RC522\GC\spi.crf

?????文件????????373??2015-06-03?14:09??寄存器版\SPI_RC522\GC\spi.d

?????文件?????261440??2015-06-03?14:09??寄存器版\SPI_RC522\GC\spi.o

?????文件?????252892??2015-06-05?10:39??寄存器版\SPI_RC522\GC\SPI_RC522.axf

?????文件??????24470??2015-06-05?10:39??寄存器版\SPI_RC522\GC\SPI_RC522.hex

?????文件??????60420??2015-06-05?10:39??寄存器版\SPI_RC522\GC\SPI_RC522.htm

?????文件????????353??2015-06-05?10:39??寄存器版\SPI_RC522\GC\SPI_RC522.lnp

?????文件????????161??2015-04-11?22:08??寄存器版\SPI_RC522\GC\SPI_RC522.plg

?????文件????????479??2015-03-22?13:55??寄存器版\SPI_RC522\GC\SPI_RC522.sct

?????文件???????1282??2015-06-05?10:39??寄存器版\SPI_RC522\GC\SPI_RC522.tra

............此處省略36個文件信息

評論

共有 條評論