自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 RT thread 信号量操作

rt_err_t rt_sem_take(rt_sem_t sem, rt_int32_t time) 不可再ISR中断中调用。rt_err_t rt_sem_trytake(rt_sem_t sem) 函数就是尝试获取信号量。1.RT_IPC_FLAG_FIFO 等待的线程按照先进先出的方式排队。2.RT_IPC_FLAG_PRIO 等待的线程将按照优先级高的线程。ISR为快进快出 若调用 会永远挂起导致永远得不到反馈。获取不到就会返回 -RT_ETimeout。

2023-10-19 22:36:50 340

原创 chmod命令和chown命令

权限可以用3位数字来代表,第一位数字表示用户权限,第二位表示用户组权限,第三位表示其它用户权限。chmod -R u=rwx,g=rx, 0=x test, 将文件夹test以及文件夹内全部内容权限设置为: rwxr-x–x。chmod u=rwx,g=rx,o=x hello.txt,将文件权限修改为: rwxr-x–x。语法: chown [-R] [用户] [:] [用户组] 文件或文件夹。选项,-R,同chmod,对文件夹内全部内容应用相同规则。·选项:-R,对文件夹内的全部内容应用同样的操作。

2023-09-10 22:41:30 366

原创 Linux中的用户和用户组

用户名:密码(x):用户ID:组ID:描述信息(无用):HOME目录:执行终端(默认bash)su命令就是用于账户切换的系统命令,其来源英文单词:Switch User。针对文件夹,表示可以更改工作目录到此文件夹,即cd进入。针对文件夹,可以在文件夹内:创建、删除、改名等操作·包含3份信息,组名称:组认证(显示为x):组ID。针对文件夹,可以查看文件夹内容,如ls命令.useradd [-g -d] 用户名。语法: su [-] [用户名]语法: getent group。groupadd 用户组名。

2023-09-09 18:04:13 299

原创 echo tail 与 重定向符

语法如下: tail [ -f -num ] Linux路径。使用tail命令,可以查看文件尾部内容,跟踪文件的最新更改。语法: echo输出的内容。

2023-09-08 16:44:38 150

原创 grep wc 与 管道符

可以通过grep命令,从文件中通过关键字过滤文件行。语法: wc [-c -m -1 -w]文件路径。可以通过wc命令统计文件的行数、单词数量等。: grep [-n] 关键字文件路径。

2023-09-08 16:04:46 149

原创 FreeRTOS-队列优先级

Freertos 消息队列

2023-03-30 21:52:33 282

原创 CPU中央处理器(下)

CPU内部采用总线方式的控制信号与数据通路。

2023-03-12 14:52:43 73

原创 CPU中央处理器(上)

中央处理器 第一部分

2023-02-23 14:08:01 260

原创 计组-Cache存储系统

计算机组成原理—— CACHE和内存原理

2023-02-21 20:38:04 360

原创 Lua语言开发

基础lua语言

2023-02-10 17:28:34 91

原创 MySQL-事务

并发事务管理

2023-02-08 14:53:52 52

原创 MySQL-多表查询

多表查询

2023-02-06 13:46:28 103

原创 MySQL 基础(下)

函数与约束

2023-02-04 15:09:23 55

原创 单片机通信-IIC

iic 原理图过程

2023-01-30 23:47:49 341

原创 python-多线程

python 多线程

2023-01-18 00:39:28 67

原创 python-网络

python-搭建网络 基础知识

2023-01-17 16:29:35 70

原创 python-图形用户界面

python 图形页面

2023-01-15 21:55:08 1299

原创 python-各类模块

python中的各类模块

2023-01-13 18:20:32 54

原创 python-异常处理

try-except 异常处理

2023-01-12 17:14:19 49

原创 Python-类与对象

类,对象 ,继承 知识点

2023-01-05 23:52:37 259

原创 MySQL-基础(上)

基础-mysql-小结。

2023-01-03 22:32:07 98

原创 ADC数模转化

ADC 简介VDDA 接入3.3V ,VSSA接GND,所以ADC的输入电压范围是0 ~3.3V逼近型 比较 一般采用二分法 8位数据时 比较八次 既可以 找到对应的电压值 12位时 需要比较12次。

2023-01-02 16:32:34 2552

原创 三种交换方式

2.动态分配线路:发送方将报文发给节点交换机时,节点交换机先存储整个报文 后选择合适的线路将报文发送出去。4.加速传输:分组是逐个传输的 后一个分组的存储操作与前一个分组的转发操作可以同时进行。2.有序传输:双方只使用一条专用的通信线路,数据只在这一条线路上传输,不存在失序问题。4.提高线路利用率:在不同时间段分段部分占用物理线路 ,提高了通信线路的利用率。3.简化了存储管理:因为分组的长度固定 相应的缓冲区大小叶固定,容易管理。3.没有冲突:不同的通信双方拥有不同的信道,不存在争用物理信道的问题。

2022-12-29 16:56:53 304

原创 数据的表示和运算(上)

每个数所用到的不同符号的个数称之为基数对于 b 进制的数列可看作 以个位为原点的参考系 个位为A1*b的零次方例如整数部分转化方法:A1到An的求法 对于整数部分,第 i 次除以基数 b 所得到的余数即为 Ai .( i 为1、2、…、 n )小部分的转化方法:第1次乘以基数 b 所得到的整数部分即为 A - i。( i 为0、1、…、 n ,注意每次乘法之后要把个位置 0)整数部分小数部分1.十进制小数部分 在×2时 可能会出现无线循环的情况 故IV不对2.

2022-12-11 22:45:43 255

原创 精简指令集与复杂指令集

机器周期:通常用从内存中读取一个指令字的最短时间来规定 CPU 周期(机器周期),也即 CPU 完成一个基本操作所需的时间。时钟周期: 一个时钟脉冲所需要的时间。在计算机组成原理中又叫 T 周期或节拍脉冲。是 CPU 和其他单片机的基本时间单位。采用流水线设 只要为8个detaT的时间。必须流水的每个步骤类似 且耗时也类似。

2022-11-29 22:14:41 544

原创 RT-Thread创建线程函数

构造好这个一个栈,然后将rt-thread 的sp指针 r4 栈尾。之后运行 这个线程时 将创建的栈中的词 写入CPU寄存器中。ro为参数寄存器 在函数入口时 将参数传置R0寄存器之中。该值 保存在栈中 之后再赋值给PC寄存器。1.分配了一个RT_thread 结构体。存在栈中的 有R0到R15 ,PSR。R13不保存 其别名为栈 保存在sp。PSR: 函数运行过程中断的开还是关。

2022-11-28 18:35:12 228

原创 创建线程时 栈的理论

假装暂停在第一条指令之前 设置栈 sp=sp -16*4。而动态分配 只需要指定栈的大小 即可 内部会给您分配。静态分布事先给出了栈的地址 和栈的大小 (数组)在thread_entry 进入函数A时 函数a。恢复时运行时要让PC 寄存器等于这个入口地址。如图所示 R15为入口地址。

2022-11-28 14:19:15 111

原创 STM32 RCC时钟控制

在库函数里面关于CFGR主要是设置了HCLK、APB1和APB2的时钟频率,还有通过寄存器后两位选择HSE/HSI/PLL这三个其中一个作为系统时钟。在 RCC_CR中 的第十六位 为 HSEON 将其置于一时 则是将 外部高速时钟使能。一般配置为系统时钟 = 锁相环时钟 (PLLCLK = SYSCLK) 此时为72M Hz。1、将HCLK设置为SYSCLK的频率,即HCLK频率为168MHZ。将CRR_CFGR寄存器复位。

2022-11-26 21:36:25 500

原创 中断服务函数 ENVIC_CONFIG 的配置

分为 GPIO口配置 中断函数配置 优先级配置

2022-11-26 18:26:43 255

原创 STM32 中断系统及应用

*采用 void _EXTILineConfig :为外部中断需要的函数调用此函数 既可以配置AFIO的数据选择器 来选择想要配置的中断引脚。*触发事件的响应方式 :事件中断为 中断不进入CPU 而是通向其他外设 比如触发ADC转换 或者为触发别的外设工作 属于外设之间的联合工作。中断函数 为弱定义 可在需要的文件中定义(若写错了则会调用 hd.s中的中断服务函数)*但是相同的 PIN 不可以同时触发中断 (即为 PA0 和PB0 不能同时使用)用于统一分配中断优先级和管理中断的(NVIC为内核外设)

2022-11-26 16:45:18 282

原创 STM32串口通信

其中 USART_FLAG_TXE:表示数据缓冲区是否为空,为空时置1,表示可以写数据到数据缓冲区,有可能数据没有发送完。需要对其进行初始化 (编译器在赋予i 值时为不确定的值)在stm32中发挥串口的极致功能 会在不同的GPIO口有不同功能的重映射。9位包含一个数据寄存器TDR 和一个接受数据寄存器RDR。将两个字节 分别放置于高八位 和低八位 后在分别发送。其中 nRTS 和nCTS 中的n 表示低电平有效。其中IE 即为中断使能 位。调用八次发送一个字节的函数。TE 相当于小门。

2022-11-26 15:40:23 881

原创 串口USART中的USART_IT_RXNE,USART_IT_TC,USART_IT_TXE

当USART_DR中的数据传送到移位寄存器后,TXE被设置,此时移位寄存器开始向TX信号线按位传输数据,但因为TDR已经变空,程序可以把下一个要发送的字节(操作USART_DR)写入TDR中,而不必等到移位寄存器中所有位发送结束,所有位发送结束时(送出停止位后)硬件会设置TC标志。和原来8051的TI方式一样,都是发送后才进中断,需要在发送函数中先发送一个字节触发中断。另一个是程序看不到的移位寄存器,对应USART数据发送有两个标志,一个是TXE=发送数据寄存器空,另一个是TC=发送结束。

2022-11-26 14:46:57 4926

原创 计算机寻址方式

PC的作用: 告诉我们当前正在执行指令的地址 改为相对寻址后 该程序变为可浮动程序 也即为移动到任意的位置上便可运行。其中一个操作数的地址隐藏 在ACC( 累加寄存器)相加的数在 ACC 累加寄存器中。说明: 内存中的高位字节存放数据的低位字节;内存中的地位字节存放数据的高位字节。内存中的高位字节存放数据的高位字节;内存中的地位字节存放数据的低位字节。设相对寻址的转移指令,第一字节为操作码,第二三字节为相对位移。这样一来,高位内存中的地址 则为数据中的次地址。EA为操作数在主存中的实际地址。

2022-11-25 22:06:05 4273

原创 指令格式(地址码)

1.四地址指令 | OP | A1 | A2 | A3 | A4 |完成一条指令需要访存4次,取指->读A1->读A2->写A3 正常情况下:取指令之后PC+1,指向下一条指令。指令含义:(ACC)OP(A1)->ACC 完成一条指定需要2次访存:取指->读A1。指令含义:OP(A1)->A1, 完成一条指令需要3次访存:取指->读A1->写A1。完成一条指令需要访存4次,取指->读A1->读A2->写A2。

2022-11-25 17:19:28 3714

原创 STM32 系统定时器

1.SysTick 内核里面外设中断优先级 和 片上的外设优先级相比哪个高?内核的中断·IRQn<0 则是配置内核寄存去 否则是配置NVIC 外设寄存器。AHB 总线时钟72 Mhz 在其除以8 后为9 MHz。CURRENT 若要实时监控的计数的值 则可以读取该寄存器。计数器的值 在 STK_VAL 实时可以查询的到。RELOAD 为24位有效。

2022-11-25 11:47:23 237

原创 PIN的推完输出和开漏输出

取反后 低变为高)上面的pmos管不导通 而下面的nmos管导通 则取得为自身电平;反之 由VDD决定 高电平。3.开漏输出具有“线与”功能,一个为低,全部为低,多用于IIC和SMBUS总线。2.如果要输出高电平,则需要外接上拉。1.只能输出低电平,不能输出高电平。

2022-11-25 11:35:34 198

原创 STM IIC库函数

读写 在一个总线上的所有设备 要协调好 不然会出现错误指令的读取)配置ownaddress1 时 要该地址是I2C 总线上唯一的。调用该库函数后 其会返回一个 SET 或 RESET 值。调用该库函数 使得I2C (1或其他)产生起始条件。I2C Send7bitAddress 库函数。3.寻址模式 (7位 还是10位—有要求的)I2C GenerateSTART 库函数。I2C GenerateSTOP 库函数。配置应答使能位 寄存器。I2C SendData 库函数。I2C Cmd 库函数 使能。

2022-11-25 00:00:01 411

原创 IIC外设 架构分析

start 数据位 写1时:两个总线SCL 和SDA 配合产生 起始信号。SMBA:i2c 协议的外设也可以用 SMBus协议通信。通过 时钟控制逻辑中 控制SCL线的 (控制通信速度)PCLK1 = APB1 的时钟 (默认为36M Hz)可通过才数据位 检测总线上是否有数据正在通信。配置为0时: 将低电平为高电平的2倍。时钟控制寄存器(CCR)

2022-11-24 23:21:46 817

原创 STM32 IIC通信过程

IIC通信所需要的寄存器 位设置

2022-11-24 22:40:27 99

原创 I2C 的物理层和协议层

单片机STM32 的IIC协议 物理层和协议层

2022-11-24 22:35:33 113

空空如也

空空如也

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

TA关注的人

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