【C语言入门学习】[2]初识C语言 02
【C语言入门学习】[2]初识C语言 02
2024.1.10更新
常见操作符 关键字(2)
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748#define _CRT_SECURE_NO_WARNINGS 1#include<stdio.h>//1.static 修饰局部变量//2.static 修饰全局变量//3.static 修饰函数extern int g_val;//声明外部变量//static int g_val = 100; //static 修饰全局变量使得全局变量只能在自己所在的源文件内部使用//extern int g_val;报错//全局变量,在其他源文件内部可以被使用,是因为全局变量具有外部链接属性//但是被static修饰之后,就变成了内部链接属性,其他源文件就不能链接到这个静态的全局变量了//static int Add(int x, int y)//{// return x + y;//}//static 修饰函数, ...
【51单片机】定时器和中断 02
[51单片机] 第七节 定时器和中断总结<代码部分>
ps: 单片机的可位寻址/不可位寻址
可位寻址:可以对单个位赋值
不可位寻址:只能整体赋值
代码示例:
12345void Timer0_Init(){ TMOD=0x01; //0000 0001 TF=0;}
定时器的快捷配置
晶振电路简介(这里所使用晶振为11.0592MHZ)
一、中断测试代码
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253#include <REGX52.H>#include "Tmier0.h"// void Timer0_Init()//定时器配置// {// //TMOD=0x01; //0000 0001 //缺点:会影响到其他定时器// TMOD &= 0xF0;//把TMOD的低四位清零,高四位保持不变 //优点:不影响高四位(其他定时器的配置)// TMOD |= 0X01;//把 ...
【51单片机】定时器和中断 01
[51单片机] 第七节 定时器和中断总结
前言:定时器中断 ,寄存器都是单片机中非常重要的概念,涉及到许多交叉的控制,掌握好这些知识点是学习单片机的关键。
51单片机的时钟源
1.外部脉冲
2.系统时钟(晶振),开发板上周期为12MHZ
一、定时器简介
注意:当时钟源为外部(T0)引脚提供时,定时器作为“计数器”作用,当外部每输入一个脉冲信号,计数器计数加一(不是常用功能)。
二、定时器工作模式
C/NT:当次开关为1时,为计数器功能(counter),配置T0引脚,当为0时,即定时器功能(timer),配置系统时钟。
定时器整个工作系统分为三个模块:
时钟模块: SYSclk,T0 pin ,此图为12分频的模式
计数模块/中断系统:计数范围:0~65530:计数溢出时会置标志位TF0,申请中断
控制模块: GATE,NINT0,TR0
三、中断系统简介
高优先级的中断可以打断低优先级的中断
中断系统即对紧急事件的实时处理
四、中断系统工作流程
五、stc89c52的中断资源
六、中断系统的结构
寄存器解释,中断系统的详细原理见数据手册(养 ...
【51单片机】串口通信
[51单片机] 第八节 串口通信总结
51单片机中的自动重载概念实际上就是当计数溢出后自动赋初值
同步通信中波特率为通信双方约定好的通信速率
<前置部分>
一、串口简介:
串口是一种应用十分广泛的通讯接口,串口成本低、容易使用、通信线路简单,可实现两个设备的互相通信。
单片机的串口可以使单片机与单片机、单片机与电脑、单片机与各式各样的模块互相通信,极大的扩展了单片机的应用范围,增强了单片机系统的硬件实力。
51单片机内部自带UART(Universal Asynchronous Receiver Transmitter,通用异步收发器),可实现单片机的串口通信。
CH340串口模块
蓝牙串口模块
二、串口通信方式:
#串口模式图:
SBUF:串口数据缓存寄存器,物理上是两个独立的寄存器,但占用相同的地址。写操作时,写入的是发送寄存器,读操作时,读出的是接收寄存器,因此要通过检测TI和RI的信号判断是发送还是接收操作。
ps:用串口端控制发送/接收时,要注意对应上HEX/文本模式
HEX模式/十六进制模式/二进制模式:以原始数据的形式显示
文 ...
【51单片机】红外通信
【51单片机】第十七讲 红外通信
2024.2.2日更新
一、使用模块
红外遥控
介绍:红外遥控是利用红外光进行通信的设备,由红外LED将调制后的信号发出,由专用的红外接收头进行解调输出。
红外LED波长:940nm,红外信号属于电磁波
通信协议标准:NEC标准
红外接收管
二、原理部分
一、红外通信的原理
空闲状态:红外LED不亮,接收头输出高电平
发送低电平:红外LED以38KHz频率闪烁发光,接收头输出低电平
发送高电平:红外LED不亮,接收头输出高电平
总而言之,只有红外LED发送38KHZ的闪烁信号时,红外接收头OUT引脚才会对外输出低电平信号
红外发送–红外接收的本质是调制和解调,在这种条件下,可以过滤掉自然界中的“噪声信号”,只有38KHZ附近的红外信号才能被红外接收头识别转换为对应的低电平。
转换示意图:
1.红外LED发出的信号
2.红外接收头发出的信号
其中,红外接收头发出的低电平信号的宽度等价于红外LED发送的38KHz信号的时间。
二、NEC通信的原理
一、红外NEC协议
在51单片机中,使用NEC通信协议,虽然NEC标准上要求( ...
【C语言入门学习】分支和循环
【C语言入门学习】分支和循环
2024.2.20更新
#基本概念
一、语句
什么是语句?
c语言中语句是用于控制计算机执行相关操作的指令,一个语句会被编译成若干条机器命令继而由计算机执行。
语句的类型
表达式语句
函数调用语句
控制语句
复合语句
空语句
控制语句用于控制程序的执行流程,以实现程序的各种结构方式,它们由特定的语句定义符组成,C语言有九种控制语句。可分成以下三类:
条件判断语句也叫分支语句:if语句、switch语句;
循环执行语句:do while语句、while语句、for语句;
转向语句:break语句、goto语句、continue语句、return语句
#代码部分
一、if分支语句
if语句的书写规范,跳转【c语言入门学习】代码的书写规范
二、switch分支语句
switch中break的实际作用是把语句列表划分为不同的分支部分,不加break,会一直向下执行程序
1234567891011121314151617181920212223242526272829303132333435#define _CRT_SECURE_NO_WA ...
【5G】[1]基本术语-1
5G基本概念
接入网:所谓接入网是指骨干网络到用户终端之间的所有设备。其长度一般为几百米到几公里,因而被形象地称为"最后一公里"。由于骨干网一般采用光纤结构,传输速度快,因此,接入网便成为了整个网络系统的瓶颈。接入网的接入方式包括铜线(普通电话线)接入、光纤接入、光纤同轴电缆(有线电视电缆)混合接入和无线接入等几种方式。
信道:信道就是信息传递的通道,是将信号进行传输、存储和处理的媒介
信令:信令就是通信两端,有一端在进行状态转移的时候,要发送信息(信令)来通知另外一端做状态同步,然后顺便捎带一些配置信息和控制信息等。所以通信信令的设计本质就是状态机设计,信令主要是用来通信连接的两侧做状态同步使用。
接口:
1. 接口(硬件类接口)是指同一计算机不同功能层之间的通信规则称为接口。
2. 接口(软件类接口)是指对协定进行定义的引用类型。其他类型实现接口,以保证它们支持某些操作。接口指定必须由类提供的成员或实现它的其他接口。与类相似,接口可以包含方法、属性、索引器和事件作为成员。
协议栈:什么是协议栈
协议栈是指网络中各层协议的总和,其形象的反映了一个网络中文件传输的过程 ...
【51单片机】DS18B20
2024.1.29更新
2024.3.2
基本概念
所用外设:
DS18B20温度传感器(OneWire协议)
#前置概念
一、OneWire(单总线)协议
•单总线(1-Wire BUS)是由Dallas公司开发的一种通用数据总线
•一根通信线:DQ
•异步、半双工
•单总线只需要一根通信线即可实现数据的双向传输,当采用寄生供电时,还可以省去设备的VDD线路,此时,供电加通信只需要DQ和GND两根线
二、单总线电路规范
•设备的DQ均要配置成开漏输出模式
•DQ添加一个上拉电阻,阻值一般为4.7KΩ左右
•若此总线的从机采取寄生供电,则主机还应配一个强上拉输出电路
三、单总线的时序结构
DS18B20介绍
•DS18B20是一种常见的数字温度传感器,其控制命令和数据都是以数字信号的方式输入输出,相比较于模拟温度传感器,具有功能强大、硬件简单、易扩展、抗干扰性强等特点
•测温范围:-55°C 到 +125°C
•通信接口:1-Wire(单总线)
•其它特征:可形成总线结构、内置温度报警功能、可寄生供电
一、DS18B20温度存储格式
MS BYTE ...
【数字电路】课程设计
设计题目: 智能消防系统
题目来源: 2023 年全国大学生电子设计竞赛试题试题 G 题
一、 任务:
设计一套智能消防系统, 采用 FPGA 实验板。 防区区域为 40dm× 48dm,
可能出现的火源如图所示的 1、 2、 3、 4。 当消防车接收到火源地点位置信息即刻前往熄灭火源, 消防工作完成时间越短越好。 其中白色部分是街区, 消防车不得驶入, 红色区域是消防车停车点。
二、 要求:
消防车起始停留在红色区域, 接收到火情信息并显示火源地点位置坐标后,
出发前往火源地点, 途中不得碾压街区及其边界线。 消防车距离火源地点 5dm内停车, 发出声光报警, 持续 5 秒, 表示将模拟火源熄灭, 之后消防车返回红色区域。 从消防车出发到返回红色区域, 用时越短越好
三、硬件部分
主要结构:4驱直流电机小车
主控:FPGA
传感器:1.四路循迹模块(避线) 2.红外计数器(测速/里程计算)
代码主要语法:状态机
四、解题四路
一、调试小车基本运动模式
什么是分频器?
分频器原理
通过检测输入时钟信号下降沿(上升沿),或者说采样的方法,控制输出的时钟信 ...
【ROS2】OriginBot ROS2用指令
编译
每次对originbot的功能包参数进行修改后都要进行编译操作,命令如下
cd /userdata/dev_ws/
colcon build
小车ssh远程连接
ssh root@192.168.238.81
在多类终端均可使用该命令
建立DSS连接
export RMW_IMPLEMENTATION=rmw_cyclonedds_cpp
CYCLONEDDS_URI='<CycloneDDS><Domain><General><NetworkInterfaceAddress>ens33</NetworkInterfaceAddress></General></Domain></CycloneDDS>'
查看网络配置
ifconfig
sudo apt install net-tools
才能使用ifcongfig命令
关机
halt
xxxxxxxxxx git remote add [alias] [url]//参数[alias]为别名, [url]为远程仓库的 ...
My first blog
声明:本站主要作为个人开发学习,也欢迎各位分享知识和交流技术经验。
将在后续保持优化网站架构及内容更新
记录,markdown错误写法 ,-后面要加空格(#同理)
12$ tags: -数字电路与VHDL设计"