轻松玩转树莓派Pico之二、创建自己的pico工程项目

树莓派65/100 - Pico W初体验,点亮板载的LED灯 有一段时间没有折腾树莓派Pico,最近发现它又出新品了,树莓派Pico W,可以通过WIFI连接互联网了。Pico W的产品小册子可以。介绍了Pico 和 Pico W的区别。可以看到Pico中的树莓Logo处安装了一个大大的WIFI芯片(CYW43439),官方称提供 2.4GHz 802.11 b/g/n 无线连接,板子里已经集成了天线。我从某多平台上花62元买了一支,首先从点亮板上的LED灯开始。 阅读详情

新手上路一文中我们编译的应用是官方提供的example,官方一次性将所有的example全部编译出来了。

那我们自己应该如何来创建自己的工程项目呢?getting-started-with-pico.pdf文档“Chapter 8. Creating your own Project”中详细介绍了相关流程。本文按照该流程完成项目创建,并成功完成从串口输出“Hello world!”

1、创建项目目录,如pico_user_project

2、创建源文件hello_world.c并编辑输入:

#include <stdio.h>
#include "pico/stdlib.h"

int main()
{
    setup_default_uart();
    while(1) {
        printf("Hello World!\r\n");
        sleep_ms(1000);
    }
    return 0;
}

3、从pico-sdk/external目录下复制pico_sdk_import.cmake文件至pico_user_project根目录下

4、创建CMakeLists.txt文件并编辑输入:

cmake_minimum_required(VERSION 3.13)

include(pico_sdk_import.cmake)

project(hello_world C CXX ASM)

set(CMAKE_C_STANDARD 11)
set(CMAKE_CXX_STANDARD 17)

pico_sdk_init()

add_executable(hello_world
    hello_world.c
)

pico_add_extra_outputs(hello_world)
target_link_libraries(hello_world pico_stdlib)

5、按照新手上路一文,在命令行中依次输入:

  1. 设置PICO_SDK_PATH:export PICO_SDK_PATH=/home/share/samba/pico/pico-sdk
  2. 生成Makefile文件:mkdir build && cd build && cmake ..
  3. 编译:make

一切正常的话,会在build目录下生成hello_world.uf2文件,按照新手上路一文对应步骤,将该文件下载到Pico中, 在UART0上每隔1000ms输出一串“Hello World!”

 UART0默认管脚分布如下:

UART0_TX

GP0,Pin1

UART0_RX

GP1,Pin2

GND

Pin3

7、CMakeLists.txt文件pico相关解析:

include(pico_sdk_import.cmake)                #导入pico_sdk_import.cmake
pico_sdk_init()                               #定义在pico_sdk_import.cmake中的宏,等同于add_subdirectory(${PICO_SDK_PATH} pico-sdk)   
pico_add_extra_outputs(hello_world)           #用于生成uf2文件,否则只会生成elf文件

树莓派pico超详细版入门:连接电脑与文件传输 手把手教你如何将树莓派pico连接到电脑,实现程序上传与文件传输,轻松迈出树莓派pico开发第一步,适合零基础新手快速上手。 阅读详情

相关推荐

轻松玩转树莓派Pico之五、FreeRTOS多任务实战

本文详细介绍了如何在树莓派Pico上运行FreeRTOS实现多任务处理,包括环境搭建、项目创建、多任务程序实战及进阶管理技巧。通过FreeRTOS的轻量级实时操作系统特性,开发者可以在树莓派Pico上高效实现多任务并行、精确时序控制和系统可维护性,适用于嵌入式开发的各种场景。

weixin_26800111的博客 370

UF2文件格式

UF2是一种新的二进制文件格式,由Microsoft为PXT (也称为Microsoft MakeCode)开发,可以通过MSC(Mass Storage Class,也称为可移动闪存驱动器)方式更新程序。与DAPlink类似,UF2也提供了CDC串行接口,可以方便的和主机通信与调试程序。 总览 UF2文件包含512个字节的块,每个块都是独立的,并且彼此独立。每个512字节块包括(请参阅下面的详...

IThaozi 1万+

生成uf2文件时 带校验的方式 如何写命令

生成uf2文件时 带校验的方式 如何写命令

嵌入式软硬件叶玄 356

使用树莓派PICO点灯

树莓派是使用基于RP2040芯片的树莓派微控制器开发板,使用双核Arm Cortex-M0+@133Mhz,芯片内置264KB SRAM 和2MB的板载内存,支持U2的USB大容量存储启动模式,用于拖放式编程,并支持MicroPython编程,此文章使用ThonnyMicroPython进行电灯。使用Thonny配合MicroPython进行编程对于新手使用入门树莓派PICO是非常简单的,后续也会更新其他模块的驱动方式,有对树莓派PICO和MicroPython感兴趣的小伙伴们可以点击关注哦!

优信电子的博客 3248

uf2-stm32f.zip

stm32f4 版本 uf2 bootloader,bin 文件 UF2 is a file format, developed by Microsoft for PXT (also known as Microsoft MakeCode), that is particularly suitable for flashing microcontrollers over MSC (Mass Storage Class; aka removable flash drive).

CPU进程调度算法【FCFS、SJF、优先级、RR、多级队列、多级反馈队列调度】

目录 一、先到先服务调度: 二、最短作业优先调度: 三、优先级调度: 四、轮转调度: 五、多级队列调度: 六、多级反馈队列调度: CPU调度算法处理的问题是:从就绪队列中选择进程以便为其分配CPU。 一、先到先服务调度: First Come,First Served(FCFS) 定义:先请求CPU的进程首先分配到CPU。FCFS策略可以通过FIFO队列轻松实现。 护航效果:其他所有进程会等待一个大进程释放CPU 非抢占式:一旦CPU分配给了一个进程,该进程就会使用CPU知道释.

马小超 3917

轻松玩转树莓派Pico之一、新手上路

树莓派-Pico是树莓派基金会推出的第一款微控制器领域的树莓派低成本开发板,售价仅为4美元,它包括RP2040、2MB闪存和一个支持1.8-5.5V输入电压的电源芯片。RP2040是树莓派开发的全新芯片。

燕十三的物联网之旅 5073

Flocking for Multi-Agent Dynamic Systems: Algorithms and Theory的理论简述和python仿真实现(附源码)

经典论文Flocking for Multi-Agent Dynamic Systems: Algorithms and Theory的学习与编程仿真,提供源码

m0_59701926的博客 1231

轻松玩转树莓派Pico之五、FreeRTOS体验

树莓派Pico开发板片上主芯片为RP2040单片机,双核 Arm Cortex-M0 + 处理器,工作主频为133MHz,264K片上SRAM,和2MByteFlash。Pico开发板上芯片为RP2040,Cortex-M0双核,当前只使用单核,使用portable/GCC/ARM_CM0下的适配文件。3、在FreeRTOS目录下下新增CMakeLists.txt,不使用FreeRTOS自带的CMake脚本。下载完成后,可看到项目目录下会出现FreeRTOS/FreeRTOS-Kernel两级目录。

燕十三的物联网之旅 5521

c764-基于Vue的实时温湿度监控系统

🌟 毕业设计指导交流 🌟 同学们好!作为一名计算机专业的技术爱好者,我在毕业设计领域积累了一些经验,希望能和大家分享交流。从选题到答辩,欢迎一起探讨技术问题。💡 技术方向: 熟悉Java全栈(SSM/Spring Boot)、Python数据分析、微信小程序/安卓开发等技术栈,可以互相学习项目开发经验。📂 学习资源: 整理了一些开源项目案例(含代码和文档),需要参考的同学可以留言讨论,也欢迎分享你的项目经验。🛠 交流内容:✨ 欢迎在评论区留言讨论,一起进步!记得遵守社区规范,保持学术

weixin_39513710的博客 1065

从零构建XVC协议栈:FPGA+W5300的跨界调试架构实战

本文详细介绍了如何从零构建XVC协议栈,通过FPGA与W5300以太网控制器的创新组合实现跨界调试架构。重点解析了JTAG时序逆向、TCP/IP协议栈集成与XVC协议实现,提供了硬件设计优化和性能加速技术,为嵌入式开发者和FPGA工程师提供实用的远程调试解决方案。

raspberrypi5的博客 239

轻松玩转树莓派Pico之六、pico-project-generator使用

pico-project-generator是树莓派官方出的Pico C SDK 项目的自动生成工具,该工具可以通过配置,自动生成编译所需的CMake文件、example文件、VSCodeIDE配置文件等。之前几个项目,都是通过copy老项目的CMakeLists.txt方式来编译项目,今天来体验一下树莓派官方提供的工具pico-project-generator。配置完成后点击OK,工具自动会运行,如果没有配置PICO_SDK_PATH和toolchain环境变量会报错。Location:项目存储位置。

燕十三的物联网之旅 2641

Android Audio录音——AudioRecord回声消除(九)

在语音通话或录音场景中,回声(Acoustic Echo)通常是指说话的声音从对方的扬声器播放出来,又被对方的麦克风拾取,然后有被传回来,导致我们听到了自己延迟了一段时间的重复声音。

小旭的专栏 1389

轻松玩转树莓派Pico之九、RP2040-SMP自定义工程创建

[toc]## 1、工程创建运行完 FreeRTOS-SMP-Demos 后,我们对 SMP 运行有了一定的了解,接下来我们自己创建工程编译运行。测试是否可以正常编译。

燕十三的物联网之旅 1136

58.Sobel边缘检测算子

注:在梯度运算中,很可能会出现负的灰度值,我们不能再采用uint8类型作为像素的数据类型,而是采用了CV_16S或者CV_32F这种有负数范围的类型,运算结果里的负数也不能不处理,否则在显示的时候就会被截断为0,这样就会丢失边界信息。如下图所示,对中心像素Z5求取多个方向的灰度差分,对于Z5的8邻域,分为4个方向,即对角线和水平垂直4个方向对:(z1, z9) ,(z2, z8), (z3, z7), (z6, z4) 给定邻域方向梯度矢量g的幅度为:|g| = <像素灰度差分>/<相邻像素的距离>。

twnkie的博客 4881

ROS & ROS2 机器人深度相机激光雷达多传感器标定工具箱

不过,多传感器标定工具箱允许通过编辑 yaml 文件来调整标定目标的参数: <repository>/mutlisensor_calibration/cfg/TargetWithCirclesAndAruco.yaml%YAML:1.0rows: 4cols: 1dt: irows: 4cols: 2dt: frows: 1cols: 12dt: fCAD 模型网格/云通过 GICP 将模型数据与分割点云对齐,用于优化检测到的目标姿态。

2506_90492529的博客 2105

C++玩转物联网:认识树莓派Pico

树莓派Pico主板是一款面向初学者的强大工具,通过简单的设置和丰富的接口支持,Pico让编程和电子项目变得更加容易和有趣。希望这篇文章能够帮助您更好地了解树莓派Pico的基本功能和应用潜力。如果您是一位C++初学者,结合物联网学习C++是一个不错的选择,欢迎关注并分享这篇文章,让更多人更好的学好c++编程!

邓校长的编程课堂专栏 2223

JavaFx 教程

JavaFx 教程

2012年开始工作,全栈开发老兵,目前已是一个老师,分享这么多年的心得体会 778

轻松玩转树莓派Pico之八、RP2040 双核应用

该项目编译后,会生成 main_blinky 和 main_full 两个可执行文件,分别对应 vLaunch() 下的宏 mainCREATE_SIMPLE_BLINKY_DEMO_ONLY 控制的两个函数。FreeRTOS SMP 相关的代码,目前是以分支形式在 FreeRTOS-Kernel 仓库里面的。可以通过 FreeRTOS 提供的 SMP 专有的 API 设置在创建任务时候设置对应任务运行在哪个核。编译完成后,会在 2 个 demo 下各自自动生成 2 个可执行文件。显示当前任务运行核。

燕十三的物联网之旅 3142

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

轻松玩转树莓派Pico之七、让Pico跑个分

CoreMark是一个综合基准,用于测量嵌入式系统中使用的中央处理器(CPU)的性能。代码用C编写,包含以下算法:列表处理(增删改查和排序)、矩阵操作(公共矩阵操作)、状态机(确定输入流是否包含有效数字)和CRC(Cyclic redundancy check 循环冗余校验) 。目前 CoreMark已迅速成为测量与比较处理器性能的业界基准测试。

燕十三的物联网之旅 2242

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

【树莓派 Pico 基于MicroPython编程Thonny开发】

是具有部分原生代码编译功能的 Python 解释器。MicroPython 实现了 Python 3.4 和Python 3.5及更高版本的一些精选功能,用于嵌入式处理器和受限系统。它与 CPython 不同,您可以在此处阅读有关差异的更多信息。是 Python 3编程语言的精简高效实现,其中包括 Python 标准库的一小部分,并且经过优化,可在微控制器和受限环境中运行。

vor234的博客 4504

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

轻松玩转树莓派Pico之四、Ubuntu下在线debug环境搭建

按照前文一文中的Pico固件更新方式(uf2文件格式),在正式开发过程中需要不断修改代码/更新固件,这种固件更新方式会感觉开发效率有些低。Pico开发板芯片为RP2040,ARM-Cortex-M0架构,官方开发板上留有SWD接口,那是不是可以在线debug呢?答案是肯定的。中有详细相关流程介绍。官方文档中提供了2种在线debug方式:方式1:树莓派作为主机,同时也作为openocd的仿真器,对Pico开发板进行固定烧录、在线debug。

燕十三的物联网之旅 4021

C++编程&玩转物联网:用树莓派Pico点亮RGB彩灯世界

RGB LED彩灯由红(Red)、绿(Green)、蓝(Blue)三种基本颜色组成,通过调整每种颜色的亮度比例,我们可以混合出数百万种颜色。在本项目中,我们将使用树莓派Pico的PWM功能来动态控制RGB LED的颜色变化,并让它随机显示不同的颜色。树莓派Pico的PWM引脚可以通过输出不同占空比的信号,控制RGB LED的亮度。代码上传后,通电运行,RGB LED会每隔1秒显示一种随机颜色,颜色不断变化,展现出丰富的视觉效果。替换随机颜色生成逻辑,设置预定义的颜色列表,例如红、绿、蓝、紫、青、黄。

邓校长的编程课堂专栏 1799

使用树莓派Pico制作小风扇:从硬件到代码的完整实现

随着温度的升高,电风扇成为我们降温的必备工具。本项目的目标是使用树莓派Pico微控制器,配合130电机模块和小型扇叶,制作一个简单的小风扇。通过编程控制风扇的旋转方向、速度和停止时间,实现一个自动化的电风扇。本项目通过使用树莓派Pico控制130电机模块和小型扇叶,成功制作了一个简单的小风扇。通过编程控制电机的旋转方向,风扇可以在顺时针和逆时针之间切换,并在每次旋转后停止一段时间。该项目展示了如何结合嵌入式开发和硬件控制来实现一个自动化的小型电风扇。项目扩展:温控风扇。

邓校长的编程课堂专栏 1666

用树莓派PICO打造免费逻辑分析仪与示波器:Sigrok-Pico完整指南

还在为昂贵的逻辑分析仪发愁吗?今天我要介绍一个超实用的开源项目——**Sigrok-Pico**,它能让你用廉价的树莓派PICO(RP2040芯片)打造出一个专业的逻辑分析仪和示波器!🚀 这个项目完全免费,功能强大,特别适合电子爱好者、学生和嵌入式开发者。 ## 什么是Sigrok-Pico?🤔 **Sigrok-Pico**是一个创新的开源项目,它将普通的树莓派PICO开发板变成了功能齐

gitblog_00945的博客 647

树莓派Pico小记

尝试做点小东西,但是树莓派有点贵,所以选择树莓派Pico,一块才30,折腾坏了也不心疼。

SlowFeather's blog 1017
上一篇: 吃灰树莓派应用之HomeAssistant安装与Tuya插件应用
下一篇: 轻松玩转树莓派Pico之三、Windows+Ubuntu虚拟机模式下VSCode C语言开发环境搭建
杭州_燕十三
博客等级 码龄20年 861粉丝 101原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值