树莓派 Pico Pi USB串口通信
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串口通信相关推荐
- 树莓派串口通信 USB串口通信 常用串口命令
树莓派串口通信 USB串口通信 文章目录 树莓派串口通信 USB串口通信 准备 发送数据 接收数据 如果不知道树莓派怎么使用USB串口通信的,欢迎浏览我的另一篇博客文章: 树莓派使用USB串口通信 C ...
- 串口通信协议(基于面试),与及树莓派与电脑之间串口通信
一.首先来说一下基于面试的串口通信协议 树莓派wiringPi库详解 (1)串口通信是基于多机的通信 主要就是两根线:RXD和TXD 举例,语音识别模块与树莓派之间进行串口通信 语音模块的T连接树莓派 ...
- 树莓派外设开发基础—串口通信
文章目录 一.串口通信的一些概念 二.树莓派串口通信设置 三.树莓派串口通信API 四.树莓派与PC通信 1.接线 2.程序与测试 拓展 一.串口通信的一些概念 串口通信通常用在多机通信中. 串口通信 ...
- python做上位机读usb数据_使用python实现win10系统和arduino usb串口通信
前言 arduino有很多可以直接使用的传感器,可以很方便的获取大量的环境数据. 常见的有:温度(室温,冰箱,水箱等场景) 湿度(房间空气湿度,花盆土壤湿度等场景) 声(声控灯,噪音检测,深海测量,医 ...
- Android USB 串口通信
公司要求安卓PAD对接一台Windows的设备,实现双向数据传输. 是通过Windows设备的一根数据线进行数据传输的,涉及到的技术就是USB转串口通信,网上讲原理的一大堆,我就不讲了,直接上demo ...
- 树莓派和电脑之间串口通信编程
目录 一.串口通信协议 1.先了解下全双工和半双工的区别 2.串口通信关注点 二.树莓派和电脑之间串口通信编程 1.初次使用树莓派串口编程,需要配置 2.串口通信相关的API (1)serialOpe ...
- 树莓派3b接收USB串口数据并解析处理
通过树莓派3b使用wiringPi接收串口数据,并对帧头帧尾进行判断,解析出符合帧协议的数据. 1. 帧头.帧尾.帧长度定义 我们在这里定义串口数据的帧头为 0x3A 0x3B,帧尾为 0x7E 0x ...
- 32、树莓派的简单测试串口通信和超声波模块测距
基本思想:随手记录一下众灵科技树莓派的测试串口通信和超声波模块,其镜像还是很nice,基本的库都给你安装了,比较大 链接:https://pan.baidu.com/s/11tMdoRh3bHmcYz ...
- 树莓派和arduino的串口通信
一. 树莓派环境安装 1. 安装GPIO模块 wget https://sourceforge.net/projects/raspberry-gpio-python/files/RPi.GPIO-0. ...
- java 连接 usb串口_树莓派 3 java usb串口通讯485
0 参考链接 https://blog.csdn.net/qq_43725844/article/details/97682424 https://blog.csdn.net/fhqlongteng/ ...
最新文章
- Windows Powershell的一些常规操作命令
- mysql_close6_关于mysql_close()函数的10篇文章推荐
- springboot用户管理系统_Springboot优秀开源项目
- 青岛经济职业学校有计算机专业吗,青岛经济职业学校
- 双十一图书大数据:金庸第1,Python第2,学霸们都买了这些书
- Apache2.4.1编译安装报错解决
- OCR 工具tesseract初体验
- hadoop 主要配置文件
- mysql查询各科成绩前三名_No.03 数据库经典面试之如何取出每科成绩的前三名
- 锁定计算机好在下游戏吗,用windows7系统锁定计算机防止孩子沉迷游戏
- 对于程序员头发的认识
- 深度强化学习-策略梯度算法深入理解
- 【路径规划】基于遗传算法求解多式联运运输问题matlab源码
- 736. Lisp 语法解析 : DFS 模拟题
- (一)数据后端之逻辑综合
- php 获取搜狗微信 sn,记搜狗微信号搜索反爬虫
- 超经典机械制图基础常识
- 2017 icpc beijing J - Pangu and Stones
- OneNote插件找不到选项卡的解决
- [学]PHP爬虫框架phpspider