- 博客(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创建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关注的人