- 博客(14)
- 资源 (2)
- 收藏
- 关注
原创 ESP32/ESP8266 MQTT协议接入阿里云(二)
ESP32/ESP8266 MQTT协议接入阿里云(二)1、在连接阿里云之前,需要先了解MQTT的连接协议。CONNECT 协议格式:固定包头+可变包头+有效载体(1)固定报头长度:2bytes包括报文类型(1),固定保留位(0)和剩余长度。剩余长度等于可变报头的长度(10字节)加上有效载荷的长度。注意:当剩余长度大于0x7F后,需要进位。剩余长度字段的字节长度:最少1个字节,最多4个字节。剩余长度字段可以表示的长度:1个字节时,可以表示剩余 0~127 长度。4个字节时,最大表示长度为
2021-11-02 16:36:38 3678 9
原创 ESP32/ESP8266 MQTT协议接入阿里云(一)
ESP32/ESP8266 MQTT协议接入阿里云(一)1.搭建阿里云环境(1)跳转连接:https://iot.console.aliyun.com/lk/summary/new(2)选择公共实例(3)创建产品(4)创建设备确定后就已经创建好产品和需要上网的设备了。在设备里查看到未激活。(5)添加功能,这里添加一个开关灯的功能,也可添加温度显示等等。确定后把功能发布上线。(6)产品发布上线。最后返回产品页,将产品发布上线。设置到此处整个环境就搭建起来了。接下来就
2021-11-02 15:00:02 2308 3
原创 GPIO引脚 模拟 IIC(软件IIC)
GPIO引脚 模拟 IIC(软件IIC)IIC总线在传输数据的过程中一共有三种类型信号,分别为:开始信号、结束信号和应答信号。IIC总线的时序图:空闲状态当IIC总线的数据线SDA和时钟线SCL两条信号线同时处于高电平时,规定为总线的空闲状态。此时各个器件的输出级场效应管均处在截止状态,即释放总线,由两条信号线各自的上拉电阻把电平拉高。起始信号与停止信号起始信号:当时钟线SCL为高期间,数据线SDA由高到低的跳变;启动信号是一种电平跳变时序信号,而不是一个电平信号;停止信号:当时钟线SCL为
2021-08-19 09:56:14 3316 2
原创 Ubuntu 18 上不了网解决方法
Ubuntu 18 出现网络异常1.打开命令行 Ctrl+Alt+t2.关闭网络sudo service network-manager stop3.删除网络sudo rm /var/lib/NetworkManager/NetworkManager.state4.重启网络sudo service network-manager start
2021-08-05 14:42:29 2682 1
原创 8421拨码器 R7H3-16 的使用
8421拨码器 R7H3-16 的使用使用方法极其简单,1、2、4、8脚分解与单片机的4个IO脚连接,IO配置为输入即可。0代表低电平,1代表高电平。档位\脚位124801111101112101130011411015010161001700018111090110A1010B0010C1100
2021-06-22 14:15:03 1204
原创 TFT1.44寸屏ST7735S屏幕使用-stm32f103c8t6
TFT1.44寸屏ST7735S屏幕使用-stm32f103c8t6K :背景灯RESET:tft复位RS:控制线(数据或者命令)SDA:数据线(SPI时作为MOSI)SCK:时钟线IOVCC:数据有线脚,写数据或者是命令时应该拉低1.LCD初始化/初始化lcdvoid LCD_Init(void){ SPIGPIO_Init(); SPILCD_RST_RESET ; //LCD_RST=0 //SPI接口复位 HAL_Delay(20); // delay 2
2021-03-08 17:22:18 10830 8
原创 EFR32解锁方法
EFR32锁住的解锁方法在某些情况下,芯片可能会被锁住,导致J-LINK等工具连接不上,可以参考如下方法:1、进入commander.exe所在的目录;按住Shift+右键选择“在此处打开命令窗口”2、使用J-LINK连接好硬件;3、在命令提示符工具中输入以下内容+Enter键就可以解锁啦。commander.exe device lock --debug disable --device "EFR32FG14P231F128GM32"...
2021-03-08 09:53:24 1029
原创 EFR32FG14 UART的使用方法
EFR32FG14 UART的使用方法1.初始化串口(PA0->TX ,PA1->RX)void RETARGET_SerialInit(void){ /* Enable peripheral clocks */ CMU_ClockEnable(cmuClock_HFPER, true); /* Configure GPIO pins */ CMU_ClockEnable(cmuClock_GPIO, true); /* To avoid false start, c
2021-03-04 18:00:40 855 2
原创 EFR32FG14 使用定时器TIMER做毫秒级定时
EFR32FG14 使用定时器TIMER做毫秒级定时1.添加头文件#include "em_timer.h"2.初始化TIMER主时钟用到38.4MHzvoid initTimer(void){// Enable clock for TIMER1 module CMU_ClockEnable(cmuClock_TIMER1, true); // Initialize timer with defined prescale value TIMER_Init_TypeDef tim
2021-03-04 17:34:00 826 4
原创 f103 hal库中PWM的使用方法
1.初始化复用管脚void BEEP_Init(){ GPIO_InitTypeDef GPIO_Initure; __HAL_RCC_TIM4_CLK_ENABLE(); //使能定时器1 __HAL_RCC_GPIOB_CLK_ENABLE(); //开启GPIOA时钟 GPIO_Initure.Pin=GPIO_PIN_9; //PB9 他有对应的TIM和通道,PWM4_CH4
2020-07-01 17:55:23 2063
原创 f103 hal RTC_alarm使用方法
1.初始化RTCRTC_handle.Instance = RTC;RTC_handle.Lock = HAL_UNLOCKED;RTC_handle.Init.AsynchPrediv = RTC_AUTO_1_SECOND;RTC_handle.Init.OutPut = RTC_OUTPUTSOURCE_ALARM; if(HAL_RTC_Init(&RTC_handle) != HAL_OK){ HAL_GPIO_WritePin(GPIOB,GPIO_PIN_8,GPIO_
2020-07-01 12:22:44 3002 1
原创 f103 hal库中gpio外部中断使用
1初始化引脚与配置通用管脚一样,只是mode改成中断触发条件GPIO_InitTypeDef GPIO_InitStruct; GPIO_InitStruct.Mode = GPIO_MODE_IT_RISING_FALLING;GPIO_InitStruct.Pull = GPIO_PULLUP;GPIO_InitStruct.Speed= GPIO_SPEED_FREQ_HIGH;GPIO_InitStruct.Pin = GPIO_PIN_9; HAL_GPIO_Init(GP
2020-06-30 14:16:51 1234
原创 hal库中的UART使用
1.初始化串口UART_initStruct.Instance =USART1;UART_initStruct.Init.BaudRate = 9600;UART_initStruct.Init.WordLength = UART_WORDLENGTH_8B;UART_initStruct.Init.StopBits = UART_STOPBITS_1;UART_initStruct.Init.Parity = UART_PARITY_NONE;UART_initStruct.
2020-06-30 09:15:00 5102 4
原创 stm32f103 hal库中timer使用
stm32f103 hal库中timer使用使用步骤1.初始化定时器2.HAL_TIM_Base_Init(&htim2)基本参数配置3.重写void HAL_TIM_Base_MspInit(TIM_HandleTypeDef* tim_baseHandle)函数4.中断函数的重写5.如果想用溢出回调6.启动定时器7.整个代码使用步骤1.初始化定时器 tim.Instance = TIM2; tim.Init.Period = 1000-1; tim.Init.Prescal
2020-06-29 10:58:29 3329
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人