Main程序

循环向UART串口打印 Hello World程序如下:

#include <stdio.h>
#include "pico/stdlib.h"int main() {stdio_init_all();while (true) {printf("Hello, world!\n");sleep_ms(1000);}
}

默认PICO stdio是 输出到UART0,也就是 PIN 1、PIN 2

为了使用 USB 作为串口,我们需要在Cmake文件中添加

  • pico_enable_stdio_usb(helloworld 1) 标注输入输出 启用USB串口
  • pico_enable_stdio_uart(helloworld 0) 标注输入输出 关闭UART

CMakelists.txt 如下:

cmake_minimum_required(VERSION 3.21)include(pico_sdk_import.cmake)
project(picoexp C CXX ASM)set(CMAKE_C_STANDARD 11)pico_sdk_init()add_executable(helloworld main.c)
target_link_libraries(helloworld pico_stdlib)pico_enable_stdio_usb(helloworld 1)
pico_enable_stdio_uart(helloworld 0)pico_add_extra_outputs(helloworld)

启用TinyUSB

官方提供 pico-sdk 中并不含USB 串口实现,因此我们在Cmake Reload时候,会出现如下警告提示

编译后程序虽然能够运行,但是串口无任何输出。

我们需要手动下载 tinyusb到我们 pico-sdk 内。

  • 下载 tinyusb: https://github.com/hathach/tinyusb


下载后解压文件,并将tinyusb目录中的文件复制到 pico-sdk/lib/tinyusb 目录下,如下所示:


重新加载Cmake警告消失。

编译程序,并复制到Pico中。

查看输出

设备程序更新并连接后。

打开设备管理器,查看设备串口号。

我这里插上PICO之后出现了 COM4 的串口。

使用 putty 配置并连接串口,默认PICO的波特率为 115200


可以看到1s打印一次的 hello world字样

参考文献

[1]. github. raspberrypi . pico-examples . https://github.com/raspberrypi/pico-examples
[2]. raspberrypi . getting-started-with-pico . https://datasheets.raspberrypi.com/pico/getting-started-with-pico.pdf
[3]. csdn . micropython做中继_【树莓派Pico测评】- USB CDC串口通信(BSP编译,非MicroPython) . 顾不若 . 2021.02 . https://blog.csdn.net/weixin_42445810/article/details/113903206
[4]. csdn . 树莓派(Raspberry Pi) Pico usb输出(Hello World!) . RayJinStudio . 2021.3 . https://blog.csdn.net/RayJinStudio/article/details/114394975

树莓派 Pico Pi USB串口通信相关推荐

  1. 树莓派串口通信 USB串口通信 常用串口命令

    树莓派串口通信 USB串口通信 文章目录 树莓派串口通信 USB串口通信 准备 发送数据 接收数据 如果不知道树莓派怎么使用USB串口通信的,欢迎浏览我的另一篇博客文章: 树莓派使用USB串口通信 C ...

  2. 串口通信协议(基于面试),与及树莓派与电脑之间串口通信

    一.首先来说一下基于面试的串口通信协议 树莓派wiringPi库详解 (1)串口通信是基于多机的通信 主要就是两根线:RXD和TXD 举例,语音识别模块与树莓派之间进行串口通信 语音模块的T连接树莓派 ...

  3. 树莓派外设开发基础—串口通信

    文章目录 一.串口通信的一些概念 二.树莓派串口通信设置 三.树莓派串口通信API 四.树莓派与PC通信 1.接线 2.程序与测试 拓展 一.串口通信的一些概念 串口通信通常用在多机通信中. 串口通信 ...

  4. python做上位机读usb数据_使用python实现win10系统和arduino usb串口通信

    前言 arduino有很多可以直接使用的传感器,可以很方便的获取大量的环境数据. 常见的有:温度(室温,冰箱,水箱等场景) 湿度(房间空气湿度,花盆土壤湿度等场景) 声(声控灯,噪音检测,深海测量,医 ...

  5. Android USB 串口通信

    公司要求安卓PAD对接一台Windows的设备,实现双向数据传输. 是通过Windows设备的一根数据线进行数据传输的,涉及到的技术就是USB转串口通信,网上讲原理的一大堆,我就不讲了,直接上demo ...

  6. 树莓派和电脑之间串口通信编程

    目录 一.串口通信协议 1.先了解下全双工和半双工的区别 2.串口通信关注点 二.树莓派和电脑之间串口通信编程 1.初次使用树莓派串口编程,需要配置 2.串口通信相关的API (1)serialOpe ...

  7. 树莓派3b接收USB串口数据并解析处理

    通过树莓派3b使用wiringPi接收串口数据,并对帧头帧尾进行判断,解析出符合帧协议的数据. 1. 帧头.帧尾.帧长度定义 我们在这里定义串口数据的帧头为 0x3A 0x3B,帧尾为 0x7E 0x ...

  8. 32、树莓派的简单测试串口通信和超声波模块测距

    基本思想:随手记录一下众灵科技树莓派的测试串口通信和超声波模块,其镜像还是很nice,基本的库都给你安装了,比较大 链接:https://pan.baidu.com/s/11tMdoRh3bHmcYz ...

  9. 树莓派和arduino的串口通信

    一. 树莓派环境安装 1. 安装GPIO模块 wget https://sourceforge.net/projects/raspberry-gpio-python/files/RPi.GPIO-0. ...

  10. java 连接 usb串口_树莓派 3 java usb串口通讯485

    0 参考链接 https://blog.csdn.net/qq_43725844/article/details/97682424 https://blog.csdn.net/fhqlongteng/ ...

最新文章

  1. Windows Powershell的一些常规操作命令
  2. mysql_close6_关于mysql_close()函数的10篇文章推荐
  3. springboot用户管理系统_Springboot优秀开源项目
  4. 青岛经济职业学校有计算机专业吗,青岛经济职业学校
  5. 双十一图书大数据:金庸第1,Python第2,学霸们都买了这些书
  6. Apache2.4.1编译安装报错解决
  7. OCR 工具tesseract初体验
  8. hadoop 主要配置文件
  9. mysql查询各科成绩前三名_No.03 数据库经典面试之如何取出每科成绩的前三名
  10. 锁定计算机好在下游戏吗,用windows7系统锁定计算机防止孩子沉迷游戏
  11. 对于程序员头发的认识
  12. 深度强化学习-策略梯度算法深入理解
  13. 【路径规划】基于遗传算法求解多式联运运输问题matlab源码
  14. 736. Lisp 语法解析 : DFS 模拟题
  15. (一)数据后端之逻辑综合
  16. php 获取搜狗微信 sn,记搜狗微信号搜索反爬虫
  17. 超经典机械制图基础常识
  18. 2017 icpc beijing J - Pangu and Stones
  19. OneNote插件找不到选项卡的解决
  20. [学]PHP爬虫框架phpspider

热门文章

  1. 3V转1.8V三极管稳压IC
  2. RTSP、RTMP、HTTP流媒体播放器比较
  3. 女生更多!统计局:2019年高等教育在校生中女研究生占比过半
  4. 三星S5P6818移植工程
  5. 女性意识觉醒,内衣是为了舒适还是性感?
  6. openGauss 训练营第三期结营啦!PPT 85个FAQ大放送!文末附51位结营学员名单
  7. python中文分词器(jieba类库)
  8. 【Linux集群教程】11 集群监控 - Zabbix 搭建
  9. windows10强制删除文件_Windows10中恶意软件删除
  10. 将两个字符串连接起来,不要用strcat函数