道亦无名
王阳明曰: 立志 勤学 改过 择善
我曰: flag practice debug release
展开
-
傅里叶变换在AD采集中的运用
以下是一个简单的C语言函数,用于对AD采样序列进行快速傅里叶变换(FFT),并计算相位,幅值和频率。请注意,此代码假设采样序列的长度为2的幂,并且没有对输入进行错误检查。请注意,此代码仅提供了一个基本的框架,并且可能需要根据您的具体需求进行调整。例如,您可能需要将AD采样序列从实际数据类型转换为复数类型,以及根据需要调整FFT长度等参数。原创 2023-08-22 21:30:00 · 354 阅读 · 0 评论 -
晶振的检测方法与技巧
晶振好坏的区分,时常让初学者挠头。晶振的个头比较小, 但是在主板上起的作用不小,因此晶振的检测是主板维修非常重要的环节。如何判断检测晶振的好坏呢?原创 2023-05-07 00:15:00 · 2053 阅读 · 2 评论 -
红外热成像原理
红外热像仪探测器并非摄像机和数码相机常用的一种电荷耦合装置,而是一个微米大小像素的焦平面阵列探测器(FPA),由各种对红外波长敏感的材料制成。量子探测器由锑化铟(InSb)、铟镓砷(InGaAs)、硅化铂(PtSi)、碲镉汞(HgCdTe或MCT)和量子阱红外探测器(QWIP)上分层的砷化镓/砷化铝镓等材料制成。量子探测器的运行原理是基于可对入射光子作出反应的晶状结构内的电子的状态变化。热成像是一种使用标定过的红外热像仪显示被测物体或场景的温度值分布的成像方法。可分为两类:热探测器和量子探测器。原创 2022-12-29 00:45:00 · 1384 阅读 · 0 评论 -
CW32F030相关内容调研
内核ARM®Cortex®-M0+原创 2022-07-30 19:29:44 · 404 阅读 · 0 评论 -
辅助存储器
1.磁带存储器磁带存储器是一种顺序存取的设备,其特点包括:存取时间较长,但存储容量大,便于携带,价格便宜。磁带应用的场景越来越少,目前主要用于资料的归档保存。2.硬盘存储器在硬盘中,信息分布呈以下层次:记录面、圆柱面、磁道和扇区,如下图:一台硬盘驱动器中有多个磁盘片,每个盘片有两个记录面,每个记录面对应一个磁头,所以记录面号就是磁头号,如图 (a)所示。所有的磁头安装在一个公用的传动设备或支架上,磁头一致地沿盘面径向移动,单个磁头不能单独地移动。在记录面上,一条条磁道形成一组同心圆,最外圈的磁道为 0原创 2022-07-05 22:10:44 · 693 阅读 · 0 评论 -
于 STM32 的 IAP 总结
整个过程按照如下步骤:关于解锁读/编程控制器叫"FPEC"有几个寄存器,专门负责 Flash 的,对这几个寄存器以一定得顺序访问并设置即可成功解锁Flash,至于怎么访问,谁先谁后,数据手册上写的头晕,直接来个快刀斩乱麻 Flash_UnLock()函数封装了这一系列的操作,有一点要注意,如果你是自己操作寄存器的话,如果操作的方法或者顺序不对都会造成 Flash 的锁定,之后的所有操作都会返回一个错误,直到下次启动后才能正常操作.关于保护,为了保护用户数据不被无意修改或者恶意读取,STM32 提供了对芯原创 2022-06-26 16:26:54 · 510 阅读 · 0 评论 -
嵌入式Linux 多线程串口通讯
代码如下:#include <stdio.h>#include <stdlib.h>#include <string.h>#include <sys/types.h>#include <errno.h>#include <sys/stat.h>#include <fcntl.h>#include <unistd.h>#include <termios.h>#include <原创 2022-03-14 15:57:10 · 3189 阅读 · 0 评论 -
N76E003使用syn6288
代码如下:/*---------------------------------------------------------------------------------------------------------*//* *//* Copyright(c) 2015 Nuvoton T原创 2021-08-06 16:08:13 · 336 阅读 · 0 评论 -
NE555进行数据计数流水灯
原理图如下:通过计算可以公式可以获取到计算公式:计算公式:T2 (off-time) = 0.693 * R2 * C1T = 0.693*( (R1 + 2R2) * C1)F = 1/ T= 1.44 / ( (R1 + 2R2) * C1)D = (T1 /(T1+T2))*100执行如下效果:原创 2021-07-07 15:53:11 · 2347 阅读 · 0 评论 -
新唐N76E003与ST公司STM8S003F3芯片对比 史上最全的没有之一
这 2 个芯片只是引脚 PIN2PIN 兼容而已,芯片的内核不同,烧写引脚也不同。任何不做源代码修改而进行的替换,都是不可行的!!因此,不能直接将 STM8S003F3 芯片中的代码读出,再烧写到 N76E003 中。您必须有STM8S003F3 源代码,将此代码进行修改移植到 N76E003,使用 KEIL C51 软件编译生成下载文件后才能烧写到 N76E003。N76E003 至少需要 4 个烧写引脚(有可能还需要 1 个电源引脚),STM8S003F3 至少需要 3 个烧写引脚(有可能还需要原创 2021-05-21 11:00:54 · 2570 阅读 · 0 评论 -
S9013驱动直流电机原理图
详细的原理图如下:原创 2021-04-27 14:58:29 · 2566 阅读 · 0 评论 -
单片机步进电机ULN2003A硬件实现原理图
原理图如下:运行效果如下:原创 2021-04-19 18:30:03 · 7466 阅读 · 2 评论 -
RT-Thread 内核初探
内核是操作系统最基础也是最重要的部分。下图为 RT-Thread 内核架构图,内核处于硬件层之上,内核部分包括内核库、实时内核实现。内核库是为了保证内核能够独立运行的一套小型的类似 C 库的函数实现子集。这部分根据编译器的不同自带 C 库的情况也会有些不同,当使用 GNU GCC 编译器时,会携带更多的标准 C 库实现。实时内核的实现包括:对象管理、线程管理及调度器、线程间通信管理、时钟管理及内存管理等等,内核最小的资源占用情况是 3KB ROM,1.2KB RAM。C 库:也叫 C 运行库(C原创 2020-12-30 16:05:01 · 659 阅读 · 0 评论 -
RT-Thread 的STM32 通用 Bootloader
RT-Thread 通用 Bootloader 的软件框架:RT-Thread 通用 Bootloader 有如下特点:以 bin 文件的形式提供,无需修改即可使用资源占用小,ROM 最小只需要 16KB,最大 32KB适用于多系列 STM32 芯片(目前支持 F1 和 F4 系列 )支持各种 SPI Flash 存储固件支持固件加解密功能支持多种固件压缩方式支持恢复出厂固件功能以上功能均可自由配置Bootloader 的主要功能是更新 app 分区中的固件。通用 Bootloa原创 2020-12-19 13:38:55 · 1358 阅读 · 0 评论 -
步进电机和减速电机有什么区别?
步进电机步进电机是将电脉冲信号转变为角位移或线位移的开环控制元步进电机件。在非超载的情况下,电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响,当步进传动器接收到一个脉冲信号,它就传动步进电机按设定的方向转动一个固定的角度,称为“步距角”,它的旋转是以固定的角度一步一步运行的。可以通过控制脉冲个数来控制角位移量,从而达到准确定位的目的;同时可以通过控制脉冲频率来控制电机转动的速度和加速度,从而达到调速的目的。减速电机减速电机是由减速器(齿轮箱)+电机组成而成,电机提供的是速转速原创 2020-12-14 19:04:20 · 4030 阅读 · 0 评论 -
嵌入式linux学习的步骤
1、Linux 基础安装Linux操作系统 Linux文件系统 Linux常用命令 Linux启动过程详解 熟悉Linux服务能够独立安装Linux操作系统 能够熟练使用Linux系统的基本命令 认识Linux系统的常用服务安装Linux操作系统 Linux基本命令实践 设置Linux环境变量 定制Linux的服务 Shell 编程基础使用vi编辑文件 使用Emacs编辑文件 使用其他编辑器2、Shell 编程基础Shell简介 认识后台程序Bash编程熟悉Linux系统下的编辑环境 熟悉Linux下原创 2020-09-04 21:42:23 · 7081 阅读 · 0 评论 -
嵌入式软件结构体系
从外部特征上看,一个嵌入式系统,通常是一个功能完备、几乎不依赖其他外部装置即可独立运行的软硬件集成的系统。如果对这样一个系统进行剖分的话,可以发现它大致可能包括这样几个层次,如下图所示嵌入式系统的软件体系是面向嵌入式系统特定的硬件体系和用户要求而设计的,是嵌入式系统的重要组成部分,是实现嵌入式系统功能的关键。嵌入式系统软件体系和通用计算机软件体系类似,分成驱动层、操作系统层、中间件层和应用层等四层,各有其特点。...原创 2020-08-19 09:41:12 · 10673 阅读 · 0 评论 -
卡尔曼滤波C语言代码
代码如下:#include "stdio.h"#include "stdlib.h"#include "math.h"double frand() { return 2*((rand()/(double)RAND_MAX) - 0.5); //随机噪声} void main(){ float x_last=0; float p_last=0.02; float Q=0.018; float R=0.542; float kg; float x_mid; floa原创 2020-07-03 23:16:03 · 1540 阅读 · 0 评论 -
卡尔曼滤波
Kalman Filter是一个高效的递归滤波器,它可以实现从一系列的噪声测量中,估计动态系统的状态。起源于Rudolf Emil Kalman在1960年的博士论文和发表的论文《A New Approach to Linear Eiltering and Prediction Problems》(《线性滤波与预测问题的新方法》)。并且最先在阿波罗登月计划轨迹预测上应用成功,此后kalman filter取得重大发展和完善。它的广泛应用已经超过30年,包括机器人导航,控制。传感器数据融合甚至在军事方面的雷.原创 2020-07-03 23:13:25 · 1477 阅读 · 0 评论 -
keil5中设置代码自动补全的功能
在keil中设置方法如下:Edit->configuration如下图:原创 2020-04-29 08:32:29 · 13430 阅读 · 8 评论 -
A//D转换
#include#include#define uchar unsigned char #define uint unsigned intsbit dula=P2^6;sbit wela=P2^7;sbit adwr=P3^6;sbit adrd=P3^7;uchar code table[]={0x3f,0x06,0x5b,0x4f,0x66, 0x6d原创 2014-07-16 15:11:34 · 1895 阅读 · 0 评论 -
DAC0832、led、蜂鸣器
52控制DAC0832芯片输出电流,让发光二极管D12由灭均匀变到最亮,再有亮变灭,在最亮和最灭的时候蜂鸣器发出报警声,完成整个周期的时间是控制在5s左右。#include#define uchar unsigned char#define uint unsigned intsbit dula=P2^6;sbit wela=P2^7;sbit dawr=原创 2014-07-16 22:16:19 · 2111 阅读 · 0 评论 -
串口通讯方式1编程
在上位机上用串口调试助手发送一个字符X,单片机收到字符后返回给上位机“I get X”,串口波特率设为9600bps。#include#define uchar unsigned char unsigned char flag,a,i;uchar code table[]="I get";void init(){TMOD=0x20; //设定T1定时器的工作模式2原创 2014-07-16 23:33:52 · 2913 阅读 · 0 评论 -
数码管 键盘 十进制计数
数码管显示00~59按键1每按一次显示值加一,按键2每按一次显示值减一,按键3功能归零,按键4启动或停止定时器0#include#define uchar unsigned char #define uint unsigned int sbit key1=P3^4;sbit key2=P3^5;sbit key3=P3^6;sbit key4=P3^7;sb原创 2014-07-16 20:02:50 · 2318 阅读 · 0 评论 -
串口通讯 ADC0804 数码管
#include#include#include#define uchar unsigned char#define uint unsigned intsbit dula=P2^6;sbit wela=P2^7;sbit adwr=P3^6;sbit adrd=P3^7;uchar flag,a;uchar flag_uart,flag_time,flag_原创 2014-07-17 13:44:38 · 1677 阅读 · 0 评论 -
定时器0工作方式1
#include<reg52.h>#define uchar unsigned char#define uint unsigned intsbit led1=P1^0;uchar num;void main(){TMOD=0X01; //设置定时器0为工作方式1(M1M0为01)TH0=(65536-45872)/256; //装处初值11.0592M晶振定时50m...原创 2014-07-16 16:38:16 · 7210 阅读 · 1 评论 -
定时器0的方式1 定时器1的方式1 数码管和led
#include#define uchar unsigned char#define uint unsigned intsbit dula=P2^6;sbit wela=P2^7;sbit led1=P1^0;uchar code table[]={0x3f,0x06,0x5b,0x4f,0x66, 0x6d,0x7d,0x07,0x7f,0x6f,0x7原创 2014-07-16 17:03:27 · 4497 阅读 · 2 评论 -
矩阵键盘 数码管
开始时数码管不显示,顺序按下矩阵键盘后,在数码管上依次显示0~F,6个数码管同时静态显示。 数码管和矩阵键盘首先关闭所有的数码管的段选不让数码管显示任何数字,然后位选中所有的数码管,接下来只需要选中所有的数码管,以后的操作的只需要送段选数据就行了,接着进入while()大循环不停的扫描键盘是否有被按下#include#define uchar unsigned char #de原创 2014-07-16 21:13:26 · 2647 阅读 · 0 评论 -
key 串口
/********************************************************************函数功能:往串口发送一字节数据(可通过超级终端或者串口调试助手显示出来, 超级终端波特率选为9600)。每按下一次S2键,松开后均会在超级终端 上显示一串字母"abcdefg哈哈"。 入口参数:d: 要发送的字节数据。************原创 2014-07-17 13:53:41 · 1350 阅读 · 0 评论 -
基于STM32的旋转编码器
..\..\SYSTEM\usart\usart.c(1): error: #5: cannot open source input file "sys.h": No such file or directory#include "..\sys\sys.h"这样就可以找到路径了再次编译出现了问题..\..\SYSTEM\usart\..\sys\sys.h(3): error:原创 2014-07-17 19:55:51 · 7901 阅读 · 0 评论 -
server与client通讯编程板子与主机相通
service端的源码原创 2014-05-24 19:54:13 · 2888 阅读 · 0 评论 -
IIC总线
Inter IC Bus 由PHILIPS公司推出的,是近年来为d原创 2014-07-19 16:54:47 · 1207 阅读 · 0 评论 -
ARM指令集的概述
ADC addition Carry 带进位的加法指令 数据处理类算术运算指令ADD addition 加法指令 数据处理类算术运算指令AND logic and 逻辑与数据处理类算术运算指令BBranch B 是最简单的分支。一旦遇到一个B 指令,ARM 处理器将立即跳转到给定的地址,从那里继续执行。注意存储在分支指令中的实际的值是相对当前的 R15 的值的一原创 2014-07-19 11:10:03 · 1593 阅读 · 0 评论 -
我的led驱动OK6410 飞凌开发板
是个典型的字符设备驱动原创 2014-05-23 18:05:01 · 3241 阅读 · 0 评论 -
NIVC->IPR[IPADDR]
#include #include "sys.h"//设置向量表偏移地址//NVIC_VectTab:基址//Offset:偏移量//CHECK OK//091207void MY_NVIC_SetVectorTable(u32 NVIC_VectTab, u32 Offset) { //检查参数合法性assert_param(IS_NVIC_原创 2014-07-18 11:45:30 · 11885 阅读 · 0 评论 -
1602液晶显示
液晶有1,2端为电源,15、16为背光源;为防止直接加5V电压烧坏背光灯,在15脚串接一个10欧的电阻用于限流。液晶3端为液晶对比度调节端,通过一个10k欧电位器接地来调节液晶显示的对比度,液晶的4端为液晶控制器写数据/读数据选择端,接P3.5口液晶5端为读/写选择端,因为我们不从液晶读取任何数据,只向其写入命令和数据,因此此端始终选择为写状态,即始终接地。液晶 6端为使能信号,是原创 2014-07-18 13:22:05 · 5534 阅读 · 0 评论 -
12864显示图片
/******************************************************************************功能简介: 本程序驱动12864显示一副的图片。************************************************************************************/用...原创 2014-07-18 18:40:45 · 5167 阅读 · 2 评论 -
1602实现移屏功能
这个题目主要是设置显示开/光及光标设置这个地方与上一个题目没有多大的区别。#include#define uchar unsigned char#define uint unsigned intuchar code table[]="GOOD GOOD STUDY!";uchar code table1[]="DAY DAY UP ^_^!";sbit lcden=P3原创 2014-07-18 13:53:47 · 4603 阅读 · 0 评论 -
12864液晶并行方式显示
12864液晶使用的16*16点阵、128个字符(8*16点阵)及64*256点阵显示RAM(GDRAM).与外部CPU接口采用并行或串行两种控制方式。在12864上显示0-9的随机数 第二行显示www.csdn.blog第三行显示“求是07的博客”第四行显示“欢迎光临”以下是主要的代码:#include <reg52.h>#include <in...原创 2014-07-18 15:42:37 · 8547 阅读 · 0 评论 -
12864 显示画圆多种图形
/*******************************************************************************************************///程序说明:本程序为12864(st7920)驱动程序,只实现了最简单的显示功能/*************************************************原创 2014-07-18 22:34:11 · 7159 阅读 · 0 评论