
嵌入式开发
文章平均质量分 71
趣知boy
这个作者很懒,什么都没留下…
展开
-
差分放大器、运算放大器
运算放大器(又称”运放“,英文全拼为Operation Amplifier,缩写为OP AMP)是一种模拟电路模块,它采用差分电压输入,产生单端电压输出。它可以对输入信号进行放大以及加、减、乘、除、微分、积分等数学运算,现多应用于信号放大功能。一个运算放大器至少要五个引脚,分别是正输入端IN+、负输入端IN-、电源正输入端V+、电源负输入端V-、输出端OUT。原创 2025-04-10 16:52:56 · 688 阅读 · 0 评论 -
设计模式——工厂模式介绍
提供创建对象的最佳方法,在创建对象时不会对客户端暴露创建逻辑,对象的创建在一个地方,并通过一个通用接口指向新创建的对象把接口暴露出来给其它函数使用。设计模式有23种,其用途是让代码稳定(添加功能时其它功能被破坏,引入了设计模式)、可读性更强、可以重复使用。代码设计经验的总结,稳定,拓展性更强,一系列编程思想。struct Animal{ //类。软件设计模式,一套代码设计经验的终结。类:用户自己定义的结构体。原创 2023-09-11 21:32:14 · 96 阅读 · 0 评论 -
基于Linux的智能家居(工厂模式)
主函数-----实现UART和Tcp两个接收线程,不断接收指令并解析指令调用不同的设备函数封装。输出设备模块----实现设备初始化、设备启动、设备关闭的函数封装放在种。程序分为3部分-------------1.输入控制 2.输出设备 3.主函数-多线程。亮点,在封装了一个类,调用可以编码一个对象,然后用链表将一类对象串起来。输入控制的模块----实现指令的收集,并将数据放在一个定义的头文件种。堆栈的存储:在函数体前面的变量,后面的函数可以直接用。原创 2023-09-11 09:58:17 · 558 阅读 · 0 评论 -
C语言编程的7个步骤
首先将c代码转换成01的机器语言放在目标文件夹里,然后连接库函数01代码和启动代码才能生成一个可执行文件。主要debug是两方面1是程序不能运行(语法错误,括号,传参) 2是程序能运行但达不到我i们想要的目标。设计目标的实现路径,使用什么接口函数、如何组织程序、如何处理数据、如何表达结果。这里也不设计代码编写。程序编写不是一蹴而就,而是反复修改,好的习惯是模块化编程和多些注释。1、2步也显得很重要。我们要知道我们的设计程序的目标是什么,这里不涉及代码编写。这里就是将第二步的程序设计框架编写成C代码。原创 2023-09-10 17:27:26 · 1239 阅读 · 0 评论 -
Orangepi安装外设库 wiringPi
注意:mobaXterm传送文件要在SSH登陆环境下才可以。同时电脑和orangepi都在同一个wifi下。原创 2023-09-03 20:34:31 · 404 阅读 · 0 评论 -
Orangepi 香橙派配置wifi网络
【代码】Orangepi 香橙派配置wifi网络。原创 2023-09-03 20:26:53 · 1165 阅读 · 0 评论 -
香橙派Orangepi Zero2 刷机步骤
香橙派 Orangepi Zero2 全志H616刷机原创 2023-09-03 16:24:14 · 879 阅读 · 0 评论 -
Linux下 Socket服务器和客户端文件互传
在put 发送文件中,当文件大小超过给定字节就会溢出,导致整个结构体崩坏,破坏cmd。思考:除了加大给定字节大小,还有其它办法吗?strcpy是怎么实现的read函数读的字节小于fd文件字节,会崩坏buf里的数据。strtok函数会破坏使用的字符串,要保留原来字符串需要strcpy复制出来处理。本地命令不用服务器处理的命令,ret=5,ret=6不要进入hanle_server_msg用recv函数组赛。原创 2023-09-03 09:51:42 · 1095 阅读 · 0 评论 -
Linux系统下建立Socket聊天服务器
1.服务器结构。原创 2023-09-01 12:56:06 · 1155 阅读 · 0 评论 -
香橙派 Orangepi Zero2 全志H616——简介
指令是计算机运行的最小的功能单位,而硬件的作用是完成每条指令规定的功能。就是加、减、乘、除、指数运算、等的命令集合。就相当于造房子中砌砖的方式。原创 2023-08-31 15:08:33 · 945 阅读 · 0 评论 -
STM32开发——总结
32中引脚都有很多功能,如图,PA0和PA15都可以做为TIM2_CH1的输出IO,但是也只能一个引脚,通过CubeMX配置后,你就不能重复定义TIM2_CH1的输出了,防止错误。原创 2023-06-27 22:35:50 · 309 阅读 · 0 评论 -
STM32开发——智能小车(循迹、避障、测速)
tim2:产生PWM波20ms(左右轮调速ch1、ch2) 产生PWM波20ms(舵机ch3) 7199、199。tim2:产生PWM波20ms(左右轮调速ch1、ch2) 产生PWM波20ms(舵机ch3) 7199、199。tim3:定时1s(Oled发送速度)tim1:定时1us(超声波测距)tim1:定时1us(超声波测距)PB14:外部中断——测速累加。左边红外D0——PB12。右边红外D0——PB13。)——应该是硬件设计问题。motor.c代码相同。I2C很容易和IO冲突。原创 2023-06-27 22:32:58 · 19613 阅读 · 8 评论 -
STM32开发——非标协议(DH11+LCD1602)
编译的总文件夹dh11andlcd,C文件不能跨文件夹查找,新增的分文件,需要都放调用的文件夹下C文件和H文件理解:H文件是门脸,放在前面给别人的,别人一看就知道有什么东西。C是给内部人用的,不用放在门脸上。原创 2023-06-22 13:56:00 · 943 阅读 · 0 评论 -
STM32开发——IIC(OLED屏幕)
在oled屏幕上显示文字或者图像。IIC协议——OLED屏幕_趣知boy的博客-优快云博客。原创 2023-06-20 11:09:07 · 1324 阅读 · 0 评论 -
STM32开发——ADC(烟雾传感器)
作用:用于读取电压值,然后转换为数字量传给单片机,单片机再通过计算,可以得到电压值。ADC的性能指标量程:能测量的电压范围分辨率:ADC能辨别的最小模拟量,通常以输出二进制数的位数表示,比如:8、10、12、16位等;位数越多,分辨率越高,一般来说分辨率越高,转化时间越长转化时间:从转换开始到获得稳定的数字量输出所需要的时间称为转换时间ADC特性12位精度下转换速度可高达1MHZ供电电压:V SSA :0V,V DDA :2.4V~3.6V。原创 2023-06-19 22:39:39 · 3273 阅读 · 1 评论 -
STM32开发——DMA(数据搬运)
DMA(Direct Memory Access,直接存储器访问) 提供在外设与内存、存储器和存储器、外设与外设之间的高速数据传输使用。它允许不同速度的硬件装置来沟通,而不需要依赖于CPU,在这个时间中,CPU对于内存的工作来说就无法使用。代替 CPU 搬运数据,为 CPU 减负。1. 数据搬运的工作比较耗时间;2. 数据搬运工作时效要求高(有数据来就要搬走);3. 没啥技术含量(CPU 节约出来的时间可以处理更重要的事)。原创 2023-06-19 10:26:18 · 1768 阅读 · 0 评论 -
STM32开发——串口通讯(第2篇)——WIFI(Esp8266)
注意:1.在中断中一般不直接在中断服务函数里处理数据,而是在收到数据后直接丢给队列,再处理数据;2.在中断服务函数里尽量减少使用延时函数及打印函数。原创 2023-06-15 16:01:22 · 3160 阅读 · 0 评论 -
STM32开发——串口通讯(第1篇)——蓝牙(非中断+中断)
通过中断的方法接受串口工具发送的字符串,并将其发送回串口工具。串口发送数据,使用超时管理机制串口接收数据,使用超时管理机制串口中断模式发送串口中断模式接收作用:以阻塞的方式发送指定字节的数据形参 1 :UART_HandleTypeDef 结构体类型指针变量形参 2:指向要发送的数据地址(指针),(用数组时不用取地址)(用字符变量需要取地址&)形参 3:要发送的数据大小,以字节为单位 strlen(ch)形参 4:设置的超时时间,以ms单位,最大0xffff。原创 2023-06-09 22:21:07 · 4668 阅读 · 0 评论 -
STM32开发——感应垃圾桶(舵机、超声波测距、振动检测)
PWM波的频率不能太高,大约50HZ,即周期=1/频率=1/50=0.02s,20ms左右。确定 定时时间=1/频率其中:Tclk:定时器的输入时钟频率(单位MHZ)Tout:定时器溢出时间(单位为us)eg;4999eg:7199如果周期为20ms,则 PSC=7199,ARR=199角度控制0.5ms-------------0度;2.5% 对应函数中CCRx为51.0ms------------45度;5.0% 对应函数中CCRx为10。原创 2023-06-08 19:47:26 · 2362 阅读 · 0 评论 -
STM32开发——定时器led、PWM呼吸灯
定时器分类:基本定时器(TIM6~TIM7)通用定时器(TIM2~TIM5)高级定时器(TIM1和TIM8)A.输入捕获B.输出比较C.PWM 生成(边缘或中间对齐模式)D.单脉冲模式输出A.更新:计数器向上溢出/向下溢出,计数器初始化(通过软件或者内部/外部触发)B.触发事件(计数器启动、停止、初始化或者由内部/外部触发计数)C.输入捕获D.输出比较E.支持针对定位的增量(正交)编码器和霍尔传感器电路F.触发输入作为外部时钟或者按周期的电流管理。原创 2023-06-07 21:13:40 · 1942 阅读 · 0 评论 -
STM32开发——电动车报警装置
单片机供电VCC GND接单片机产品不震动,输出高电平,模块上的DO口产品震动,输出低电平,绿色指示灯亮AO口不用编程实现需求:当振动传感器接收到振动信号时,使用中断方式点亮LED1。重新中断服务函数//如果中断来源是PA4 PA4为低进入了中断//led1亮500ms后熄灭如果直接在中断服务函数里调用 HAL_Delay 函数,则会造成系统卡死。原因:程序初始化时默认把滴答定时器的中断优先级设为最低,其它中断源很容易打断它导致卡死。原创 2023-06-07 10:26:36 · 847 阅读 · 0 评论 -
STM32开发(CubeMX+HAL)——点灯(轮询、中断)
中断优先级中的级别抢占优先级:高抢占可以打断低抢占响应优先级:高响应不可以打断低响应中断是软件级别的事事件是硬件级别的事//中断/事件线/*!disabled.//EXTI 模式/*!//触发类型/*!//EXTI 控制/*!lines.DISABLE */EXTI_Mode_Interrupt = 0x00, //产生中断EXTI_Mode_Event = 0x04 //产生事件EXTI_Trigger_Rising = 0x08, //上升沿。原创 2023-06-06 14:58:05 · 1687 阅读 · 0 评论 -
STM32开发——简介、开发环境(Keil5、CubeMX)、HAL库
什么是单片机?单片机(Single-Chip Microcomputer)是一种集成电路芯片,把具有数据处理能力的中央处理器CPU、随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计数器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的微型计算机系统,在工业控制领域广泛应用。STM系列单片机命名规则ST -- 意法半导体M -- Microelectronics 微电子32 -- 总线宽度项目。原创 2023-06-05 16:30:02 · 15442 阅读 · 0 评论 -
语音识别模块SU-03T
B7引脚接串口工具RXDB6引脚接串口工具TXD连接正确后,打开UnioneupdataTool.exe工具,可以看到串口号。原创 2023-06-04 11:38:46 · 976 阅读 · 0 评论 -
51小车测速及OLED显示速度
VCC 接电源正极3.3-5VGND 接电源负极DO TTL开关信号输出AO 此模块不起作用测试原理和单位换算轮子走一圈,经过一个周长,C = 2x3.14x半径= 3.14 x 直径(6.5cm)对应的码盘也转了一圈,码盘有20个格子,每经过一个格子,会遮挡(高电平)和不遮挡(低电平),那么一个脉冲就是走了 3.14 * 6.5 cm /20 = 1.0205CM定时器可以设计成一秒,统计脉冲数,一个脉冲就是1cm假设一秒有80脉冲,那么就是80cm/s。原创 2023-06-02 20:27:47 · 864 阅读 · 4 评论 -
51智能小车-串口控制、循迹、避障
51智能小车-串口控制、循迹、避障原创 2023-06-02 17:13:04 · 2049 阅读 · 3 评论 -
IIC协议——OLED屏幕
IIC全称Inter-Integrated Circuit (集成电路总线) 简称I2C是由PHILIPS公司在80年代开发的两线式串行总线,用于连接微控制器及其外围设备。IIC属于半双工同步通信方式简单性和有效性由于接口直接在组件之上,因此IIC总线占用的空间非常小,减少了电路板的空间和芯片管脚的数量,降低了互联成本。总线的长度可高达25英尺,并且能够以10Kbps的最大传输速率支持40个组件多主控(multimastering)其中任何能够进行发送和接收的设备都可以成为主总线。原创 2023-05-27 16:36:10 · 4385 阅读 · 0 评论 -
非标协议外设-DHT11温湿度传感器
只有一个数据传输线,用 DATA 时序传输。只有一根数据线DATA,上官一号发送序列指令给DHT11模块,模块一次完整的数据传输为40bit,高位先出8bit湿度整数数据+8bit湿度小数数据+8bi温度整数数据+8bit温度小数数据+8bit校验检测模块是否存在数字0信号表示方法如图所示数字1信号表示方法.如图所示。原创 2023-05-24 18:05:12 · 801 阅读 · 0 评论 -
非标协议外设LCD1602显示
对于&&(逻辑运算):( false && x ) = false;对于&(按位运算):(0 & x ) = 0;2.注意事项:(1) 在对液晶模块的初始化中要先设置其显示模式。(4)以后每次写指令,读/写数据操作均需要检测忙信号。a&b=01100000//全1出1,有0出0。(8)写指令 06H:显示光标移动设置。(9)写指令 0CH:显示开及光标设置。(2)写指令 38H(不检测忙信号)(5)写指令 38H:显示模式设置。(6)写指令 08H:显示关闭。(7)写指令 01H:显示清屏。原创 2023-05-13 22:18:09 · 187 阅读 · 0 评论 -
串口通讯(第3篇)4G模块
内网发送指令cmd:en 或者cmd:close就可以通过4G模块 远程控制单片机上的led或者IO。5.1AT+HEARTINFONEW=1,ykyk //设置心跳包数据。采用USB串口驱动对4G模块进行设置(卡如图放置,别放错了)——线连接是错的。连接完成后灯状态为:亮3个——且可以收到心跳包数据。原理是公网发送数据——4G模块——串口——控制单片机。局域网和公网通讯采用内网穿透——花生壳软件。3.就可以通过公网访问到这个内网的服务器。3.通过4G网络对单片机进行控制。原创 2023-05-11 13:56:02 · 2969 阅读 · 2 评论 -
串口通讯(第2篇)WIFI模块
注意:需要在同一个局域网下(连接到相同的WiFi),才能连接到服务器。原创 2023-05-10 21:41:08 · 1765 阅读 · 0 评论 -
串口通讯(第1篇)串口配置+蓝牙通讯
作用:设备间数据通讯的方式分类:协议分为RS-232、RS-422(速度不同) 电平分为:UART电平1为-3~-15V的电压, 逻辑0为3~15V。TTL电平:高电平>=2.4V,输出低电平原创 2023-05-05 18:09:14 · 4175 阅读 · 0 评论 -
51单片机开发—0-1的教程(项目:智能垃圾桶)
51单片机是一个集成电路芯片,就是一个小黑块的那个就是单片机其包括:中央处理器CPU、随机存储器RAM、只读存储器ROM、多种IO口和中断系统、定时器、计数器(或者还有显示驱动电路、脉宽调制电路、模拟多路转换器、AD转换器电路)等集中在一个硅片上构成的一个小而完整地微型计算机系统。原创 2023-05-02 18:28:32 · 1622 阅读 · 0 评论 -
C语言应用——贪吃蛇小项目
需要基础:数据类型、c语言语法、控制流程、函数封装、指针、结构体进阶能力:Linux编程、文件编程、进程、通讯、第三方包。原创 2023-04-06 21:49:53 · 202 阅读 · 0 评论 -
Linux基础操作
Linux也是一个操作系统和windows、ios、andriod一样。但是其是开源的、免费的。一、主体不同1、安卓系统:是一种基于Linux的自由及开放源代码的操作系统。2、linux内核:是一套免费使用和自由传播的类UNIX操作系统。二、应用不同1、安卓系统:主要使用于移动设备,如智能手机和平板电脑,由Google公司和开放手机联盟领导及开发。2、linux内核:是一个基于POSIX和Unix的多用户、多任务、支持多线程和多CPU的操作系统。原创 2023-03-17 21:21:01 · 136 阅读 · 0 评论 -
c语言(第4篇)结构体
结构体是什么?不同数据类型的组合体为什么要用结构体?当一条信息需要存放不同数据类型的时候结构体书写方式?原创 2023-03-11 20:03:28 · 134 阅读 · 0 评论 -
C语言(第3篇)——字符串
指针与字符串 char *d="hello";的理解。//只能和字符串这么用,字符不行这里不是把字符串"hello"赋值给指针d,是创建一个字符串常量“hello”,并把这个字符串常量的第一个字符的地址传给d。访问方式可以用数组的下标法访问和指针偏移访问使用指针与字符串的好处:可以先定义一个指针再给字符串不用初始化,用char c[]="sdd"必须初始化。原创 2023-03-07 22:33:59 · 211 阅读 · 0 评论 -
C语言(第2篇)——指针、数组、函数
输出a,b,c三个数按照顺序输出,函数封装。两个是一样的 p=&a[0];指针=地址 &取地址 *取值。1.指针可以用下标法访问内容。2.数组用*取内容偏移访问。指针增量和数组的关系。原创 2023-02-25 21:33:02 · 152 阅读 · 0 评论 -
51开发板的程序——自用精简版——持续更新
51单片机开发板实验程序原创 2022-07-08 10:12:33 · 769 阅读 · 0 评论 -
C语言(第1篇)简明学习教程——数据类型、输入输出、数组、函数、运算符
我的C语言学习总结,比较简明和基础原创 2022-12-05 16:55:15 · 885 阅读 · 0 评论