自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 ESP32C3 bin合并-生产

打开乐鑫TOOL工具,载入文件、地址 点击生成bin,自动跳出文件夹。选择新文件开始就完成了。恭喜你已经是老师傅了。VSCODE得到的下载地址。

2024-06-26 09:50:11 199

原创 STM32cubeMX配置FreeRTOS-50、bootloader远程升级

点击魔术棒“User” 最后RUN1#打√内容:fromelf --bin -o "$L@L.bin" "#L在OBJ文件夹下。程序增加SCB->VTOR = FLASH_BASE | 0X20000;//FLASH内部重定位向量。地址为0x8000000 Size为:0x40000。地址为0x8020000 Size为:0x20000。一、烧录Bootloader程序。生成Bin / Hex文件。三、远程升级-新程序。

2024-01-16 16:38:47 609 1

原创 17、ble_mesh_fast_prov_快速配网-客户端

4.Az增加应用钥匙esp_ble_mesh_provisioner_add_local_app_key(prov_info.app_key, prov_info.net_idx, prov_info.app_idx);4.9使能快速配网esp_ble_mesh_provisioner_prov_enable(ESP_BLE_MESH_PROV_ADV | ESP_BLE_MESH_PROV_GATT);//ble mesh协议栈初始化。

2023-12-20 19:47:58 433

原创 16、ble_mesh_fast_prov_server快速配网-服务端

4.5注册通用LED服务回调esp_ble_mesh_register_generic_server_callback(example_ble_mesh_generic_server_cb);4.A使能ADV与GATT广播esp_ble_mesh_node_prov_enable(ESP_BLE_MESH_PROV_ADV | ESP_BLE_MESH_PROV_GATT);4.8初始化客户模型esp_ble_mesh_client_model_init(&vnd_models[0]);

2023-12-20 19:27:28 395

原创 15、ble_mesh_sensor_model 客户端 传感器

4.8增加当前应用钥匙esp_ble_mesh_provisioner_add_local_app_key(prov_key.app_key, prov_key.net_idx, prov_key.app_idx);4.7开启ADV和GATT广播esp_ble_mesh_provisioner_prov_enable(ESP_BLE_MESH_PROV_ADV | ESP_BLE_MESH_PROV_GATT);

2023-12-18 20:58:57 433

原创 14、ble_mesh_sensor_model 服务端 传感器

4.3注册传感器回调 esp_ble_mesh_register_sensor_server_callback(example_ble_mesh_sensor_server_cb);4.5开启节点ADV与GATT广播esp_ble_mesh_node_prov_enable(ESP_BLE_MESH_PROV_ADV | ESP_BLE_MESH_PROV_GATT);

2023-12-18 20:39:37 372

原创 13、ble_mesh_vendor_model 客户端,自定义模型

4.9添加应用key/sp_ble_mesh_provisioner_add_local_app_key(prov_key.app_key, prov_key.net_idx, prov_key.app_idx);4.8开启节点使能ADV与GATT广播esp_ble_mesh_node_prov_enable(ESP_BLE_MESH_PROV_ADV | ESP_BLE_MESH_PROV_GATT);//ble mesh协议栈初始化。

2023-12-17 20:39:46 159

原创 12、ble_mesh_vendor_model 服务端,自定义模型

4.4/vendor模型回调 esp_ble_mesh_register_custom_model_callback(example_ble_mesh_custom_model_cb);4.7开启节点使能ADV与GATT广播esp_ble_mesh_node_prov_enable(ESP_BLE_MESH_PROV_ADV | ESP_BLE_MESH_PROV_GATT);

2023-12-17 20:10:49 108

原创 11、ble_mesh_provisioner 配网器

4.8增加当前钥匙esp_ble_mesh_provisioner_add_local_app_key(prov_key.app_key, prov_key.net_idx, prov_key.app_idx);4.7开启ADV和GATT广播esp_ble_mesh_provisioner_prov_enable(ESP_BLE_MESH_PROV_ADV | ESP_BLE_MESH_PROV_GATT);

2023-12-15 21:01:27 94

原创 10、ble_mesh_node服务节点示例

3.2注册服务配置回调esp_ble_mesh_register_config_server_callback(example_ble_mesh_config_server_cb);3.5开启节点广播esp_ble_mesh_node_prov_enable(ESP_BLE_MESH_PROV_ADV | ESP_BLE_MESH_PROV_GATT);bluetooth_init()蓝牙初始化,ble_mesh_get_dev_uuid(dev_uuid)蓝牙组网初始化,

2023-12-14 21:52:22 115

原创 STM32cubeMX配置FreeRTOS-51、USB-U盘读写

2-USB_HOST,Mass Storage Host Class配置为大容量存储设备,调试为3,512个words,即2K字节。3-FATFS,勾选USB Disk,CODE_PAGE设置Latin1改S-C-(DBCS),LFN为----STACK.插上U盘后新建了tast文件内容hello word。5-在main.c文件中 代码0中增加代码。1-选USB-FS,Host_Only。6-在main.c代码3中中增加。4-工程堆栈全为1000。

2023-11-15 21:43:21 333

原创 4、Ai-WB2新建文件夹

一、需要的文件右击---新建NEW---其他Other。二、选择General---Folder。三、选择位置,输入文件夹名称。

2023-08-28 11:27:31 145

原创 3、Ai-WB2消除警告

Ai-WB2入门-安装编译下载

2023-08-26 11:27:23 64

原创 2、Ai-WB2代码函数的跳转设置

设置window设置最下C\C++下-》Editor下->indexer打开索引。

2023-08-26 11:08:41 52

原创 ESP8266_RTOS_SDK (ESP-IDF或ESP32 )添加文件夹

2修改driver同级目录下的component.mk。1-创建driver文件夹,新建h文件与c文件。多个目录后面可以叠加。

2023-08-18 09:52:25 299

原创 ESP8266_RTOS_SDK3.4或IDF编译下载

RTOS_SDK3.4

2023-08-05 10:10:52 193

原创 7、ESP32系列smartconfig飞吻配网

3在STA情况下创建task任务。在GOT_IP时以连接。在disconnect时需要配网。4获取到IP就设置bit,扫描完成,找到信道,得到密码。2注册事件处理函数,设置为STA模式后启动开始。1初始化网络接口,创建事件组。5应答手机完成,并设置位。

2023-07-31 20:55:38 49

原创 6、ESP32-UDP-S服务器

UDP-S工作流程创建app_main()中-> udp_server_task任务->1、socket。3、recvfrom接收解析。4、sendto发送。5、有错误会调用close函数。

2023-07-26 22:56:01 88

原创 5、ESP32-UDP-C客户端

TCP-C工作流程创建app_main()中-> udp_client_task任务->1、socket。2、sendto发送。3、recvfrom接收到有消息判断打印出来。4、有错误会调用close函数。

2023-07-26 22:41:25 69

原创 2、ESP32-STA设备

4、注册2个esp_event_handler_instance_register注册回调事件函数,连接、断开处理。1、运行wifi_init_sta();>esp_netif_init是LWIP协议。2、esp_event_loop_create_default事件函数。3、esp_wifi_init(&cfg)初始化wifi。5、esp_wifi_set_mode设置模式STA。app_main()中->

2023-07-26 20:43:10 43

原创 1、ESP32-AP热点

4、esp_event_handler_instance_register注册回调事件函数,连接、断开处理。1、 运行wifi_init_softap()->esp_netif_init是LWIP协议。2、esp_event_loop_create_default事件函数。3、esp_wifi_init(&cfg)初始化wifi。6、esp_wifi_set_mode设置模式AP。app_main()中->5、配置AP设置名字密码加密模式。

2023-07-26 20:13:58 395

原创 4、ESP32-TCP-S服务器

TCP-C工作流程创建tcp_client_task任务->1、socket。2、bind绑定端口。3、listen侦听连接。4、accept设置。5、do_retransmit(),recv和send。接收后关闭sock。

2023-07-26 19:32:18 84

原创 Free RTOS-9消息队列6队列集合00

/ 创建队列,返回队列的句柄。// 创建队列,返回队列的句柄。// 在队列中发布项目。1, // 任务优先级。4096, // 分配内存。1, // 任务优先级。4096, // 分配内存。(void *)xQueueSet, // 传参数。vTaskCode, // 任务函数。4096, // 分配内存。(void *)QHandle1, // 传参数。

2023-07-26 04:24:50 30

原创 3、ESP32-TCP-C客户端

接收到有消息打印出来,错误就跳出第一个循环,结束soket-后继续重新连接。TCP-C工作流程创建。

2023-07-25 22:03:52 153

原创 1、Ai-WB2入门-安装编译下载

二、1软件-MSYS2并安装git,输入命令:pacman -S git 后回车安装。三、电脑端-1环境变量-高级-点击新建-变量名MSYS2_PATH_TYPE和变量值inherit。4-选择Properties->C/C++Build->取消use的√填写mack。2打开window-> Preferences->MCU->Tools path->粘贴最初安装的路径C:\msys64\usr\bin。四、1-编译器-新建makefile的project文件.WB2包文件选RISC-V.

2023-07-25 20:29:07 258

原创 STM32cubeMX配置FreeRTOS-1RTOS配置

1软件配置2创建任务创建队列Queue创建二值信号量。

2023-07-13 22:09:52 58

原创 STM32cubeMX配置FreeRTOS-1软件配置

5.2工程代码生成设置、1选中间需要什么库文件自己选,编译比较快。8时钟配置选3PLL时钟锁向环,外部时钟8m,红色报错选2分频,选择css自动检查外部晶振有没有坏。9GPIO配置out,1默认高,推完输出,上垃,速度,低速,pwm用高速。1安装java安装cubemx,选择help,管理芯片包倒数2个,下载或者下左从本地安装,7.系统选择,第2 串口烧录,不需要系统唤醒,rtos系统用time1或8,裸机用系统。6.引脚和设置,RCC高速选择晶体和电容选3、低速不用,时钟才用,不使能管脚输出时钟。

2023-07-13 20:48:27 231

原创 Free RTOS-15消息缓冲区2

(void *)tx_buf, // 发送数据-的指针。xBytesSent = xMessageBufferSend(MessageBufferHandle, // 发送数据句柄。(void *)rx_buf, // 发送数据-的指针。xTaskCreate(vTaskCode0, // 任务函数。4096, // 分配内存。void vTaskCode0(void *pvParam) // 任务。void vTaskCode1(void *pvParam) // 任务。

2023-07-04 21:18:25 91

原创 Free RTOS-15消息缓冲区1

(void *)tx_buf, // 发送数据-的指针。xBytesSent = xMessageBufferSend(MessageBufferHandle, // 发送数据句柄。(void *)rx_buf, // 发送数据-的指针。xTaskCreate(vTaskCode0, // 任务函数。4096, // 分配内存。void vTaskCode0(void *pvParam) // 任务。void vTaskCode1(void *pvParam) // 任务。

2023-07-04 21:05:43 115

原创 Free RTOS-14流缓冲区2查看缓冲区空间

(void *)tx_buf, // 发送数据-的指针。(void *)rx_buf, // 发送数据-的指针。3, // 任务优先级。xTaskCreate(vTaskCode0, // 任务函数。4096, // 分配内存。void vTaskCode0(void *pvParam) // 任务。void vTaskCode1(void *pvParam) // 任务。void vTaskCode2(void *pvParam) // 任务。

2023-07-04 20:41:26 173

原创 Free RTOS-14流缓冲区1

(void *)tx_buf, // 发送数据-的指针。xBytesSent = xStreamBufferSend(StreamBufferHandle, // 发送数据句柄。(void *)rx_buf, // 发送数据-的指针。xTaskCreate(vTaskCode0, // 任务函数。4096, // 分配内存。void vTaskCode0(void *pvParam) // 任务。void vTaskCode1(void *pvParam) // 任务。

2023-07-04 20:18:35 124

原创 Free RTOS-13任务通知2通知值-进入不同状态

ulNotifiedValue, // 传出 RTOS 任务的通知值。0x01, // 更新目标任务的通知值。xTaskNotify(xTask1, // 任务的句柄。void vTaskCode0(void *pvParam) // 任务。void vTaskCode1(void *pvParam) // 任务。3, // 任务优先级。xTaskCreate(vTaskCode0, // 任务函数。

2023-07-04 07:12:15 30

原创 Free RTOS-13任务通知1消息同步-任务集合

/ 阻塞一个任务-等待通知。void vTaskCode0(void *pvParam) // 任务。void vTaskCode1(void *pvParam) // 任务。3, // 任务优先级。xTaskCreate(vTaskCode0, // 任务函数。4096, // 分配内存。NULL, // 传参数。"task1", // 名字。

2023-07-04 06:31:18 30

原创 Free RTOS-12事件组2标志位阻塞自己-同步事件-任务集合

ALL_SYNC_BITS, // 要等待的位-满足就解除阻塞。ALL_SYNC_BITS, // 要等待的位-满足就解除阻塞。ALL_SYNC_BITS, // 要等待的位-满足就解除阻塞。TASK_0_BIT, // 阻塞点准备好-等待状态。TASK_1_BIT, // 阻塞点准备好-等待状态。TASK_2_BIT, // 阻塞点准备好-等待状态。xEventGroupSync(xEventBits, // 事件句柄。4096, // 分配内存。

2023-07-03 22:04:52 36

原创 Free RTOS-12事件组1标志位等待运行

xCreatedEventGroup, // 创建好的事件组。BIT_0 | BIT_4, // 指定事件组的位。2, // 任务优先级。xTaskCreate(vTaskCode1, // 任务函数。4096, // 分配内存。NULL, // 传参数。"task1", // 名字。void vTaskCode1(void *pvParam) // 任务。void vTaskCode2(void *pvParam) // 任务。

2023-07-03 20:49:07 42

原创 Free RTOS-11信号量4递归互斥量

/ 互斥锁和二进制信号量都由 SemaphoreHandle_t 类型的变量引用。// 创建一个递归互斥锁。和裸机 的运行差不多。void vTaskCode1(void *pvParam) // 任务。void vTaskCode2(void *pvParam) // 任务。2, // 任务优先级。xTaskCreate(vTaskCode1, // 任务函数。4096, // 分配内存。NULL, // 传参数。"task1", // 名字。

2023-07-03 20:05:55 34

原创 Free RTOS-11信号量3递归互斥锁

/计数型,最大5,初始5。void vTaskCode1(void *pvParam)//任务。void vTaskCode2(void *pvParam)//任务。void vTaskCode(void *pvParam)//任务。4096, // 分配内存。"task", // 名字。

2023-07-02 19:07:26 81

原创 Free RTOS-11信号量2计数信号量

/计数型,最大5,初始5。//必须先用这个释放。void vTaskCode1(void *pvParam)//任务。void vTaskCode(void *pvParam)//任务。vTaskCode1, // 任务函数。vTaskCode, // 任务函数。4096, // 分配内存。"task1", // 名字。4096, // 分配内存。"task", // 名字。NULL, // 传参数。NULL, // 传参数。1, // 任务优先级。1, // 任务优先级。

2023-07-02 18:20:55 31

原创 Free RTOS-11信号量1位信号量锁

/互斥锁和二进制信号量都由 SemaphoreHandle_t 类型的变量引用。void vTaskCode1(void *pvParam)//任务。void vTaskCode(void *pvParam)//任务。vTaskCode1, // 任务函数。vTaskCode, // 任务函数。1024, // 分配内存。"task1", // 名字。1024, // 分配内存。"task", // 名字。NULL, // 传参数。NULL, // 传参数。

2023-07-02 17:31:54 60

原创 Free RTOS-10软件定时器4改变时间-让灯闪快或慢

xtimer1 = xTimerCreate( // 创建软件定时器。xtimer2 = xTimerCreate( // 创建软件定时器。// 软件定时器开始。"xTimer1", // 名字。pdMS_TO_TICKS(1000), // 毫秒。pdTRUE, // 一次。"xTimer2", // 名字。pdMS_TO_TICKS(2000), // 毫秒。pdTRUE, // 一次。

2023-06-30 21:25:28 74

STM32cubeMX配置FreeRTOS-51、USB-U盘读写

STM32cubeMX配置FreeRTOS-51、USB-U盘读写

2023-11-15

STM32cubeMX配置FreeRTOS-50、USB

文档

2023-11-15

ESP8266-RTOS-SDK3.4或IDF编译下载

8266IDF3.4

2023-08-05

空空如也

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

TA关注的人

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