资源简介

里面有stm32f4的全部资源 只是寄存器版本的 里面有stm32f4的全部资源 只是寄存器版本的

资源截图

代码片段和文件信息

#include “delay.h“
#include “sys.h“
//////////////////////////////////////////////////////////////////////////////////   
//如果使用OS则包括下面的头文件(以ucos为例)即可.
#if SYSTEM_SUPPORT_OS
#include “includes.h“ //支持OS时,使用   
#endif
//////////////////////////////////////////////////////////////////////////////////  
//本程序只供学习使用,未经作者许可,不得用于其它任何用途
//ALIENTEK STM32F407开发板
//使用SysTick的普通计数模式对延迟进行管理(支持OS)
//包括delay_usdelay_ms
//正点原子@ALIENTEK
//技术论坛:www.openedv.com
//创建日期:2014/5/2
//版本:V1.3
//版权所有,盗版必究。
//Copyright(C) 广州市星翼电子科技有限公司 2014-2024
//All rights reserved
//********************************************************************************
//修改说明
//V1.1 20140803 
//1delay_us添加参数等于0判断如果参数等于0则直接退出. 
//2修改ucosii下delay_ms函数加入OSLockNesting的判断在进入中断后也可以准确延时.
//V1.2 20150411  
//修改OS支持方式以支持任意OS(不限于UCOSII和UCOSIII理论上任意OS都可以支持)
//添加:delay_osrunning/delay_ostickspersec/delay_osintnesting三个宏定义
//添加:delay_osschedlock/delay_osschedunlock/delay_ostimedly三个函数
//V1.3 20150521
//修正UCOSIII支持时的2个bug:
//delay_tickspersec改为:delay_ostickspersec
//delay_intnesting改为:delay_osintnesting
////////////////////////////////////////////////////////////////////////////////// 

static u8  fac_us=0; //us延时倍乘数    
static u16 fac_ms=0; //ms延时倍乘数在os下代表每个节拍的ms数

#if SYSTEM_SUPPORT_OS //如果SYSTEM_SUPPORT_OS定义了说明要支持OS了(不限于UCOS).
//当delay_us/delay_ms需要支持OS的时候需要三个与OS相关的宏定义和函数来支持
//首先是3个宏定义:
//    delay_osrunning:用于表示OS当前是否正在运行以决定是否可以使用相关函数
//delay_ostickspersec:用于表示OS设定的时钟节拍delay_init将根据这个参数来初始哈systick
// delay_osintnesting:用于表示OS中断嵌套级别因为中断里面不可以调度delay_ms使用该参数来决定如何运行
//然后是3个函数:
//  delay_osschedlock:用于锁定OS任务调度禁止调度
//delay_osschedunlock:用于解锁OS任务调度重新开启调度
//    delay_ostimedly:用于OS延时可以引起任务调度.

//本例程仅作UCOSII和UCOSIII的支持其他OS请自行参考着移植
//支持UCOSII
#ifdef  OS_CRITICAL_METHOD //OS_CRITICAL_METHOD定义了说明要支持UCOSII
#define delay_osrunning OSRunning //OS是否运行标记0不运行;1在运行
#define delay_ostickspersec OS_TICKS_PER_SEC //OS时钟节拍即每秒调度次数
#define delay_osintnesting  OSIntNesting //中断嵌套级别即中断嵌套次数
#endif

//支持UCOSIII
#ifdef  CPU_CFG_CRITICAL_METHOD //CPU_CFG_CRITICAL_METHOD定义了说明要支持UCOSIII
#define delay_osrunning OSRunning //OS是否运行标记0不运行;1在运行
#define delay_ostickspersec OSCfg_TickRate_Hz //OS时钟节拍即每秒调度次数
#define delay_osintnesting  OSIntNestingCtr //中断嵌套级别即中断嵌套次数
#endif


//us级延时时关闭任务调度(防止打断us级延迟)
void delay_osschedlock(void)
{
#ifdef CPU_CFG_CRITICAL_METHOD    //使用UCOSIII
OS_ERR err; 
OSSchedLock(&err); //UCOSIII的方式禁止调度,防止打断us延时
#else //否则UCOSII
OSSchedLock(); //UCOSII的方式禁止调度,防止打断us延时
#endif
}

//us级延时时恢复任务调度
void delay_osschedunlock(void)
{
#ifdef CPU_CFG_CRITICAL_METHOD    //使用UCOSIII
OS_ERR err; 
OSSchedUnlock(&err); //UCOSIII的方式恢复调度
#else //否则UCOSII
OSSchedUnlock(); //UCOSII的方式恢复调度
#endif
}

//调用OS自带的延时函数延时
//ticks:延时的节拍数
void delay_ostimedly(u32 ticks)
{
#ifdef CPU_CFG_CRITICAL_METHOD
OS_ERR err; 
OSTimeD

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件        399  2011-05-09 18:17  1,标准例程-寄存器版本\keilkill.bat

     文件        578  2015-08-13 16:37  1,标准例程-寄存器版本\readme.txt

     文件        399  2011-05-09 18:17  1,标准例程-寄存器版本\实验0 新建工程实验\keilkill.bat

     文件       7963  2015-08-03 14:52  1,标准例程-寄存器版本\实验0 新建工程实验\OBJ\test.hex

     文件        610  2015-08-03 15:33  1,标准例程-寄存器版本\实验0 新建工程实验\readme.txt

     文件       7598  2015-08-03 14:05  1,标准例程-寄存器版本\实验0 新建工程实验\SYSTEM\delay\delay.c

     文件       1370  2015-05-21 11:00  1,标准例程-寄存器版本\实验0 新建工程实验\SYSTEM\delay\delay.h

     文件        681  2015-08-03 12:48  1,标准例程-寄存器版本\实验0 新建工程实验\SYSTEM\readme.txt

     文件     109142  2014-07-17 21:52  1,标准例程-寄存器版本\实验0 新建工程实验\SYSTEM\sys\core_cm4.h

     文件      22735  2014-07-17 21:52  1,标准例程-寄存器版本\实验0 新建工程实验\SYSTEM\sys\core_cm4_simd.h

     文件      17146  2014-07-17 21:52  1,标准例程-寄存器版本\实验0 新建工程实验\SYSTEM\sys\core_cmFunc.h

     文件      20513  2014-07-17 21:52  1,标准例程-寄存器版本\实验0 新建工程实验\SYSTEM\sys\core_cmInstr.h

     文件     704095  2014-08-01 22:30  1,标准例程-寄存器版本\实验0 新建工程实验\SYSTEM\sys\stm32f4xx.h

     文件       8388  2015-04-11 15:17  1,标准例程-寄存器版本\实验0 新建工程实验\SYSTEM\sys\sys.c

     文件       5780  2015-05-21 11:02  1,标准例程-寄存器版本\实验0 新建工程实验\SYSTEM\sys\sys.h

     文件       2233  2014-08-01 22:30  1,标准例程-寄存器版本\实验0 新建工程实验\SYSTEM\sys\system_stm32f4xx.h

     文件       3797  2015-04-11 15:29  1,标准例程-寄存器版本\实验0 新建工程实验\SYSTEM\usart\usart.c

     文件       1059  2015-04-11 15:25  1,标准例程-寄存器版本\实验0 新建工程实验\SYSTEM\usart\usart.h

     文件        650  2014-09-17 18:46  1,标准例程-寄存器版本\实验0 新建工程实验\USER\JlinkSettings.ini

     文件      30039  2014-10-03 17:23  1,标准例程-寄存器版本\实验0 新建工程实验\USER\startup_stm32f40_41xxx.s

     文件        412  2014-09-20 14:53  1,标准例程-寄存器版本\实验0 新建工程实验\USER\test.c

    .......    141376  2015-08-03 15:33  1,标准例程-寄存器版本\实验0 新建工程实验\USER\test.uvguix.Administrator

    .......     11296  2015-08-03 15:27  1,标准例程-寄存器版本\实验0 新建工程实验\USER\test.uvoptx

    .......     16614  2015-08-03 15:27  1,标准例程-寄存器版本\实验0 新建工程实验\USER\test.uvprojx

     文件        789  2014-08-28 13:06  1,标准例程-寄存器版本\实验1 跑马灯实验\HARDWARE\LED\led.c

     文件        692  2014-05-04 17:58  1,标准例程-寄存器版本\实验1 跑马灯实验\HARDWARE\LED\led.h

     文件        399  2011-05-09 18:17  1,标准例程-寄存器版本\实验1 跑马灯实验\keilkill.bat

     文件       5263  2015-08-03 15:30  1,标准例程-寄存器版本\实验1 跑马灯实验\OBJ\TEST.hex

     文件        534  2015-08-03 15:33  1,标准例程-寄存器版本\实验1 跑马灯实验\readme.txt

     文件       7598  2015-08-03 14:05  1,标准例程-寄存器版本\实验1 跑马灯实验\SYSTEM\delay\delay.c

............此处省略9527个文件信息

评论

共有 条评论