自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(29)
  • 资源 (3)
  • 收藏
  • 关注

原创 常用存储器

存储器是计算机结构的重要组成部分。,有了存储器计算机才具有记忆功能。存储器按其存储介质特性主要分为和两大类。“易失/非易失”是指存储器,它存储的数据内容是的特性。一般易失性存储器,而非易失性存储器。易失性存储器最典型的代表是,非易失性存储器的代表则是。

2023-03-24 11:29:11 269

原创 BootLoader和U-boot和Linux关系

uboot是一个裸机综合历程,比较复杂。现在的 uboot 已经支持液晶屏、网络、 USB 等高级功能。uboot的主要目的是为系统启动做准备。uboot就是一个bootloader,作用就是启动linux或者其他系统。uboot是一个通用的bootloader,它支持多种架构。uboot不仅仅只能驱动linux,还可以驱动其他系统,比如:vxworks等。同样,linux不仅仅只能有uboot启动。

2023-03-21 00:12:39 360

原创 STM32笔记_12(基本定时器)

定时器时钟 TIMxCLK,即内部时钟 CK_INT,经 APB1 预分频器后分频提供,如果 APB1 预分频系数等于 1,则频率不变,否则频率乘以 2,库函数中 APB1 预分频的系数是 2,即 PCLK1=36M,所以定时器时钟。TIM1/8 是一个 16 位的可以向上/下计数的定时器,可以定时,可以输出比较,可以输入捕捉,还可以有三相电机互补输出信号,每个定时器有 8 个外部 IO。时钟分频,设置定时器时钟 CK_INT 频率与数字滤波器采样时钟频率分频比,基本定时器没有此功能,不用设置。

2023-03-16 10:43:57 313

原创 STM32笔记_11(DMA—直接存储区访问)

DMA 外设寄存器的地址对应的就是内部 FLASH(我们这里把内部 FALSH 当作一个外设来看)的地址, DMA存储器的地址就是我们自定义的变量(相当于一个缓冲区,用来存储来自内部 FLASH 的数据)的地址。串口向电脑端发送数据为例,DMA 外设寄存器的地址对应的就是串口数据寄存器的地址, DMA 存储器的地址就是我们自定义的变量(相当于一个缓冲区,用来存储通过串口发送到电脑的数据)的地址。方向我们设置外设为目标地址。一般设置为外设的数据寄存器地址,如果是存储器到存储器模式则设置为其中一个存储器地址。

2023-02-09 16:37:01 642

原创 STM32笔记_10(ADC—电压采集)

STM32f103 系列有3 个 ADC,精度为12 位,每个 ADC 最多有16 个外部通道。其中 ADC1 和ADC2 都有 16 个外部通道, ADC3 根据 CPU 引脚的不同通道数也不同,一般都有 8 个外部通道。

2023-02-08 16:23:22 5204 2

原创 FreeRTOS的任务创建和删除

会负责释放被删除任务中由系统分配的内存,但是由用户在任务删除前申请的内存, 则需要由用户在任务被删除前提前释放,否则将导致内存泄露。4、更新下个任务的阻塞时间:更新下一个任务的阻塞超时时间,以防被删除的任务就是下一个阻塞超时的任务。1、获取所要删除任务的控制块:通过传入的任务句柄,判断所需要删除哪个任务,NULL代表删除自身。2、将被删除任务,移除所在列表:将该任务在所在列表中移除,包括:就绪、阻塞、挂起、事件等列表。2、实验设计:将设计四个任务:start_task、task1、task2、task3。

2023-02-07 15:13:46 355

原创 FreeRTOS基础知识

调度器就是使用相关的调度算法来决定当前需要执行的任务。FreeRTOS 一共支持三种任务调度方式:主要是针对优先级不同的任务,每个任务都有一个优先级,优先级高的任务可以抢占优先级低的任务(FreeRTOS中任务优先级数值越大,任务优先级越大运行条件:1、创建三个任务:Task1、Task2、Task32、Task1、Task2、Task3的优先级分别为1、2、3;(在FreeRTOS中任务设置的数值越大,优先级越高,所以TASK3的优先级最高。

2023-02-01 10:18:00 416

原创 RTOS入门知识

例子:打游戏和回复信息,不需要等某一件事做完,可每间隔1ms(一个时间片时钟节拍),然后交替做这两件事,因为速度很快,从宏观的意义上来看,类似同步执行!RTOS特点:RTOS全称:Real Time OS,就是实时操作系统,强调的是:实时性。裸机:裸机又称前后台系统,前台系统是指中断服务函数,后台系统是指大循环,即应用程序。例子:打游戏和回复信息,需要打完游戏才可回复信息,或者回复完信息才可打游戏。优先级不限:任务优先级分配没有限制,多任务可同一优先级。3、抢占式:高优先级任务抢占低优先级的任务。

2023-01-21 11:16:32 778

原创 STM32笔记_9(USART—串口通讯)

串口通讯 (Serial Communication) 是一种设备间非常常用的串行通讯方式,通常用来调试。通用同步异步收发器(Universal Synchronous Asynchronous Receiver and Transmitter) 是一个串行通信设备,可以灵活地与外部设备进行全双工数据交换。有别于 USART 还有一个UART(UniversalAsynchronous Receiver and Transmitter),它是在 USART 基础上。

2023-01-18 23:10:43 861

原创 STM32笔记_8(系统滴答定时器“delay延时函数“)

SysTick—系统定时器是属于CM3 内核中的一个外设内嵌在 NVIC 中。系统定时器是一个24bit的向下递减的计数器,计数器每计数一次的时间为1/SYSCLK,一般我们设置系统时钟 SYSCLK等于 72M。当重装载数值寄存器的值递减到 0的时候,系统定时器就产生一次中断,以此循环往复。因为 SysTick 是属于 CM3 内核的外设,所以所有基于 CM3 内核的单片机都具有这个系统定时器,使得软件在 CM3 单片机中可以很容易的移植。

2023-01-15 15:03:59 255

原创 STM32笔记_7(EXTI—外部中断)

EXTI(External interrupt/event controller)—外部中断/事件控制器,管理了控制器的20 个中断/事件线。每个中断/事件线都对应有一个边沿检测器,可以实现输入信号的上升沿检测和下降沿的检测。EXTI 可以实现对每个中断/事件线进行单独配置,可以单独配置为中断或者事件,以及触发事件的属性。

2023-01-14 21:46:02 581

原创 STM32笔记_6(配置系统时钟“时钟树“)

设置系统时钟 SYSCLK、设置 AHB 分频因子( HCLK )、设置 APB2 分频因子(PCLK2 )、设置 APB1 分频因子(PCLK1 )、设置各个外设的分频因子。控制AHB、 APB2 和 APB1这三条总线时钟的开启、控制每个外设的时钟的开启。对于这四个时钟的配置一般是:。

2023-01-13 14:33:25 1601

原创 STM32笔记_5(STM32固件库解析)

"<>:在系统的安装目录找。:先在当前的自己新建的工程目录下找,找不到就去系统安装的目录找。

2023-01-08 22:09:19 120

原创 STM32笔记_4(GPIO功能简介)

GPIO 引脚经过内部的上、下拉电阻,可以配置成上/下拉输入,然后再连接到施密特触发器,信号经过触发器后,模拟信号转化为 0、 1 的数字信号,然后存储在“输入数据寄存器 GPIOx_IDR”中,通过读取该寄存器就可以了解 GPIO 引脚的电平状态。推挽输出的低电平为 0 伏,高电平为 3.3 伏。引脚的两个保护二级管可以防止引脚外部过高或过低的电压输入,当引脚电压高于 VDD 时,上方的二极管导通,当引脚电压低于 VSS 时,下方的二极管导通。输出数据寄存器的值就可以修改 GPIO 引脚的输出电平。

2023-01-06 19:43:23 127

原创 STM32笔记_3(STM32模仿51的寄存器形式点灯)

STM32笔记_3

2023-01-05 20:33:20 124

原创 STM32笔记_2(STM32芯片架构,存储器和寄存器映射)

STM32笔记_2

2023-01-04 19:45:47 747

原创 STM32笔记_1(了解STM32)

STM32学习

2023-01-03 18:25:38 179

原创 51单片机UART串口通信( 电脑通过串口控制LED)

#include <REGX52.H>//窜口初始化void UART_Init() //[email protected]{ //配置窜口相关寄存器 PCON = 0x80; //是波特率加倍 SCON = 0x50; //配置窜口工作方式(8位UART,波特率可变) //配置定时器模式 TMOD = 0x20; TMOD &= 0x0F; //高4位置零,且保证第四位不变(高四位为定时器1,低四位为定时器0) TMOD |= 0...

2022-05-01 16:39:24 971

原创 通过栈实现十进制转化为二进制或八进制

#include<stdio.h>typedef struct{ int data[50];//进制设为整形 int top;}seqstack;//栈的初始化void initstack(seqstack* s){ s->top = -1;}//判断栈是否为空int empty(seqstack* s){ if (s->top == -1) return 1; else return ...

2022-03-29 17:32:27 1433

原创 指针运算中的优先级

/*指针运算中的优先级*/#include<stdio.h>int a[2] = { 100, 200};int b[2] = { 300, 400};int main(void){ int *p1, *p2, *p3; p1 = p2 =a; p3 = b; printf(" *p1 = %d, *p2 = %d, *p3 = %d\n", *p1, *p2, *p3); printf(" *p1++ = %d, *++p2 = %...

2022-02-03 14:56:33 584

原创 数据结构中的顺序表

#include<stdio.h>#include<stdlib.h>#include<malloc.h>//包含exit函数//定义该表的结构体typedef struct ARR{ int* p0;//描述该表的第一个元素 int len;//该表的长度 int cnt;//该表q的当前位置}array;//对表进行初始化void init_arr(array* p, int length){ p->p0 =...

2022-01-24 11:30:27 416

原创 结构体嵌套

/*个人基本情况*/#include<stdio.h>#include<string.h>struct date{ int year,month,day;}birthday; //"birthday"可有可无struct person{ char name[20]; char sex[20]; struct date birthday;}man;int main(){ strcpy(man.name,"small陀...

2022-01-16 23:08:01 139

原创 计算该天在该年中是第几天

#include<stdio.h>int main(){ int year,month,day; int a[2][12]={{31,28,31,30,31,30,31,31,30,31,30,31}, {31,29,31,30,31,30,31,31,30,31,30,31}}; int i,j; printf("Enter year and month and day:"); scanf("%d%d%d",&year,&mo...

2021-12-24 10:36:14 314

原创 x的n次方(函数)

#include<stdio.h>long power(int x,int n){ int p; for(p=1;n>0;n--){ p*=x; } return p;}main(){ int x,n; printf("Enter x and n:"); scanf("%d%d",&x,&n); printf("x power n is %ld",power(x,n));}...

2021-12-24 10:32:43 2289

原创 回文数的判断

#include<stdio.h>main(){ int i,a,b=0; scanf("%d",&a); int c=a; while(a!=0) { b = b*10 + a%10;//将数反过来记 a/=10; } printf("%d\n",b); if(b==c) printf("%d是回文数",c); else printf("%d不是回文数",c);...

2021-11-25 12:00:24 483

原创 两时间段相差的天数,并计算当天为星期几

#include<stdio.h>int fun(int year){ if(year%4==0&&year%100!=0 || year%400==0) return 1; else return 0;}main(){ int a[12]={31,0,31,30,31,30,31,31,30,31,30,31}; int year0,year1,month0,month1,day0,day1; int sumd...

2021-11-25 11:54:46 140

原创 n的阶乘的计算

#include<stdio.h>int factorial(int a){ int i,k=1; for(i=1;i<=a;i++) k=k*i; return k;}main(){ int n; printf("请输入n的值:"); scanf("%d",&n); printf("%d的阶乘为:%d",n,factorial(n));}...

2021-08-13 11:15:16 402

原创 c语言菱形

#include<stdio.h>main(){ int i,j,k; for(i=1;i<=5;i++){ for(j=1;j<=5-i;j++) printf(" "); for(k=1;k<=2*i-1;k++) printf("*"); printf("\n"); } for(int a=1;a<=5;a++){ for(int b=...

2021-08-12 12:09:05 108

原创 倒等腰三角形

#include<stdio.h>main(){ int i,j,k,n; printf("请输入行数:n="); scanf("%d",&n); for(i=1;i<=n;i++) {for(k=1;k<=i-1;k++) printf(" "); for(j=2*n+1-2*i;j>=1;j--) printf("*"); printf("\n"); ...

2021-08-12 11:57:23 317

山外多功能调试助手资源包

调试更快捷,更方便

2022-11-02

万年历.cpp

万年历.cpp

2021-06-03

4-对角线问题.c

4-对角线问题.c

2021-05-20

空空如也

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

TA关注的人

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