资源简介
里面有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\Jli
文件 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个文件信息
相关资源
- 电赛必备 fdc2214所有资料
- STM32F413ZH 7路串口收发 +IIC +freertos+步
- STM32F1开发指南(精英版)-寄存器版本
- USB_HID_IAP上位机.rar
- HT-001 RN8209电表套件(STM32不带电能)
- STM32与迪文屏通信例程.zip
- STM32CubeProgrammerFlashAlgorithm.rar
- 乐涛3D16光立方DIY全套资料包20171112版
- STM32F401 驱动LPS25HB气压传感器 HTS2
- 原子教你玩stm32 寄存器版教材pdf
- NUCLEO-STM32H743.zip
- STM32自学笔记
- SIM900A控制电路板和源程序
- STM32F407驱动2.4寸的SPI接口LCD程序.zip
- STM32F070使用内部晶振与PC间实现USB双向
- STM32cubeMx配置PWM输出,捕获输入,AD
- STM32F407 例程.zip
- 基于stm32的智能路灯控制
- 基于STM32F4+SSD1963+XPT2046方案的LCD显示
- STM32 HID复合设备3 hid,PC端set_idle后返
- STM32+ESP8266智能农场i项目开发程序
- stm32中文开发手册
- 基于stm32的三级菜单
- STM32F1 GPS模块NEO-7M
- STM32-US-100超声波程序
- stm32智能搬运码垛小车
- 基于stm32的gps导航
- STM32与ZigBee串口通信LCD显示程序
- 基于stm32的烟雾传感的监测
- STM32L0系列数据手册中文版
评论
共有 条评论