- 博客(29)
- 资源 (12)
- 收藏
- 关注
原创 UCOSIII任务的创建和任务切换的实现
任务的创建和任务切换的实现文章目录任务的创建和任务切换的实现多任务系统的存在意义什么是任务裸机系统中多任务系统中创建任务的流程STEP 1 定义任务的堆栈STEP 2 定义任务函数STPE 3 定义任务控制块TCBSTEP 4 实现任务创建的函数任务添加就绪列表OSRdyList[]多任务系统的存在意义让CPU几乎同时在运行多件任务。什么是任务裸机系统中系统的主体就是main函数内的各种函数。多任务系统中根据功能分割成一个个独立且无法返回的函数,称为任务或者线程。创建任务的流程STEP
2021-03-08 16:58:14
543
原创 树莓派BT下载服务
树莓派BT文章目录树莓派BT0. 相关环境和涉及的技术0.0 树莓派版本说明0.1 一块磁盘0.2 硬盘挂载、格式化相关的命令0.3 Samba服务的使用1. 安装transmission2. 创建下载文件夹并更改权限3. 配置文件4. 常用命令6. 访问7. 路由器优化——端口转发8. 最终效率0. 相关环境和涉及的技术0.0 树莓派版本说明Raspberry Pi 4B 2GRaspberry Pi OS Lite0.1 一块磁盘机械硬盘或U盘硬盘或U盘格式为:ex
2021-01-08 01:40:11
867
2
原创 树莓派摄像头——图像 视频采集
树莓派摄像头——图像/视频采集1. 资源1.1 硬件——树莓派专用的CSI接口的摄像头CSI接口全称CMOS Sensor Interface(CSI)前端-配置逻辑接口以便支持大多数通用的可用的CMOS摄像头接口。支持CCIR656视频接口以及传统的摄像头接口。由统计数据产生的自动曝光(AE)和自动白平衡(AWB)控制。8位数据口,支持方便YCC,YUV,Bayer或者是RGB的数据格式输入。完全可控的8-bit或16-bit数据到32-bit的FIFO进行打包
2020-12-29 14:57:52
2979
原创 使用固件库配置HSE系统时钟,并使MCO1/2输出系统时钟
16-使用HSE配置系统时钟,并使用MCO输出监控系统时钟(3/4)一、固件库配置系统时钟HSE(一)配置流程复位RCCHSE 外部高速时钟使能等待外部高速时钟设置成功选择电压调节配置系统时钟配置main PLL使能main PLL等待main PLL 启动成功(二)配置代码HSE 系统时钟配置函数void HSE_SetSysClock( uint32_t PLLM, uint32_t PLLN, uint32_t PLLP, uint32_t PLLQ){ ErrorS
2020-12-15 17:11:41
831
原创 KEIL5 (MDK) 文件outline 上有红色的叉
现象原因MDK启动动态语法检查。解决关闭动态语法检查Edit–>Configuration–>Text Completion --> 取消 Enable选项
2020-12-08 23:22:02
1512
原创 单片机的时钟周期、机器周期(定时器0的使用、初值的计算)
一、 涉及的基础知识晶振?频率赫兹?1.可以产生高度稳定的信号,材料采用的是石英晶体,这种振荡器称为晶体振荡器。2. 我们描述晶振时,常常说它的频率,频率的单位是赫兹。3. 什么是赫兹?就说每秒震荡的次数,称为赫兹。1HZ就是一秒钟震荡1次。晶振为12MZH,就是每秒钟震荡106次,也就是一百万次每秒。单片机上的晶振二、89C52上的定时器0的初值计算51是12分频,51的1个机器周期划分为6个状态周期、12个节拍。至于为什么单片机要分频?简单来讲,就是晶振震荡的太快,分
2020-10-29 21:15:03
2825
原创 P004 软件的定义和分析
参考视频什么是软件程序+数据=软件对数据进行操作就是软件软件类别一 系统软件–驱动程序等使用的语言C/C++二 C/S架构软件Client 客户端Server 服务端下载客户端网易云,使用客户端软件,自动连接远端服务器,进行数据的获取。使用的语言c/c++C#3vb[padre]QT三 B/S架构软件B 浏览器前端: 样式htmlcssjs2.6 ’’ 后端:看不到的东西JavaPHPNodeGolangMysql.
2020-10-27 10:28:15
359
原创 VISUAL STUDIO 2019 的安装
P001—VISUAL STUDIO 2019 的安装P001—VISUAL STUDIO 2019 的安装参考视频要点装C/C++环境的话,只要选择以下两项[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-NQPsdmzL-1603764344385)(…/…/_resources/.png)]取消此选项[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-GyF4HnJ1-1603764344389)(…/…/_reso
2020-10-27 10:25:42
273
转载 写给大忙人看的操作系统》操作系统笔记——操作系统简介
全部章节本章内容CHAPTER 1现代计算机系统由一个或多个处理器、主存、打印机、键盘、鼠标、显示器、网络接口以及各种输入/输出设备构成。1 中央处理器就是CPUCPU:Central processing unit,中央处理器。2 操作系统就是运行在硬件之上的大型软件。任务就是为用户程序提供一个更好、更简单、更清晰的计算机模型。3 带有图形界面的操作系统被称为图形用户界面。Graphical User Interface,GUI.4 基于文本、命令行的通常称为Shell。...
2020-10-24 15:50:04
320
原创 swap()交换函数【引用】【指针】【指针引用】
swap()交换函数【引用】【指针】【指针引用】涉及基础知识C语言的变量,就是将系统分配的地址取个别名,所以变量名就是地址。引用是一个变量的另一个名字,又称别名。定义方式:int a=10;int &b=a;在这里,意思就是给a变量起了一个新名字b,因此b不可再次被重新定义。引用必须初始化,无空引用,并且引用不分等级。函数的定义类型 函数名(形参) { }一、理解1. 按值传递时,函数不会访问当前调用的实参,因此本体就不会交换,交换的只是通过函数形参复制过来的值
2020-10-23 15:47:02
31628
4
原创 MSP430G2553 PWM控制速度,并自我检测和简单调节速度
MSP430G2553 测量小车速度,并简单调速需要了解MSP430系列的GPIO,TIMERA,UART相关的知识涉及内容:PWM输出配置,TIMER A 的捕捉/比较寄存器的输入捕捉配置,串口通信的配置,系统时钟的配置STEP 1 测量小车速度的方法公式:v = s/t;s,就是轮子周长;t就是中断周期PREPARE 1 小车橡胶轮子参数:周长:C=2*pi*R=pi*D=20.41975cm;总共20个洞。1.0209875cm/洞每穿过一个洞,产生一个中
2020-10-14 04:40:20
5637
5
原创 [蓝桥杯-138译码器和74hc573锁存器的关系]
[蓝桥杯-138译码器和74hc573锁存器的关系]一、点亮开发板上的一个小灯(一)M74HC573的使能端—>Y4C端开启—>Y4端被138译码器选中—>P25/P26/P27三端输入控制#include "STC15F2K60S2.h"typedef unsigned int uint;typedef unsigned char uchar;void main(){ P2 = 0xA0; P0 = 0X00; //选中Y5C,关闭蜂鸣器 P2 = 0X80
2020-09-13 17:31:06
1264
原创 [011] 方法的可变个数的参数
[010] 方法的可变个数的参数一、方法可变个数的参数定义当不知道给方法传递几个参数时,可采用方法的可变个数的参数二、代码分析可变参数的思路一定义一个传入字符串组的接收函数,在主类中实例化,定义字符串组,调用接口即可。 class Person { public void printInfo(String[] arr) { for(int i = 0; i < arr.length; i++) {System.out.
2020-08-07 16:06:33
178
原创 [课程-014位带操作——GPIO的输入和输出控制]
一、概念性什么是位带操作 位带操作就是可以单独对一个比特位读和写。在51单片机中,通过sbit关键字来实现位定义。对于STM32位带区和位带别名区的理解 STM32里没有这样的关键字,但可以通过位带别名区来实现。 想要控制这些bit,就可以通过访问和控制位带别名区的一个32bit的字(因为stm32单片机以32bit为单位操作最为高效),来控制位带区内的任意一位。一个位带区的位对应位带别名区的四个字节(32bit)。SRAM存储代码的区域。二 、位带区和位带别名区的地址转换
2020-08-06 18:05:02
628
1
原创 [课程-013GPIO输入——按键检测]
一、按键检测原理开发板上的按键1是接在了GPIOA->IDR寄存器上了,只要通过读取其寄存器状态即可。二、 代码分析首先构建bsp_key.h和bsp_key.c两文件于/USER/KEY文件夹内;在Keil MDK 工程里导入文件路径bsp_key.h文件主要写一些方便以后修改方便的、看起来简洁的宏定义,以及#incude一些必要的头文件、写在.c文件里的函数声明#ifndef __BSP_KEY_H__#define __BSP_KEY_H__#include
2020-08-06 18:03:54
685
原创 [课程-010-1]初识STM32固件库——我们认为管件库应该是什么样子的
一、STM32固件库文件分析汇编编写的启动文件startup_stm32f10x_hd.s设置堆栈指针设置PC指初始化中断向量表配置系统时钟对用C库函数 __main最终去到C的世界时钟配置文件system_stm32f10x.c:将外部时钟HSE=8M,经过PLL倍频为72M外设相关的(xx:GPIO UART I2C SPI FSMC)stm32f10x.h:实现内核之外的外设寄存器映射stm32f10x_xx.h存放外设的初始化结构体、外设初始化结构体
2020-08-06 18:03:35
273
原创 [课程-009-4]自己写库—构件库函数雏形—总结及如何调高代码的可移植性
一、巧妙使用宏定义(一)现有问题上一节中,使用了包含有引脚、模式、速度的结构体变量的配置信息,但是移植性不强,移植后改动的地方较多,上一节代码如下: RCC->APB2ENR|= ((1)<<3); //打开GPIO端口的时钟 /* 填写配置信息——给结构体中的成员赋值。 */ GPIO_InitStructure_G.GPIO_Pin = GPIO_Pin_0; GPIO_InitStructure_G.GPIO_Mode = GPIO_Mode_OUT_PP;
2020-08-06 18:01:50
192
原创 [课程-009-3]自己写库—构件库函数雏形—编写GPIO初始化结构体和初始化函数
[课程-009-3]自己写库—构件库函数雏形—编写GPIO初始化结构体和初始化函数寄存器赋值时优化,让人晦涩难懂的二进制/十六进制数值自建结构体变量,编写初始化函数;方便初始化GPIO 引脚的各种模式。一、初始化端口(举例:配置和控制GPIOB)原来的点亮led的初始化GPIO端口代码 //原来的点亮led的初始化GPIO端口代码 RCC->APB2ENR|= ((1)<<3);//打开 GPIO 端口的时钟 //配置IO口为输出 GPIOB->CRL |
2020-08-06 18:01:27
490
原创 [010] 方法的重载
[009] 成员方法的重载和构造方法的重载一、 成员变量方法的重载构成方法的重载的要求:名字相同,参数列表不同1. 重载的概念:在同一个类中,允许存在一个以上的同名方法只要他们的参数个数或者参数类型不同即可2. 重载的特点和重载的判断:修饰符 返回值类型 方法名(参数列表){ 方法体;}与返回值类型无关只看参数列表3.重载判断总结:方法名前提相同参数不同:参数顺序不同也是重载参数个数不同是重载参数类型不同也是重载二、构造方法的重载1. 构造
2020-07-07 13:20:32
174
原创 [000] Java 历史、优点、基础语法
[000] Java概况[000] Java概况1.Java历史Sun公司开发诞生时间:1995.5产生原因:来自一个“Green”项目Java历届版本收购:2009.4.20 Sun被甲骨文公司Oracle收购2. window的Dos命令[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-MFjPZRrC-1594094042022)(…/…/_resources/2d910a74c1b1469e9458962fd9ea790e.png
2020-07-07 12:52:07
169
原创 [Java] 从命令行得到5个整数,放入一整型数组,然后打印输出
[Java] 从命令行得到5个整数,放入一整型数组,然后打印输出命令行得到5个整数,放入一整型数组,然后打印输出,要求:如果输入数据不为整数,要捕获Integer.parseInt()产生的异常,显示“请输入整数”,捕获输入参数不足5个异常(数组越界),显示“请输入至少5个整数”。import java.util.*;public class TestThrow { public static void main(String[] args) { Scanner input =
2020-05-22 16:38:40
7451
原创 单片机STC12C5A60S2_RFID_RC522_OLED_门禁系统_菜单设计
门禁系统视频演示系统流程图系统框图系统流程图代码分析代码结构构成main.h#ifndef __MAIN_H__#define __MAIN_H__#include "common.h"#include "user_passwd.h"#include "keyboard.h"#include "iic.h"#include "oled.h"#...
2020-04-30 14:37:29
3790
1
原创 Java数组
Java数组一、一维数组(一) 一维数组的声明两种书写方式: type var[]; // = new type[max]; type[] var; // = new type[max];(二) 数组的初始化1.动态初始化 int[] arr = new int[4];//声明能放四个int类型的数据的数组 arr[0] = 3; arr[1] = 6; ...
2020-01-11 01:46:15
279
原创 【记录-SMC】单片机项目结构学习 (~﹃~)~zZ 2019-12-04
一、好的方面1.从其他文件调用函数错误 main.c调用smg.c里的自定义函数时,在smg.h中函数声明,函数的形参必须使用ANSI-prototype规定的类型,如char,int,etc.而不能使用uchar等通过typedef自定义名称的类型。2.变量的生存周期 在每个.c文件里,哪个c文件需要什么变量、定义(如使用sbit LED_TEST = P1^0;或者...
2019-12-04 00:30:33
411
2
原创 我从许吉如身上学到了什么?
2019年11月16日 15:51:48我的第一篇生活随笔 这是我第一次写关于生活的博客,没啥写博客的经验,可能读起来像小学生作文一样,哈哈,也不怕,换个想法,这不更通俗易懂嘛。白居易的诗文虽然通俗易懂,但也掩盖不住诗文的风采。正如标题所言,为什么写它呢?一是为了记录,正如我的个人博客简介一样,用记录的方式记录自己的成长与收获。二是为了对听了许吉如的经验分享所付诸的实践...
2019-11-16 16:26:46
548
转载 打开 Android Studio 卡在「Fetching Android SDK component information」界面的解决方案
摘抄于Android Studio 安卓开发者社区:http://mazhuang.org/2015/05/06/android-studio/,感谢原创作者。Android Studio First Run 检测 Android SDK 及更新,由于众所周知的原因,我们会「Unable to access Android SDK add-on list」,而且大家一般也已经提前配置好
2017-04-08 04:12:33
461
Library.sql|Library.sql
2020-10-23
Java综合实验【上海xx学院】
2020-06-20
Java代码.zip
2020-05-26
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人