- 博客(23)
- 资源 (2)
- 收藏
- 关注
原创 从内存的角度分析STM32程序是如何跑起来的
注意:堆栈也是分配在这块ram区域的,并且使用keil软件时,如果不用malloc去堆上申请内存,是不会分配堆空间的。那么存储在flash中的rw段会在上电后被读到IRAM1中,大小为0x18000,从0x20000000开始。编写的程序是存储在flash中的,STM32F407的FLASH如图所示。了解了STM32的加载域和运行域,便可在编写程序时做到心中有数!假如在kei中分配rom和ram如下图所示。程序运行分为加载域和运行域,如下图所示。这里是程序真实执行时的地址分布。
2023-03-26 13:01:28
407
原创 DFS算法C++
//#include<stdio.h>#include <iostream>using namespace std;int m,n,p,q;int Min=100;int a[100][100]; //1 空地,2障碍物int v[100][100]; //0 未访问,1访问int dx[4]={0,1,0,-1};int dy[4]={1,0,-1,0};void Dfs(int x,int y,int step){ if(x==p &a
2021-11-22 11:34:58
593
原创 ESP32连接阿里云
ESP32连接阿里云主函数#include <WiFi.h>#include <Wire.h>#include <PubSubClient.h>#include <ArduinoJson.h>#include "aliyun_mqtt.h"#define SENSOR_PIN 10 //以下信息需要自己修改#define WIFI_SSID "******"//替换自己的WIFI#define WIFI_PASSWD
2021-11-13 13:22:54
1486
原创 ESP32蓝牙接收并截取指定格式的字符串
ESP32蓝牙接收并截取指定格式的字符串/*字符串格式:[wifi_zhanghao,wifi_mima]*/typedef unsigned char u8;#include "BluetoothSerial.h"#include <string.h>#if !defined(CONFIG_BT_ENABLED) || !defined(CONFIG_BLUEDROID_ENABLED)#error Bluetooth is not enabled! Please
2021-11-13 10:07:31
1935
原创 ESP32触摸按键检测
ESP32触摸按键检测/*T0 ----- G4T1 ----- G0T2 ----- G2T3 ----- G15T4 ----- G13T5 ----- G12T6 ----- G14T7 ----- G27T8 ----- G33T9 ----- G32*/typedef unsigned char u8;u8 key=0;#include <WiFi.h>#define KEY0 touchRead(T0)#define KEY1 touchRea
2021-11-12 19:27:28
381
原创 Arduino esp32获取NTP时间
Arduino esp32获取NTP时间#include <WiFi.h>#include "time.h" const char* ssid = "******";const char* password = "******"; const char* ntpServer = "asia.pool.ntp.org";const long gmtOffset_sec = -8*60*60;const int daylightOffset_sec = 0;
2021-11-11 22:40:51
1946
原创 Arduino ESP32通过心知天气获取城市三天的信息
Arduino ESP32通过心知天气获取城市三天的信息// {// "results": [// {// "location": {// "id": "C23NB62W20TF",// "name": "西雅图",// "country": "US",// "path": "西雅图,华盛顿州,美国",// "timezone": "America/Los_Angeles",//
2021-11-11 22:01:44
2367
3
原创 各种排序算法代码
1.冒泡排序/*冒泡排序算法: 平均时间复杂度: O(n²) 最好情况: O(n) 最坏情况: O(²) 空间复杂度: O(1) 排序方式: In-place 稳定性: 稳定 */#include <stdio.h>#include <stdlib.h>void bubblingSort(int arr[], int n) {
2021-11-01 21:45:09
328
原创 2021-10-28
快速计算反码以 -5 为例原码:1000 0101反码:1111 1010补码:1111 1011快速反推-5的反码,算法:因为最高位1为符号位,可以这样计算,从左到右,-128+64+32+16+8+0+2+1
2021-10-28 14:18:15
59
原创 2021-10-22
@[TOC!!!当初各种分类都是为了方便研究和管理,现在A, B, C这个类的划分是一个历史概念, 在实际中已经没有意义,首先我们知道在internet当中的终端,如果想要被其他终端访问,就需要一个唯一的ip地址。问题:怎么通过ip地址访问的呢?这个过程是怎样的呢?是通过路由器,路由设备当中有一张路由表,该路由表记录了所有ip地址的位置,这样就可以进行包的转发了,如果我们不区分网络地址,那么这张路由表当中就要保存有所有IP地址的方向,这张路由表就会很大,就像下面说的那样:如果不分网络位和主机位,路由器的路
2021-10-22 21:46:13
86
转载 串口通信笔记
概念串口通信(Serial Communications)的概念非常简单,串口按位(bit)发送和接收字节。与串行通信相对的是并行通信。数据传输一般都是以字节传输的,一个字节8个位。拿一个并行通信举例来说,也就是会有8根线,每一根线代表一个位。一次传输就可以传一个字节,而串口通信,就是传数据只有一根线传输,一次只能传一个位,要传一个字节就需要传8次。就像小虎队那首歌一样,把你的心,我的心,串一串,再烤一烤。。串口通信就是把数据串在一根线上传输,所以就叫串口吧。通信方式一般情况下,设备之间的通信方式可以
2021-09-29 09:47:45
1065
原创 4.3寸TFTLCD模块触摸屏(包含松手检测)+蓝牙串口控制模块化程序(通过FSMC驱动,FSMC_NE4接LCD片选/A10接RS)
4.3寸TFTLCD模块触摸屏(包含松手检测)+蓝牙串口控制模块化程序(通过FSMC驱动,FSMC_NE4接LCD片选/A10接RS)此程序是修改的正点原子例程//电容触摸屏测试函数void ctp_test1(void){ u8 t=0; u8 i=0; u8 l0,l1; // u8 L1_flag=0,L2_flag=0; u16 lastpos[5][2]; //记录最后一次的数据 while(1) { LanYa_ShuJu_XianShi(receiv
2021-08-17 10:36:27
1392
5
原创 解决无法登录路由器管理页面的问题
之前保存了登录路由器的网站,后来修改了ip地址后没有办法登录了,按照百度的教成把ip地址修改成了动态获取,但是依然没有解决。后来尝试直接百度ip,有那种可以查询ip地址的网站,然后复制ip地址后搜索,输入密码,问题解决!...
2021-05-29 16:53:52
277
原创 微信小程序+阿里云+stm32f407的一个项目
**微信小程序+阿里云+stm32f407的一个项目##小程序参考了大神半颗心脏的博客和资料,小程序多个页面推送数据因为自己做小程序是类似商城的一个demo,其中数据需要与单片机进行交互,而且需要再两个页面进行交互,只能把连接阿里云的部分放在app.js中,通过使用 onfire.js 这个东西来实现多个页面实时监听app.js中的数据,代码部分其中小程序联网接阿里云那部分也是参考了那个博主的巧借阿里云物联网平台的免费连接,从微信小程序颜色采集控制 esp8266 输出七彩灯效果这
2021-04-25 19:42:04
1244
1
原创 STMF407探索者开发板+DHT11温湿度传感器+wifi开关+微信小程序显示
STMF407探索者开发板+DHT11温湿度传感器+wifi开关+微信小程序显示刚参加比赛做的一个项目,记录一下关键的地方,免得以后再搞时还得重新找相应资料。WIFI开关是从淘宝买的,店家在B站出了许多教程,他做的这个开关可以在修改完代码后用自己的小程序控制,上链接:WIFI开关淘宝链接WIFI开关买回后要改的地方:还有设备报文也要改,具体报文参考B站视频Esp8266MQTT连接到阿里云Esp8266mqtt向阿里云物联网发布信息用esp866从阿里云上接收数据微信小程序连接阿里云:
2020-11-17 16:12:26
1060
1
原创 微信小程序根据TOPIC区分阿里云物联网下发的数据
最近在做一个物联网竞赛,在微信小程序连接阿里云物联网服务器时由于自己是小白,遇到很多问题,在参考了b站以及csdn教程以后自己收获很多,实现了想要的功能,下面分享一下学习资源:b站教程:微信小程序连接阿里云物联网微信小程序数据绑定阿里云物联网订阅的数据视频中csdn资源:视频教程中的csdn网站资料自己解决的问题:我在阿里云建立了一个虚拟的温湿度设备,自定义了三个topic,但是通过上面的教程只能在小程序中获取数据,却不能将数据区分,苦思良久,最终想到加 “if” 判断来实现区分订阅...
2020-10-10 22:39:20
872
2
ARM c库编译启动以及初始化文档 《startup-code-for-arm-compiler.pdf》
2023-02-15
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人