自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 CRC校验码的计算方法

首先,设约定的生成多项式为G(X)=X4+X3+1,其二进制表示为11001,共5位。所以接收方的生成多项式亦为G(X)=X4+X3+1,其二进制表示为11001,共5位。用“模2除法”(异或^)对发送方的完整编码进行运算,余数为0则说明编码传输没有出错。因为校验码4位,所以10110011后面再加4个0,得到101100110000。取四位二进制数,所以CRC校验码为0100。发送方的完整编码为101100110100。因为生成多项式是发送方和接收方约定好的。余数为零,编码传输无错误。

2024-07-09 09:49:47 286

原创 STM32的捕获

初始定义Capture_State=0,temp=0,并且配置捕获完成后,等待引脚捕获高电平,当引脚捕获到高电平,此时程序第一次进入中断函数,进入if((Capture_State&0X80)==0),不进入更新中断if (TIM_GetITStatus(TIM2, TIM_IT_Update)!= RESET),不进入if(Capture_State&0X40),进入else,把Capture_State,Capture_Value的值清零,把定时器清零,Capture_State|=0X40;

2023-02-08 21:23:47 704 3

原创 STM32的PWM输出

当TIM_OCMode设置为TIM_OCMode_PWM1,TIM_OCPolarity设置为TIM_OCPolarity_High,(或TIM_OCMode设置为TIM_OCMode_PWM1,TIM_OCPolarity设置为TIM_OCPolarity_Low)当TIM_OCMode设置为TIM_OCMode_PWM1,TIM_OCPolarity设置为TIM_OCPolarity_Low,TIM_CounterMode设置为TIM_CounterMode_Up时,PWM输出初始状态为高电平。

2023-01-27 23:22:59 931

原创 STM32使用RTC+BKP+PWR+EXTI

停止模式:所有时钟关闭,但保存数据和运行到的位置(PC值),唤醒后需要等时钟同步。待机模式:唤醒后复位,从头开始执行主函数,所有时钟关闭,仅有RTC时钟开启。睡眠模式:外设时钟开启,CPU时钟关闭,保存数据和运行到的位置(PC值)

2022-11-14 21:09:41 1430 1

原创 Linux虚拟机配置yum源

1.创建一个文件夹,把/etc/yum.repos.d的.repo文件放到里面。如果没有,则直接创建一个.repo文件(从本文第二步开始做)如果有很多.repo文件(从本文第一步开始做)2.进入/etc/yum.repos.d。实验环境:centOS8。实验环境:centOS8。3.创建dvd.repo。7.安装软件仓库内的软件。6.查看yum软件仓库。

2022-11-07 19:41:53 4643

原创 linux虚拟机重启后,运行nmtui提示NetworkManaer 未运行

环境:centOS 8虚拟机重启后,输入ifconfig,发现网卡丢失。

2022-11-07 19:28:58 2061

原创 STM32使用IWDG和WWDG

简单而言,看门狗就是设置计数值,计数值在每个时钟跳变沿减一,减到零时把系统复位复位时间=( 1/( 看门狗RC振荡器频率 / 分频值 ))×重载值喂狗函数(该函数在stm32f10x_iwdg.h)

2022-10-22 23:53:38 703

原创 STM32使用IIC协议驱动0.96寸OLED屏

IIC是常用的协议之一,它通过不同的地址来区分设备,并且端口需要是开漏模式,并且需要接上拉电阻。要使用IIC驱动OLED,首先要配置IIC。

2022-10-22 12:58:40 2777

原创 STM32使用SPI+DMA(标准库)

因为DMA_Mode_Normal模式使用一次后DMA_BufferSize会清零,如下代码用于重置DMA_BufferSize。注意:DMA_PeripheralBaseAddr不是SPI外设的地址,而是SPI1->DR即SPI数据寄存器的地址。既然使用的是SPI+DMA,必定要使能SPI,详细请参考。配置完SPI后,配置DMA,如下。

2022-10-07 13:41:03 15839 7

原创 STM32使用定时器(标准库)

高级定时器TIM1或TIM8做定时器。此代码用TIM2做定时器,计时1s。上述定时器是通用定时器的定时方法。代码如下(此代码实现了计时3s)四个中断入口各自对应着中断函数。高级定时器有四个中断入口。时,可以根据需要定义。

2022-10-03 22:44:35 1841

原创 STM使用SPI协议通信-基础(标准库)

(1)MISO– Master Input Slave Output,主设备数据输入,从设备数据输出;(2)MOSI– Master Output Slave Input,主设备数据输出,从设备数据输入;(3)SCLK – Serial Clock,时钟信号,由主设备产生;(4)CS – Chip Select,从设备使能信号,由主设备控制。

2022-09-24 13:04:04 2724 2

原创 STM32使用USART基础(含printf重定义)(标准库)

【代码】STM32使用USART基础(含printf重定义)(标准库)

2022-09-12 18:00:01 1257

原创 基于STM32创建keil工程

把写好的源文件和头文件复制到文件夹内,或者进入keil编写后再保存到里面。在该文件夹内新建一个装源文件的文件夹和一个装头文件的文件夹。打开keil,点击project新建工程。加载相应文件(文件夹可自行管理)大概如此,需要看你的包文件在哪里。选择好对应的单片机型号。勾选配置(视情况勾选)在Define里面填写。

2022-09-11 17:52:48 470

原创 STM32驱动GPIO基础(标准库)

对于各类协议初始化,GPIO担任着最重要的角色几乎所有于io有关的都需要定义它。上述皆为简单的IO操作。若要深入研究,可以查看。

2022-09-03 18:10:55 886

空空如也

空空如也

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

TA关注的人

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