当前位置: 首页 > news >正文

如何重置树莓派 Pico(重置外围设备失败)

有时候需要重置树莓派 Pico,一种方法是按住 Pico 上的“BOOTSEL”按钮再插入 USB;或者用按钮连接“RUN”和“GND”针脚,然后同时按下这个按钮和“BOOTSEL”按钮。这样就可以进入 USB 模式,这样从一定程度进行了重置。

但是这种方法不一定适用所有情况,一些外围设备可能用这种办法不能重置成功。比如说有时候放入让 LED 闪烁的blink.uf2之后,上面的办法可能有时没有让 LED 不闪了。

如果出现了这种外围设备无法重置的情况,那么就编译一个重置程序放入 Pico 来进行重置。这个重置程序在官方的 pico-examples 中也有这个例子,叫做hello_reset。下面是我将其提炼出来,因为原本是没有单独构建这个二进制执行文件的CMakeLists.txt文件。

首先是hello_reset.c的代码:

#include <stdio.h>
#include "pico/stdlib.h"
#include "hardware/resets.h"/// \tag::hello_reset[]
int main() {stdio_init_all();printf("Hello, reset!\n");// Put the PWM block into resetreset_block(RESETS_RESET_PWM_BITS);// And bring it outunreset_block_wait(RESETS_RESET_PWM_BITS);// Put the PWM and RTC block into resetreset_block(RESETS_RESET_PWM_BITS | RESETS_RESET_RTC_BITS);// Wait for both to come out of resetunreset_block_wait(RESETS_RESET_PWM_BITS | RESETS_RESET_RTC_BITS);return 0;
}
/// \end::hello_reset[]

然后是最重要的CMakeLists.txt,如下:

cmake_minimum_required(VERSION 3.12)include(pico_sdk_import.cmake)project(hello_reset)pico_sdk_init()add_executable(hello_reset 
hello_reset.c
)target_link_libraries(hello_reset pico_stdlib)pico_add_extra_outputs(hello_reset)

此外记得导入pico-sdk中的pico_sdk_import.cmake文件到这个目录下,然后创建空目录build

$ cp $PICO_SDK_PATH/external/pico_sdk_import.cmake .
$ mkdir build
$ cd build

这时就可以进行构建了:

$ cmake ..
$ make -j4

构建完成之后将hello_reset.uf2拖到 USB 模式下的 Pico 就行了。这时候你试一试就会发现 LED 不闪了。

如果你对构建有疑问还请移步我的另外一篇博客:《如何使用Mac终端给树莓派pico构建C/C++程序进行开发,以及遇到各种问题该怎么处理,不使用任何IDE或编辑器(例如VS Code)》

希望能帮到有需要的人~

http://www.lryc.cn/news/124120.html

相关文章:

  • LaWGPT基于中文法律知识的大语言模型_初步安装
  • 一文学会sklearn中的交叉验证方法,cross_validate和KFlod实战案例
  • 《面试1v1》ElasticSearch倒排索引
  • 基于架构的软件开发方法
  • 实战篇之基于二进制思想的用户标签系统(Mysql+SpringBoot)
  • Ansible 进阶
  • 滴滴Ceph分布式存储系统优化之锁优化
  • flutter开发实战-MethodChannel实现flutter与iOS双向通信
  • 华为、阿里巴巴、字节跳动 100+ Python 面试问题总结(七)
  • K8S系列一:概念入门
  • QT- QLineEdite设置自动补全功能,并修改自动补全的样式
  • 解决Adobe Flash Player已被屏蔽
  • 【Spring专题】Spring之Bean的生命周期源码解析——阶段二(IOC之实例化)
  • YOLOv8目标检测算法
  • uniapp条件编译
  • 2023年国赛数学建模思路 - 复盘:光照强度计算的优化模型
  • volte端到端问题分析(一)
  • 微信小程序(原生)搜索功能实现
  • Android AOSP源码编译——AOSP整编(二)
  • 铁是地球科学争论的核心
  • TX Text Control .NET Server for ASP.NET Crack
  • 工作纪实36-ES跨集群迁移
  • 【MFC】11.MFC文档和单文档架构-笔记
  • 2023年“研究生科研素养提升”系列公益讲座在线测评题目与参考答案
  • MySQL8.xx一主两从复制安装与配置
  • 深度学习优化器
  • 由浅入深C系列五:使用libcurl进行基于http get/post模式的C语言交互应用开发
  • 高效实用小工具之Everything
  • 【Unity每日一记】关于物体(敌方)检测—(向量点乘相关)
  • Elasticsearch-查询