- 博客(8)
- 资源 (4)
- 收藏
- 关注
原创 嵌入式C学习笔记201904
指针 指针变量:以地址为值得变量 指针变量得类型:声明中去掉变量名之后剩下得部分,就是这个指针变量的类型 指针变量指向的变量的类型:声明中去掉变量名和前面的一个*号,剩下的就是 *号 <1>*在声明中仅用来说明后面的变量是一个指针变量 <2>*在赋值符号=的左边,修改指针变量指向的那个变量的值-------间接寻址运算符 &...
2019-04-22 17:28:25 210
转载 字符串
原文链接:https://blog.csdn.net/Wan_shibugong/article/details/81949513 求字符串的长度 :strlen 长度不受限制的字符串函数 :strcpy;strcat;strcmp 长度受限制的字符串函数 :strncpy ;strncat ;strncmp 字符串查找 :strchr ;strrchr ;strpbrk ;strstr ...
2019-04-11 23:19:54 134
原创 ucos学习笔记---005调度锁保护(3.02)
设计目标:假设有一全局共享的计数器变量shareCount。在任务1和任务2中分别对其自增 调度锁原理:上锁时,禁止任务切换,无论何种情况,即使时间片用完,仍运行原任务;解锁是允许任务切换 软件实现: ...
2019-04-11 22:46:16 250
原创 ucos学习笔记---004临界区保护(3.01)
临界区保护 设计目标: 临界区概念:指的是访问多个任务共享资源的一段代码。当有任务进入临界区时,其他任务必须等待直至该任务离开临界区,以确定共享资源的访问不会冲突 临界区保护原理: 设计实现:使用关中断保护临界区,中断控制寄存器PRIMASK uint32_t tTaskEnterCritical(void) { uint32_t primask = __get_PRIMASK...
2019-04-11 22:45:40 614
原创 列表元素的插入与删除
// test5.cpp : Defines the entry point for the console application. // #include "stdafx.h" #include <malloc.h> #include <iostream> using namespace std; struct DuLNode { int data; DuLNod...
2019-04-11 22:42:02 251
原创 ucos学习笔记---003双任务延时原理与空闲任务
双任务延时原理与空闲任务 设计目标:提供一个任务延时接口,使得延时过程中可放弃CPU转而运行其他任务,提高CPU运行效率 任务延时原理:任务数量不限,而硬件计数器资源数量非常有限,不得不采用“软件计时器” 延时精度问题:精度有限 void tTaskSched() { if(currentTask == idleTask) { if(taskTable[0]->delayT...
2019-04-08 21:43:53 208
原创 ucos学习笔记---002双任务时间片运行原理
002:双任务时间片运行原理 时间片切换原理:用系统定时器的中断函数实现任务的切换与调度。 void tSetSysTickPeriod(uint32_t ms) //任务调度定时器参数配置 { SysTick->LOAD = ms * SystemCoreClock / 1000 -1; NVIC_SetPriority(SysTick_IRQn, (1<...
2019-04-08 11:20:52 327
原创 ucos学习笔记---001任务切换
001: 概述:裸机程序:单一的顺序执行代码结构----------缺点:实时性不能保证;CPU利用率不高 RTOS:通用任务管理框架,用于控制任务的运行和任务 1.07:内核编程实践 异常中断触发 main.c typedef struct _BlockType_t { unsigned long *stackPtr; }Block...
2019-04-02 15:29:01 341
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人