自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(10)
  • 收藏
  • 关注

原创 uCOS-II函数解析

时间管理服务函数是以系统节拍为处理单位的,实际的时间与希望的时间是有误差的,最坏的情况下误差接近一个系统节拍。因此时间管理服务函数只能用在对时间精度要求不高的场合,或者时间间隔较长的场合。1. void  OSSchedLock(void);void  OSSchedLock (void){#if OS_CRITICAL_METHOD == 3

2012-12-27 15:57:08 4346

原创 ucosii在stm32上的移植详解5

详解1-4把移植过程都已经介绍了。接下来的工作是验证移植是否ok以及如何基于移植好的ucosii开发应用程序。前一个问题可以说是后一个问题的特殊情况,一般我们会创建两个简单的任务,看看任务切换是否成功来验证移植是否ok,因为任务切换可以说是ucosii最核心的功能。任务代码(main.c):static void task1(void *p_arg){        for (

2012-12-27 09:53:43 1505

原创 ucosii在stm32上的移植详解4

详解3中有一个问题还没解释,就是stm32f10x_it.c中已经有SysTick中断函数的定义SysTick_Handler(),为什么官方版非要弄个OS_CPU_SysTickHandler()。答案就在启动文件上,一般我们自己开发基于stm32芯片的软件,都会使用标准外设库CMSIS中提供的启动文件,而官方移植的启动文件却是自己写的,在两个文件init.s,vectors.s中(Micriu

2012-12-27 09:53:00 1220

原创 ucosii在stm32上的移植详解3

移植详解1和2中主要讲了移植需要用到的基础知识,本文则对具体的移植过程进行介绍。    首先从micrium网站上下载官方移植版本(编译器使用ARM/Keil的,V2.86版本,V2.85有问题)。    下载地址:http://micrium.com/page/downloads/ports/st/stm32    解压缩后得到如下文件夹和文件:    Micrium\

2012-12-27 09:52:16 2528

原创 ucosii在stm32上的移植详解2

转载请注明出处:http://blog.csdn.net/lbl1234    在详解1中主要讲了移植需要用到的CM3内核知识,本文讲一讲ucosii的原理和代码组成。ucosii最经典的学习资料莫过于邵贝贝老师的>,我想这本书对学ucosii已经足够了,因为他把ucosii V2.55代码都讲了一遍。移植前应该好好看看此书。    下面说说我对ucosii的理解。应该说ucosii这

2012-12-27 09:50:46 1053

原创 ucosii在stm32上的移植详解1

虽然目前网上已经有不少关于ucosii在stm32上的移植版本,包括micrium也有官方移植版本。但这些版本具体是怎么移植出来的,又该怎么基于移植好的ucosii开发应用软件,网上介绍的并不多。这里介绍一下我的移植经历,希望对大家有所帮助。    我的移植基本上是从零开始的。首先想要做好移植,有两方面的内容是必须要了解。1.目标芯片;2.ucosii内核原理。    虽然我们移植的目标芯

2012-12-27 09:49:58 1761

原创 stm32标准外设库使用详解

stm32标准外设库是stm32全系列芯片的外设驱动,有了它可以大大加速我们开发stm32。    首先从st公司的网站下载最新的stm32标准外设库,写本文时最新的版本是V3.5.0。    解压该zip文件,得到如下文件夹和文件STM32F10x_StdPeriph_Lib_V3.5.0\   _htmresc   Libraries   Project   U

2012-12-27 09:49:00 1705

原创 UCOS-II学习笔记(一)

(一)任务管理uC/OS-II 中最多可以支持64 个任务,分别对应优先级0~63,其中0 为最高优先级。63为最低级,系统保留了4个最高优先级的任务和4个最低优先级的任务,所有用户可以使用的任务数有56个。   uC/OS-II提供了任务管理的各种函数调用,包括创建任务,删除任务,改变任务的优先级,任务挂起和恢复等。   系统初始化时会自动产生两个任务:一个是

2012-12-18 16:02:59 1473

转载 uC/OS-II源码分析

首先从main函数开始,下面是uC/OS-II main函数的大致流程:main(){ OSInit(); TaskCreate(...); OSStart();}首先是调用OSInit进行初始化,然后使用TaskCreate创建几个进程/Task,最后调用OSStart,操作系统就开始运行了。 OSInit 最先看看OSInit完成哪些初始

2012-12-17 16:47:38 925

转载 聊聊 I2C

对于嵌入式开发的朋友来说,I2C协议实在是再熟悉不过了,有太多的器件,采用的都是通过I2C来进行相应的设置。今天,我们就随便聊聊这个I2C协议。      I2C协议中最重要的一点是I2C地址。这个地址有7位和10位两种形式。7位能够表示127个地址,而在实际使用中基本上不会挂载如此多的设置,所以很多设备的地址都采用7位,所以本文接下来的说明都是基于此。

2012-12-17 09:01:49 2915

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除