- 博客(92)
- 收藏
- 关注
原创 四十九,keil工程及文件结构
控制单片机的一些功能就需要先配置这些功能的寄存器。为了开发人员的工作量和代码的可读性。底层驱动程序就使用厂家开发的固件库。新建工程并保存到当前目录。复制库文件到文件夹中。提示复制启动文件选否。
2024-04-27 09:05:38
1747
原创 四十五,单片机连接云程序讲解
串口接收引入定时器是个很巧妙的设计,发现串口接收中断,然后定时一段时间,定时器时间到了,溢出中断直接把串口的接收标志置为完成.先清空定时器的计数值,然后判断串口3的接收标志位位0时,打开定时器开始计时.7.3主循环里保持设备在线的心跳包,10秒左右发一次,20次不成功就重新配网。发送命令后esp8266模块会回复数据,模块通讯都是类似的,就是类容不一样。还可以接收数据,判断目前接收的数据数量是否大于临时缓存空间的最大值,把MQTT的发送与接收与串口3的发送与接收绑定在一起,进行解码处理.
2024-04-25 11:25:35
318
原创 四十四,单片机连接阿里云
但是我们使用单片机的库函数来处理这些订阅发布。心跳包等一系列运算就可以很轻松实现通信目的。修改参数前先去云平台复制出所需要的参数。单片机和云平台通讯是个很复杂的程序。下载成功以后打开串口助手。然后观察云平台的日志列表。
2024-04-25 11:24:56
721
原创 四十三,阿里云MQTT创建与测试
现在就可以对服务器接收和发送数据了。测试数据收发之服务器发送到客户端。打开服务器可以看到设备在线。然后把地址粘贴到测试软件上。查看日志也可以看到详细信息。打开阿里官方的测试客户端。在阿里云上创建一个产品。在物联网平台里注册设备。并用调试工具测试通讯。然后在设备里添加设备。成功之后找到设备查看。
2024-04-25 11:24:16
839
1
原创 四十二,esp8266代码讲解
先把当前接收的一个字节保存到接收缓存数组里。不然调了两小时都是只能发送不能接收。就不能满足继续数组保存数据的条件了。发送命令的函数就是常用的串口发送的。相当于先判断一个接收协议的首字节。发送的数据自动会在头添加一个回车。的数据赋值给当前接收数据的变量。如果主函数检测到标志的最高位置。步且这个接收条件一直保持满足。这样就算时间长了自己忘记了。定义的变量其他文件可以使用。所以把这个回车当起始位就行。当条件满足会执行相应的功能。步把标志位把标志位设置为。且接收标志最高位不等于。这样就满足条件进入了第。
2024-04-25 11:23:45
1035
原创 四十一,esp8266与单片机通讯
模块发送的数据有固定的格式比如发。这一小节是后续学习的基础。也是物联网常用的基础知识。下一节专门详解这次的代码。这里需要理解每一行代码。指令设备号和字符数量。在公司我最讨厌两种人。一种是非让我写注释的。
2024-04-25 11:23:03
793
3
原创 四十,ESP8266AT指令测试
相当于我们画电路板常用的电平转换类似。后面的单片机引脚通过程序连接在一起。透过一个简单的程序来完成这个动作。模块为服务器电脑为客户端的连接。并配置好网络名和密码。
2024-04-25 11:22:26
350
原创 三十六,RS485总线
1,RS485电路2,CUBE配置3,移植驱动其实485就是USART功能加外设这里使用485也是需要配置USART2的功能4,程序。
2024-04-25 11:15:19
272
原创 三十四,外部中断
一个中断标志位有多个管脚,我们可以可以只设置一组中的一个管脚为中断,这样就固定中断源了,如果想启用同一组中的多个中断管脚,这样在中断函数总读取GPIO的电平来判断是那个管脚就行,我不断地告诉自己不要抬杠,怎么按键都不会同时触发的.4,这样就可以在程序里创建同名函数调用了,这个中断回调函数要注意不能放在main循环或者while循环里,要在外部.HAL库的延时函数要屏蔽调,因为HAL库的延时函数只能被主函数和子函数调用,不能在任何中断中调用.当产生中断后,可以通过中断标志位来判断中断来自哪里.
2024-04-25 11:14:06
326
原创 三十三,省电模式配置,CRC,芯片ID
停机模式也是在需要的地方直接添加代码。本质是在用不到单片机内部功能的时候。产生外部中断就可以唤醒停机模式了。直接在需要的地方添加睡眠函数。数据没有任何功能只用于校验。直接在固定的地址中读取数据。是专门的待机唤醒引脚。
2024-04-25 11:11:55
376
原创 三十,温湿度DHT11
传感器返回固定长度的高度电平代表。其他都是为了初始化喝读取服务的。循环判断单总线的电平状态。单片机发出固定电平的信号。主要是初始化喝读取函数。需要注意因为是单总线。
2024-04-16 11:49:26
440
原创 二十八,ADC,ADC的DMA多通道
内核直接将绑定的功能获取的数据。读取的时候是读取的地址。多通道要设置为扫描模式。是直接寄存器访问功能。打开串口助手查看数据。看起来没有任何程序读。
2024-04-16 11:47:34
572
原创 二十六,蜂鸣器与继电器
可以复制别的工程类似驱动电路的代码。复制成功以后要在项目里刷新一下。第一步当然是在工程里添加驱动。把蜂鸣器和延时都复制到项目里。只好重新写一个纳秒级别的延时。不要什么代码都自己写。
2024-04-16 11:44:36
462
原创 二十四,点灯与按键
命名是将要编程的驱动功能。在文件夹里创建子文件夹。为熄灭,其他值为点亮)为熄灭,其他值为点亮)为熄灭,其他值为点亮)为熄灭,其他值为点亮)创建驱动文件总文件夹。在驱动文件夹里面建立。然后复制粘贴例子里的。里面引用头文件控制了。
2024-04-16 11:43:00
479
原创 二十二,HAL库简介
禁用HAL库,有时候HAL有bug配置出来有问题,就需要禁用这个功能然后自己创建一个库文件实现功能.是自己建立的文件夹,用于存放针对开发板上硬件的控制,系统生成的是初始化,改用LL库,LL库会精简一些,程序接近寄存器程序.初始化后怎么调用新建一个文件,这样方便管理.
2024-04-16 11:41:22
601
原创 二十一,洋桃IOT开发板IO配置
初始化以后也需要在程序中随时配置输入输出模式。也可以选择不同的端口数量。端口配置按照开发板来的。芯片内同用一个堆栈区。
2024-04-16 11:40:36
624
原创 十九,STM32CubeIDE简介
CubeIDE简介1,图形界面2,系统内核3,RCC系统时钟4,工程管理5,编程界面6,编程界面设计树介绍7,时钟源类型8,RTC时钟9,配置时钟树10,配置GPIO。
2024-04-16 11:38:37
471
原创 十八,stm32CUBE的使用
7,设置GPIO,单机PC13脚,选择IO类型,这里点LED,选输出模式。2,选择芯片新建工程,输入芯片具体型号。4,配置时钟,尽量选择高速。
2024-04-16 11:37:44
392
原创 十七,红外遥控器
红外接收就是当红外引脚上,出现下降沿,就让外部中断进入中断服务函数,然后用定时器去测量中断过了多长时间,当知道了这个时间就可以编码为1和0这样的数据,主要的方法就是,外中断和定时器的配合。1:红外编码我们常用的是NEC编码,用的是38khz载波的方式传播。都是一些波形怎么读取他的数据呢,这样先看他规定的位定义,就是0和1,控制码看起来是10101000;其实不对,低位在前,控制码应该是00010101;地址码是8个0,地址反码就是8个1。这个垃圾码几乎不用。LED的IO关键配置。红外处理函数的标志位。
2023-07-05 13:41:20
3614
原创 十六,多个bin文件合成
把打开的文件复制粘贴到前一个文件最后一个字节。然后用二进制编辑软件打开这个复制的文件。复制一个文件出来,用于保存合并的文件。然后继续把其他两个文件打开。然后把复制的文件粘贴上。
2023-07-05 13:40:50
2198
原创 十四点一,图片转.bin文件
新建项目,新建项目刚好是你复制的大小,把复制的图片粘贴到新项目里。剪切以后,点击空白处,然后选择图像按钮。设置图像大小,比例不合适需要再次裁剪。然后在软件目录中找到存放的文件。一,打开百度复制你要的图片。
2023-07-05 13:39:46
3713
3
原创 十四,图片的下载和显示
函数里的循环改变就行,循环的取不同地址的数据显示出来。字库一样,设置好地址就行,不同的是调用图片函数。文件格式,这样才能存到片外存储里面。为了显示图片,我们需要先制作一个。的这个地址开始读取第一张图片,,并且设置的图片存储开始地址的。这句是因为每张图片的大小是。来计算且取出不同的图片了。是上一节保存的字库。,如果的第二张图片是。
2023-07-05 13:39:16
166
原创 十二,液晶显示字符
液晶屏显示字符需要借助一个取字模软件,配合一起用。是单片机内部的一块存储区域,数组毕竟不小,把数组放。,显示函数,和以前的设置背景色及其类似。把生成的数组复制到程序里并命名;个字节,但我们用的这个外扩的。输入要取模的字并生成字模。,设置笔的颜色和背景色。
2023-07-05 13:38:13
235
原创 十五,计步器
产生了中断,表示QMA7983产生了有效的步数,我们要读取这个步数就行,注意这个步数值是一个24位数据且存放在3个8位寄存器里面,我们读出这3个寄存器,第一个移16位,第二个移8位,第3个不移位,这样再加起来保存到一个24位的变量里就是读出的步2数。显示的字库需要重新制作,先制作字库,因为是数字,我们只需要制作0,1,2,3,4,5,6,7,8,9这10个字符就行。走路的时候x,y,z的波形如上图,根据这些阈值计算,计算个屁,内置算法了,直接读。六,显示和步数都配置好了,我们在主函数里面配置。
2023-07-05 13:37:54
282
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅