自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(39)
  • 资源 (16)
  • 收藏
  • 关注

原创 esp8266使用arduino的PubSubClient库连接onenet

esp8266使用arduino的PubSubClient库实现MQTT协议连接中移动onenet物联网平台,实现连接服务器,订阅/取消主题,发布消息到主题。首先在onenet平台控制台选择多协议接入,然后添加产品,里面内容自己随便填吧,协议选择MQTT旧版协议,最后添加设备。要加载用到的PubSubClient库,我是vscode+arduino程序参考太极创客的/*******************************************************************

2021-10-15 22:22:28 1914 2

原创 Esp8266闪存文件系统LIttleFS

来自于https://randomnerdtutorials.com/esp8266-nodemcu-vs-code-platformio-littlefs/有两种文件系统可用于板载 ESP8266 闪存:SPIFFS 和 LittleFS。SPIFFS 目前已弃用,可能会在 ESP8266内核的未来版本中删除。建议改用 LittleFS。将文件系统与ESP8266 板一起使用对以下方面特别有用:使用设置创建配置文件;永久保存数据;创建文件以保存少量数据,而不是使用 microSD 卡;保存

2021-09-06 22:04:34 3010 2

原创 NodeMCU ESP8266使用U8G2驱动7针SPI 1306 OLED屏

在本篇文章中,我们将OLED显示屏与NodeMCU ESP8266连接。 NodeMCU是一个开源的物联网平台,包括运行在Espressif Systems公司的低成本Wi-Fi ESP8266 SoC上的固件。它具有用于连接其他外设的GPIO引脚,并支持使用SPI、I2C和UART引脚进行串行通信。它还具有ADC和PWM引脚。在本篇文章中,我们将使用SPI协议将单色7引脚SSD1306 0.96 OLED显示屏与NodeMCU连接,并将学习使用NodeMCU ESP8266在OLED屏上显示图像。OL

2021-08-21 18:09:55 6596 4

原创 ESP-IDF教程1

esp-idf使用教程概念项目 特指一个目录,其中包含了构建可执行文件的所有源文件和配置,还有其他的支持型输出文件,比如分区表、数据/文件系统分区和引导程序。项目配置 保存在项目根目录下名为 sdkconfig 的文件中,它可以通过 make menuconfig 进行修改,且一个项目只能包含一个项目配置。应用程序 是由 ESP-IDF 构建得到的可执行文件。一个项目通常会构建两个应用程序:项目应用程序(主可执行文件,即用户自定义的固件)和引导程序(启动并初始化项目应用程序的引导程序)。组件 是模

2021-08-07 22:51:43 4780 5

转载 安信可IDE 1.5编译ESP8266 RTOS 3.0

完善官方,供自己参考官方地址:https://blog.csdn.net/Boantong_/article/details/1062292813.1 导进IDE官方的RTOS SDK存放路径务必不能带空格或中文字符!刚开始一直不成功就是因为放在了安信可IDE自动生成的文件夹Ai-Thinker V1.1下,这个名字中有空格导致失败。1、点击C/C++分支,选择 Existing Code as MakeFile Project 工程;2、复制刚刚的下载的文件夹路径,import --> C

2021-04-18 19:33:46 1209 1

原创 STM32通过STM32cueMX生成FreeRTOS操作队列消息

一、目的 掌握基础的消息队列操作。 先定义一个队列,两个任务,一个任务根据GPIO值向消息队列发数据,另一个任务一直等待消息队列里的数据,有数据了就输出,没有则一直等待。二、配置 在STM32cueMX中的FreeRTOS界面tasks and queues中,添加两个任务,一个用于检测按键是否按下,并消息入队,一个用于接收队列消息并输出信息,另外添加一个queue,设置为数量为1,数据大小为uint8_t。三、主要程序 注意:在STM32cueMX生成的FreeRT...

2021-03-12 11:06:46 3517

原创 STM32(hal库)通过MQTT协议连接onenet

在中国移动物联网平台onenet,选择用多协议的mqtt旧版协议新建产品和设备。然后根据自己的情况更改程序中的参数。数据流上传时要根据自己的数据将程序中固定的更改为动态赋值就好了。本程序参考超级大洋葱806的STM32CubeMX ESP8266 AT指令实现MQTT协议并接入阿里云IOT平台源码解析【附Github源码地址】一、esp8266驱动我将esp8266设置为station透传模式#include "esp8266_at.h"//usart1发送和接收数组uint8_t usart1

2021-01-14 14:13:36 3908 8

原创 STM32基于hal库的智能小车(4) ESP8266的wifi遥控

代码太长,自己下载,下载地址:https://download.csdn.net/download/sea1216/13951526这里提供思路需要用到串口DMA传输,串口输出,esp8266wifi模块---------------USART1接ESP8266,USART2输出信息----------一、设置ESP8266为wifi热点提前设置ESP8266建立wifi热点ESP8266_TEST,直接用串口线把ESP8266设置为(“ESP8266_TEST”,“1234567890”)。命令

2020-12-28 12:00:51 4337

原创 STM32基于hal库的智能小车(3) 红外遥控

STM32基于hal库的智能小车(3) 红外遥控其他内容请参考STM32基于hal库的智能小车(1)红外避障请参考STM32基于hal库的智能小车(2)完整程序https://download.csdn.net/download/sea1216/13711304该程序添加了串口和定时器,串口用于调试输出遥控器键值,定时器用于测量脉冲时长。程序调试好后可以删除串口内容,串口和定时器的使用请看相应的文章,这两个内容学完了就可以看红外遥控的内容,这些我的文章里都有,最后就是简单的判断就可以,主要如下:

2020-12-17 12:48:57 1104

原创 sublime2定义代码模板snippet

如果需要使用html结构<html><head></head><body></body></html>你可以将上面的语句块定义一个snippet片断,然后输入触发代码加TAB键就能生成上述代码。1、选择"Tool"–“new snippet”(工具 —— 插件开发 —— 新建代码片段)然后就调用出一个新snippet模板:<![CDATA[ Hello, ${1:this} is a ${2:snippet

2020-05-08 18:42:40 241

原创 STM32基于hal库RTC闹钟及注意(cubemx)

注意:1.设置时间时要用RTC_FORMAT_BIN格式,此时可以直接用十进制2.用cubemx生成的代码中要在初始化函数中加入判断是不是第一次初始化判断语句,不然每次重启都会重新设置时间3.闹钟中断的优先级要高于RTC全局中断的优先级,因为每次的闹钟中断都会同时触发RTC全局中断,全局中断内会清除所有中断标志导致无法响应闹钟中断函数//main.c//main() RTC_Dat...

2020-04-23 12:58:38 6639 3

原创 STM32基于hal库定时器红外遥控器

参考正点原子的程序。NEC协议特征--------------------------main.c-------------------//遥控器识别码为0#define REMOTE_ID 0 //遥控器接收状态//[7]:收到了引导码标志//[6]:得到了一个按键的所有信息//[5]:保留 //[4]:标记上升沿是否已经被捕获 //[3:0]:溢出计时...

2020-04-02 18:55:00 4199 1

原创 STM32基于hal库定时器输入捕获

原理要自己学习,这里仅仅给出最简单的通俗易懂的代码//main.htypedef struct //测量低电平脉宽{ uint8_t ucFinishFlag; //结束 uint8_t ucStartFlag; //开始 uint16_t usCtr; uint16_t usPeriod;}STRUCT_CAPTURE;//mai...

2020-03-24 11:09:45 2405

原创 STM32基于hal库的智能小车(2)红外循迹

4路循迹如下图:按着它的说明接线就好了,并选定好单片机引脚。我用STM32CUBEMX接着上一篇文章添加4个引脚,最后生成的程序如下(main.h):#define BZ1_Pin GPIO_PIN_4#define BZ1_GPIO_Port GPIOA#define BZ2_Pin GPIO_PIN_5#define BZ2_GPIO_Port GPIOA#define BZ3_...

2020-03-18 12:43:32 5010 2

原创 STM32基于hal库的智能小车(1)

以前做了一个红外遥控、避障和寻线的小车,用的是固件库,现在流行hal库,于是在这新冠也不能出门之际,重新用hal库做一个,并准备用上PWM来调节速度,并用wifi遥控,本人新手,有好的方法和错误的望指点!谢谢!**材料:**小车自己安装,STM32核心板,两个l298n电机驱动模块(“5v输出可不接”我将它用来给单片机供电,通道使能后期用PWM控制来调节速度,暂时直接使能就好),其他需要用的后期...

2020-03-16 20:04:14 4629 11

原创 STM32 HAL库PWM输出

STM32CUBEMX配置如下:(71+1)*(999+1)/72M=1ms占空比为:pluse/(999+1)注意下图每个通道的pulse都不一样,它的值决定了占空比,因而最后输出的波形占空比不一样//main.c中添加 //开启定时器 HAL_TIM_Base_Start_IT(&htim2); //开启PWM输出 HAL_TIM_PWM_Start(&amp...

2020-03-15 21:26:08 2445

原创 STM32 HAL库定时器TIM基础

STM32CUBEMX配置如下:(71+1)*(1999+1)/72M=2ms//main.c//开启定时器中断HAL_TIM_Base_Start_IT(&htim2);//更新中断回调函数void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim){ if (htim->Instance == TI...

2020-03-15 17:41:00 3373

原创 STM32操作ESP8266(透传)

STM32操作ESP8266,自己可以根据AT执行,相应设置其他状态 //测试 while(!ESP8266_AT_Test()){ printf2("test error\r\n"); } printf2("test OK\r\n"); HAL_Delay(1000); //...

2020-03-13 20:38:31 4690 3

原创 ESP8266开启透传模式

使用AT指令配置ESP8266开启透传模式方法1:ESP8266当wifi热点,手机当服务器1.输入:AT+CWMODE=3 //设置模块工作在AP+STA模式2.输入:AT+RST //重启3.输入:AT+CWMODE?4.输入:AT+CWSAP=“ESP8266”,“0123456789”,3,4// 设置wifi热点,信道3,加密方式4,完成后就可以用手机连接模块产生的WI...

2020-03-07 19:35:20 3691

转载 ESP8266-3种模式用法(转载)

(原创狗头青的征战史)ESP8266有三种工作模式:1.Station (客户端模式)2.AP (接入点模式)3.Station+AP (两种模式共存)就是说模块可以当成一个设备(client)连接区域网内的路由,也可以设置成是一个路由(sever),也可以既作为局域网里面的client同时又是其他client的sever。下面我们可以尝试一下配置ESP8266的指令(注意:每条AT指...

2020-03-06 22:21:27 4952

原创 ESP8266初级测试1

ESP8266模块用usb转串口连电脑,模块设置为WiFi热点,电脑连接此热点,相互发送数据1、设置模块AP模式,即设置模块为WiFi热点AT+CWMODE=2 //开启 AP 模式,重启后会保留AT+RST // 复位模式才能生效// 设置模块的 wifi 和密码,通道2,加密方...

2020-02-22 15:10:26 387

原创 STM32 hal库DMA串口不定长

//方法1--------------------------------------------//main.cuint8_t receive_buff[BUFFER_SIZE];//usart.cextern uint8_t receive_buff[BUFFER_SIZE]; //接收缓冲...

2020-02-21 12:56:52 666 1

原创 STM32 hal库DMA中断实验

//DMA内存传输到串口完成中断实验,自己编写回调函数并注册到dma句柄即可usart.h--------extern DMA_HandleTypeDef hdma_usart1_tx;main.c----------int i=0;void USART1_DMA_TX_CpltCallback( struct __DMA_HandleTypeDef * hdma);int main(v...

2020-02-17 22:24:46 7777 5

原创 STM32 hal库串口DMA模式收发定长数据

//DMA接收定义为循环模式,只能接受定长数据//串口DMA接收中断调用的回调函数和串口接收中断是同一个uint8_t rxch[5];uint8_t trch[]="transmit dma:\r\n";int main(void){HAL_UART_Transmit_DMA(&huart1,trch,15);HAL_UART_Receive_DMA(&huart1...

2020-02-11 21:32:28 1276

原创 STM32串口接收不定长数据hal库

//main.c//最大256可以用宏定义其他大小是最好的uint8_t aRxBuffer; //接收中断缓冲uint8_t rxBuff[256]; //接收缓冲,可以宏定义uint8_t rxCnt = 0; //接收缓冲计数uint8_t overErr[] = "数据超过256\r\n"; /* main()函数中使能接收,进入中断回调函数 */ //每次接收...

2020-02-07 15:40:59 1115

原创 STM32判断是哪个串口接收的数据

//判断是哪个串口接收的数据main(){USART_IT_Start();}uint8_t Uart1RX_Data,Uart2RX_Data,Uart3RX_Data; void USART_IT_Start(void){ HAL_UART_Receive_IT(&huart1,&Uart1RX_Data,1); HAL_UART_Receive_IT(&...

2020-02-04 17:30:32 1794

原创 STM32多串口printf函数

STM32多串口printf函数1.hal库/*USART1专用的printf函数在usart.c中添加下列函数,还要添加申明头文件#include<stdarg.h>,#include <stdio.h>//支持printf函数USART1_printf("abcd")用USART2发送字符abcd*///hal库自定义串口printf函数void pr...

2020-02-04 16:36:32 1887

原创 tp5.0操作phpexcel

1.首先在PHPExcel官网上面下载安装包下载地址为:https://github.com/PHPOffice/PHPExcel2.将PHPExcel里的classes文件夹改名为PHPExcel,并且复制到tp5框架下的vendor文件内3.在控制器中用PHPExcel,只需要vendor(“PHPExcel.PHPExcel”);即可。4.例子如下://下面两个函数放入控制器中,...

2019-07-22 21:54:22 675

原创 解决jpgraph汉字乱码的两种方法

/************************解决jpgraph汉字乱码的两种方法第一种方法:将SetFont函数第一个参数设置为FF_SIMSUN,将jpgraph_ttf.inc.php中修改为elseif( $aFF === FF_SIMSUN ) {//注释掉下面代码,解决中文乱码问题// Do Chinese conversion// if( $this->g231...

2019-04-18 20:22:04 504

原创 第一次使用STM32cubemx后No target conncted问题

本人用的是ST_Link下载器下载程序,在第一次使用STM32cubemx后仅仅只能下载一次程序原因可能是因为STM32CubeMX生成的代码会把调试端口关闭STM32cubemx软件里“SYS”选择“Trace Asynchronous Sw”调试器,(“SYS”还有其他几个选项不知道啥意思,望高手解答,谢了)需要把调试器选进来。如果关闭了调试端口的功能,下次烧录程序时就需要“按住复位键进入...

2018-10-14 11:49:03 1591

原创 stm32pwm简单程序

程序通俗易懂#include&lt;stm32f10x.h&gt;void TIM3_PWM_Init(u16 arr,u16 psc);//1ms延时函数(72MHz)void delay_nms(u16 time){ u16 i=0; while(time--) { i=12000; while(i--); }...

2018-06-08 15:21:18 8352 5

原创 STM32定时器及中断简单程序

STM32定时器及中断简单//----------------------------main()--------------------//stm32f103c8t6有3个普通1个高级定时器//每次进入中断服务程序间隔时间为//((1+TIM_Prescaler )/72M)*(1+TIM_Period )=((1+7199)/72M)*(1+9999)=1秒#include&lt...

2018-06-08 12:16:38 24427 3

原创 STM32基于systick的延时函数(V3.5库函数)

/**滴答定时器systick延时函数 */ #define D13_ON GPIO_ResetBits(GPIOC,GPIO_Pin_13) #define D13_OFF GPIO_SetBits(GPIOC,GPIO_Pin_13)__IO u32 delay_t;//定义一个全局变量//延时函数初始化 void delay_init(void) { ...

2018-06-07 11:56:40 2687

转载 Sublime Text 3 注册码验证功能20180507可用

以下所有内容来至于:https://www.cnblogs.com/springwind2006/p/8973096.html最近Sublime Text 3 增加了注册码验证功能,如果你使用共享版本的注册码,可能会提示注册码失效,但是却可以正常激活。只需要把下面的字段加入到你的hosts文件即可:127.0.0.1 license.sublimehq.com 127.0.0.1 4...

2018-05-07 11:39:00 14618 5

转载 volatile

1、中断服务程序中修改的供其它程序检测的变量需要加volatile; 2、多任务环境下各任务间共享的标志应该加volatile; 3、存储器映射的硬件寄存器通常也要加volatile说明,因为每次对它的读写都可能由不同意义; 另外,以上这几种情况经常还要同时考虑数据的完整性(相互关联的几个标志读了一半被打断了重写),在1中可以通过关中断来实 现,2中可以禁止任务调度,3中则只能依靠硬件的良好

2018-03-21 16:08:35 166

转载 MDK的软件仿真

一、软件仿真Keil有很强大的软件仿真功能,通过软件仿真可以发现很多将要出现的问题,Keil的仿真可以查看很多硬件相关的寄存器,通过观察这些寄存器值的变化可以知道代码有没有正常运行。这样可以避免频繁下载程序,延长单片机Flash寿命。开始仿真之前,先配置一些选项。1.在工程设置里设置好芯片型号和晶振频率。2.在“Debug”选项卡中选择“Use Simulator”,表示使用...

2018-02-12 20:00:49 9972

转载 Win10更改c盘下的用户文件夹名

Win10-更改c盘下的用户文件夹名 c:\user\小猫 后来 许多软件因为 不支持 路径中有中文,必须改为c:\user\xiaomao 下面说下怎么更改 c盘下的用户文件夹名。 1 首先 要进入管理员账户(Administrator) 1.1 桌面上 “此电脑”右击,点击管理,在左边的 “计算机管理”中找到“本地用户组”,点击“本地用户组”-“用户”,在右侧可以看到A

2018-02-07 11:30:37 37824 11

转载 input失去焦点和获得焦点jquery焦点事件

鼠标在搜索框中点击的时候里面的文字就消失了。input失去焦点和获得焦点jquery焦点事件插件 - 懒人建站$(document).ready(function(){//focusblur    jQuery.focusblur = function(focusid) {var focusblurid = $(focusid);var defval

2017-08-05 09:35:29 1170

转载 JS:文本框失去焦点事件、获得焦点事件

[导读] 文本框失去焦点事件、获得焦点事件onBlur:当失去输入焦点后产生该事件onFocus:当输入获得焦点后,产生该文件Onchange:当文字值改变时,产生该事件Onselect:当文字加亮后,产生该文件 ...  [正文]文本框失去焦点事件、获得焦点事件onBlur:当失去输入焦点后产生该事件onFocus:当输入获

2017-08-05 09:20:34 20776

hal_esp8266_onenet4.zip

esp8266用hal库使用AT指令连接onenet实现物联网消息订阅功能

2021-09-07

STM32基于hal库的智能小车(4) ESP8266的wifi遥控

需要用到串口DMA传输,串口输出,esp8266wifi模块 此测试的目的是按照说明接好线,wifi控制小车动起来 * ---------------USART1接ESP8266,USART2输出信息---------- * --提前设置ESP8266建立wifi热点ESP8266_TEST此程序没做, * --手机wifi连接ESP8266_TEST热点,用网络调试助手将手机设置为TCP server

2020-12-28

STM32基于hal库的红外遥控智能小车(3)

STM32基于hal库的红外遥控智能小车(3)该程序添加了串口和定时器,串口用于调试输出遥控器键值,定时器用于测量脉冲时长。其他内容请参考STM32基于hal库的智能小车(1)红外避障请参考STM32基于hal库的智能小车(2)

2020-12-17

STM32基于hal库的红外遥控器

STM32基于hal库的红外遥控器,参考的正点原子,使用定时器对编码进行计时,并用串口将接收到的相关信息打印出来,直接可以使用,我用的是C8T6,

2020-12-17

STM32基于hal库的智能小车(2)红外循迹

STM32基于hal库的智能小车(2)红外循迹,接着上一实验,添加4个引脚,接入红外循迹模块,这为程序代码,清晰易懂,看清楚管脚,根据自己的配置就可以了

2020-12-14

STM32基于hal库的智能小车(1)

STM32基于hal库的智能小车(1)让小车动起来,智能小车自己安装,STM32核心板,两个l298n电机驱动模块

2020-12-14

STM32cubemx使用spi驱动oled显示rtc时钟

STM32cubemx生成工程,用的是hal库,涉及到SPI驱动OLED的使用方法,以及RTC时钟的使用技巧,程序最后成功的能显示字符,数字,汉字,并能实时更新显示时间,要想做时钟,可以很轻松的进行移植

2020-04-25

STM32基于hal库定时器输入捕获

输入捕获说的通俗一点就是用计数器(定时器)来记录某一个脉冲高电平的时间,或者我们只捕获脉冲的上升沿或者下降沿,这具体要根据具体事例进行分析。 它的基本工作过程就是先捕捉一次脉冲上升沿,然后计数器开始计时,等待着捕捉到脉冲下降沿,等到捕捉到下降沿的时候,计数器停止计数,计算计数器中的数值,这个数值就是高电平所持续的时间,然后再重现开始下一轮的捕捉。 此程序输入捕获来实现计算某一个脉冲的低电平持续时间

2020-03-24

STM32 hal库PWM输出程序

STM32 hal库基于定时器TIM的PWM输出基础程序,用STM32CUBEMX配置的程序,只需要简单设置即可,包含了最基础的定时器中断控制,初学者容易学习,

2020-03-15

STM32 hal库定时器TIM基础程序

STM32 hal库定时器TIM基础程序,用STM32CUBEMX配置的程序,只需要简单设置即可,最基础的定时器中断控制,初学者容易学习,

2020-03-15

STM32 hal库操作ESP8266

STM32操作ESP8266,自己可以根据AT执行,相应设置其他状态,在本程序中,设置的是esp8266为客户端,连接服务器,进行透传模式,

2020-03-13

使用AT指令配置ESP8266开启透传模式(2种方法).txt

使用AT指令配置ESP8266开启透传模式(2种方法),非常简单,通俗易懂,一学就会,一看就懂,都不用看文档了,按着几个命令操作就行,很方便,用手机,用电脑都可以调试

2020-03-07

STM32 hal库DMA串口不定长hal_dmaptmBDC.zip

在STM32中特别是HAL库中,最常用的办法是使用空闲中断,即在串口空闲的时候,触发一次中断,通知内核,本次运输完成了。串口空闲中断的判定是:当串口开始接收数据后,检测到1字节数据的时间内没有数据发送,则认为串口空闲了。由于我们的内核在串口接收数据到空闲这段时间,是不受理串口数据的,所以我们还需要使用DMA来协助我们把数据传送到指定的地方,当数据传输完成后,通知内核去处理。

2020-02-24

ESP8266初级测试.txt

ESP8266模块用usb转串口连电脑,模块设置为WiFi热点,电脑连接此热点,相互发送数据,只是个很基础的教程,适用于只是拿来使用,不去研究内部的人员,特别是配合单片机来工作。

2020-02-22

WampServer3.1.964.txt

WampServer 3.1.9 (64-bit) 最新的下载地址,已成功下载,

2019-08-03

java简易计算器(针对不懂计算器流程的)

最容易看懂源程序的简单计算器程序,适合不清楚计算器编写流程的初学者

2009-05-04

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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