- 博客(79)
- 收藏
- 关注
原创 看门狗有什么用?
只要程序可以正常运行,看门狗就会清零,如果崩了,看门狗就会复位程序。看门狗(WATCH-DOG Timer)全称看门狗定时器。用途:防止程序死机(主要用途) 或 单纯用来计时。
2024-11-04 13:56:31 59
原创 DMA有什么用?
当然DMA是需要配置的,一般要配置,源地址,目标地址,数据转移方向(如内存到外设,还是外设到内存),数据大小,源地址是否自增,目标地址是否自增等。串口要先发给CPU,然后CPU再发给内存,这样子导致CPU的性能被极大的浪费在处理数据运输上。该技术可以使得访问内存数据不用经过CPU,这样大幅增加CPU的工作效率。所以刚刚那个程序你将会看到一边亮灯一边发数据,大大提高了CPU的使用率。DMA(Direct Memory Access)直接访问内存。串口可以通过DMA发给内存,这样子CPU就可以去做其他事情了。
2024-11-04 13:51:00 99
原创 关于单片机跑操作系统和不跑的区别
如果单片机不跑操作系统,那么进行多任务时只能利用延时或者中断。但中断资源是有限的,延时浪费了CPU的性能。但如果单片机可以跑操作系统,那么进程会被操作系统调配,这样子在进行多任务工作时效率将大大增加。
2024-11-04 12:51:36 47
原创 4G模块使用指南
观察SIM卡灯是否亮起,AT+ICCID获得SIM卡信息,确认SIM卡安装完好 返回数据:+OK=89860116838013413419。103.46.128.21是公网IP地址,通过花生壳获得,52541是端口号,参数之间逗号隔开。检查信号是否正常,通过AT+CSQ指令检查信号值,建议插入信号天线,返回数据:+OK=31。AT+SOCK=TCPC,103.46.128.21,52541 连接socket服务器,AT+LINKSTA查看连接状态,如果第四步没有问题,此时串口返回+OK=Connect。
2024-11-02 18:37:57 275
原创 关于SU-03T一些疑惑点
如果你在网站配置时端口输出是的电平,那么这个电平将会一直生效。就算你在软件里修改了也没有用,也会变回去。或者在软件里使用变量来控制不会二次改变。除非你在SU-03T里发出其他的电平。
2024-11-02 01:39:01 76
原创 关于供电不足导致的问题
如果你发现你的代码没有问题,但是机器却不能正常工作。超声波模块(发出的声波量不够,接收不到)、红外循迹模块(发出的红外线量较少)、舵机(转动角度过小或者没有转动)那大概率就是供电不足导致的。蓝牙模块(蓝牙总是中断)、
2024-11-01 22:37:07 145
原创 串口中断经常犯的一些错误
例如你用(向串口发/收数据都会使用到SBUF,所以都会导致串口中断函数的执行)你这个时候使用到SBUF的行为都会触发该中断函数,这样可能导致一些问题的发生。当你有使用到串口中断函数的时候。
2024-11-01 22:32:42 99
原创 测速模块使用指南
轮子走一圈,经过一个周长,C = 2x3.14x半径= 3.14 x 直径(6.5cm) 对应的码盘也转了一圈,码盘有20个格子,每经过一个格子,会遮挡(高电平)和不遮挡(低电平)定时器可以设计成一秒,统计脉冲数,一个脉冲就是1cm 假设一秒有80脉冲,那么就是80cm/s。那么一个脉冲就是走了 3.14 * 6.5 cm /20 = 1.0205CM。用途:广泛用于电机转速检测,脉冲计数,位置限位等。接线 VCC 接电源正极3.3-5V。AO 此模块不起作用。
2024-11-01 13:15:14 200
原创 TCRT5000红外循迹传感器指南
黑色的物体吸收红外光比其他物体多,所以检测到黑色物体D0会输出0,可以以此来循迹。当返回的红外线的信号量小于规定值时,D0输出0,反之输出1。
2024-10-23 01:45:55 257
原创 关于不用电脑/充电宝供电时会出现的一些问题
当有一些高频率的工作时候会导致单片机耗能增加导致其他模块的供电减少。有可能导致该模块不可再用(如蓝牙模块断连)
2024-10-20 23:13:52 107
原创 WIFI实现透传+接线图
单片机通过TX接WIFI模块的RX将设置的AT代码写入WIFI模块(连接WIFI+调为设备模式(有设备,路由,双模等模式))WIFI模块将响应信号通过TX通过CH340发给PC的RX。通过STC-ISP或安信可串口调试助手查看响应信息。PC可以通过TX给单片机的RX发送信息。
2024-10-19 21:45:45 215
原创 关于如果使用定时器的一些问题
那么后面功能的初始化就不能同时使用定时器0了,不然会出问题,这个时候应该使用定时器1。加设串口初始化使用了定时器0。最好使用STC-ISP来生成。
2024-10-19 16:41:41 73
原创 STC89C51 温湿度传感器+LCD1602+电位器
D0-D7依次接P0.0-P0.7。OUT接LCD1602 VO口。DATA接开发板P1.5。VCC 接开发板5V。GND接开发板GND。VSS接开发板GND。GND接开发板GND。
2024-10-18 18:50:43 806
原创 在OLED屏上通过串口来显示视频的代码(python+C)
python:import numpy as npimport cv2import serialimport time# 将128*64的二值化图像转换为OLED数组格式def img2array(frame): array = np.zeros((8, 129), dtype='uint8') for j in range(64): for i in range(128): if frame[j][i] > 0:
2024-10-18 17:58:01 637
原创 关于python serial串口库的一些问题
serial_port.write去写入数组的时候,会把数组的最后一个元素给去除,如果是二维数组的话,会把数组里的数组的最后一个元素去除。
2024-10-18 17:51:29 102
原创 OLED模块使用I2C协议指南
有三种,分别位页地址模式,水平地址模式和垂直地址模式。如果写入0x08(b00001000)会显示什么呢。可以通过一下表格进行配置 内存管理。一个字节负责一个Page的一列显示。//code 是因为太大了。初始化(直接复制用就行)
2024-10-17 20:20:23 897
原创 IIC协议
IIC串行总线一般有两根信号线,一根是双向的数据线SDA,另一根是时钟线SCL,其时钟信号是由主控 器件产生。所有接到IIC总线设备上的串行数据SDA都接到总线的SDA上,各设备的时钟线SCL接到总线 的SCL上。由于接口直接在组件之上,因此IIC总线占用的空间非常小,减少了电路板的空间和芯片管脚的数量,降 低了互联成本。IIC总线在传输数据的过程中一共有三种类型信号,分别为:开始信号、结束信号和应答信号。这些信号中,起始信号是必需的,结束信号和应答信号。//起始位,停止位,数据位,速度。
2024-10-16 23:57:41 229
原创 蓝牙模块指南
透传即透明传送,是指在数据的传输过程中,通过无线的方式这组数据不发生任何形式的改变,仿 佛传输过程是透明的一样,同时保证传输的质量,原封不动地到了最终接收者手里。
2024-10-16 13:50:04 165
原创 串口初始化和发送字符串的代码
TL1 = 0xFD;TH1 = 0xFD;ET1 = 0;TR1 = 1;while(*str!='\0')while(!TI);TI = 0;str++;
2024-10-16 13:26:39 139
原创 ESP-01S WIFI模块指南
ESP-01s出厂波特率正常是115200, 注意:AT指令,控制类都要加回车,数据传输时不加回车。ESP-01S模块,TXD和RXD和CH340交叉接入。接5V才能正常工作,接3.3V很有可能不会正常工作。ESP-01S模块,
2024-10-16 13:24:26 202
原创 定时器初始化和中断响应
void Time0Handler() interrupt 1 //定时器0的中断响应。//溢出标识位,如果溢出硬件置1,直到中断响应。//1. 配置定时器0工作模式位16位计时。//2. 给初值,定一个0.5出来。//4. 打开定时器0中断。//5. 打开总中断EA。
2024-10-16 12:43:53 197
原创 DHT11温湿度传感器使用指南
void cDHT()//这个参数后看看dht是什么,如果是1数据就是1,如果是0数据就是0。一共会发40位数据,每个字节依次是:湿度整数,湿度小数,温度整数,温度小数,校验位。//主机拉低的时间,看时序图。//dht参数接的是data的引脚。
2024-10-16 12:22:35 273
原创 超声波模块使用指南
/us为单位,时间计算公式。//设置定时器0工作模式1,初始值设定0开始数数,不着急启动定时器。Trig:给Trig端口至少10us的高电平,后开始发信号。}//(TR0 = 0是关闭定时器,TR0 = 1是开启)Echo信号,由高电平跳转到低电平,表示收到回来的波。Echo信号,由低电平跳转到高电平,表示开始发送波。波发出去的那一下,开始启动定时器 波回来的那一下。我们开始停止定时器,计算出中间经过多少时间。
2024-10-16 12:10:07 207
原创 STC89C51/52的一些运行的问题
写main函数如果执行完毕它会重新装载代码重新运行,此时如果有设置灯亮,灯会闪。STC89C51/52加载代码运行的时间约为1s,在此期间运行都是不稳定的。为了避免这种情况,可以加一个while(1)防止main函数退出。
2024-10-15 18:20:26 91
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人