自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(92)
  • 收藏
  • 关注

原创 50,点灯

1.1,清零函数,表示输出低电平。1.2,IO置位函数,输出高电平。1.3,整组GPIO操作。1,GPIO有多个函数。

2024-04-27 09:06:58 171

原创 四十九,keil工程及文件结构

控制单片机的一些功能就需要先配置这些功能的寄存器。为了开发人员的工作量和代码的可读性。底层驱动程序就使用厂家开发的固件库。新建工程并保存到当前目录。复制库文件到文件夹中。提示复制启动文件选否。

2024-04-27 09:05:38 1747

原创 四十八,单片机基础知识复习

定义一个起始位置,然后移动6个位置,再读出。与数组一样都是存放和读出的区间.7,单片机地址与状态。

2024-04-27 09:04:43 296

原创 四十七,发布程序

2,正式版报错了,因为串口打印函数做了修改,调试版屏蔽了,正式版也需要设置屏蔽。1,程序发给客户前要从新编译导出正式版。

2024-04-27 09:00:01 239

原创 四十六,看门狗

1,防止程序跑飞加看门狗,跑飞可以复位。

2024-04-27 08:59:11 147

原创 四十五,单片机连接云程序讲解

串口接收引入定时器是个很巧妙的设计,发现串口接收中断,然后定时一段时间,定时器时间到了,溢出中断直接把串口的接收标志置为完成.先清空定时器的计数值,然后判断串口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

原创 三十九,蓝牙AT指令

蓝牙AT控制1,AT指令2,常用AT命令3,格式读取模块工作状态4,蓝牙模块回复数据5,程序。

2024-04-25 11:19:01 459

原创 三十八,蓝牙简单测试

接收到数据就返回接收数据。

2024-04-25 11:17:25 212

原创 三十七,CAN总线

1,电路原理2,CUBE设置3,CAN波特率计算4,打开CAN接收中断5,移植驱动6,程序7,CAN的接收和发送。

2024-04-25 11:16:17 371

原创 三十六,RS485总线

1,RS485电路2,CUBE配置3,移植驱动其实485就是USART功能加外设这里使用485也是需要配置USART2的功能4,程序。

2024-04-25 11:15:19 272

原创 三十五,定时器与PWM

输出比较的使用还需要其他一些配置。在开始计数前设置一个结束的数值。只要设置好溢出值就能精准定时了。每个时钟周期计数器加。

2024-04-25 11:14:39 649

原创 三十四,外部中断

一个中断标志位有多个管脚,我们可以可以只设置一组中的一个管脚为中断,这样就固定中断源了,如果想启用同一组中的多个中断管脚,这样在中断函数总读取GPIO的电平来判断是那个管脚就行,我不断地告诉自己不要抬杠,怎么按键都不会同时触发的.4,这样就可以在程序里创建同名函数调用了,这个中断回调函数要注意不能放在main循环或者while循环里,要在外部.HAL库的延时函数要屏蔽调,因为HAL库的延时函数只能被主函数和子函数调用,不能在任何中断中调用.当产生中断后,可以通过中断标志位来判断中断来自哪里.

2024-04-25 11:14:06 326

原创 三十三,省电模式配置,CRC,芯片ID

停机模式也是在需要的地方直接添加代码。本质是在用不到单片机内部功能的时候。产生外部中断就可以唤醒停机模式了。直接在需要的地方添加睡眠函数。数据没有任何功能只用于校验。直接在固定的地址中读取数据。是专门的待机唤醒引脚。

2024-04-25 11:11:55 376

原创 三十二,USB

自定义变量接收存放的数据。把接收数据转存到数组。

2024-04-25 11:10:54 314

原创 三十一,spi(W25Q128)

多个芯片方便选择使能。

2024-04-25 10:15:15 383

原创 三十二,HAL,USB

自定义变量接收存放的数据。把接收数据转存到数组。

2024-04-16 11:51:42 475

原创 三十,温湿度DHT11

传感器返回固定长度的高度电平代表。其他都是为了初始化喝读取服务的。循环判断单总线的电平状态。单片机发出固定电平的信号。主要是初始化喝读取函数。需要注意因为是单总线。

2024-04-16 11:49:26 440

原创 二十九,RTC(一般不用,用专门的时钟芯片)

第一组寄存器进行判断。

2024-04-16 11:48:20 425

原创 二十八,ADC,ADC的DMA多通道

内核直接将绑定的功能获取的数据。读取的时候是读取的地址。多通道要设置为扫描模式。是直接寄存器访问功能。打开串口助手查看数据。看起来没有任何程序读。

2024-04-16 11:47:34 572

原创 二十七,串口

为了防止构建工程的时候复制过来的文件与别的文件有冲突。设置工程排除这些冲突文件的重新构建。因为要把别的文件复制到工程里。

2024-04-16 11:45:33 362

原创 二十六,蜂鸣器与继电器

可以复制别的工程类似驱动电路的代码。复制成功以后要在项目里刷新一下。第一步当然是在工程里添加驱动。把蜂鸣器和延时都复制到项目里。只好重新写一个纳秒级别的延时。不要什么代码都自己写。

2024-04-16 11:44:36 462

原创 二十五,IDE的安装和设置

如果有需要可以升级软件。

2024-04-16 11:43:43 413

原创 二十四,点灯与按键

命名是将要编程的驱动功能。在文件夹里创建子文件夹。为熄灭,其他值为点亮)为熄灭,其他值为点亮)为熄灭,其他值为点亮)为熄灭,其他值为点亮)创建驱动文件总文件夹。在驱动文件夹里面建立。然后复制粘贴例子里的。里面引用头文件控制了。

2024-04-16 11:43:00 479

原创 二十三,RCC时钟简介

1,RCC时钟简介2,APB1和APB2时钟对应的外设3,时钟输出在单片机的PA8端口用于时钟输出输出时钟前要配置。

2024-04-16 11:42:01 485

原创 二十二,HAL库简介

禁用HAL库,有时候HAL有bug配置出来有问题,就需要禁用这个功能然后自己创建一个库文件实现功能.是自己建立的文件夹,用于存放针对开发板上硬件的控制,系统生成的是初始化,改用LL库,LL库会精简一些,程序接近寄存器程序.初始化后怎么调用新建一个文件,这样方便管理.

2024-04-16 11:41:22 601

原创 二十一,洋桃IOT开发板IO配置

初始化以后也需要在程序中随时配置输入输出模式。也可以选择不同的端口数量。端口配置按照开发板来的。芯片内同用一个堆栈区。

2024-04-16 11:40:36 624

原创 二十,CubeIDE编译下载

第一次用st-link下载可能需要给仿真器升级固件。

2024-04-16 11:39:34 524

原创 十九,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关注的人

提示
确定要删除当前文章?
取消 删除