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

网站建设空间大小app开发公司启动资金有哪些

网站建设空间大小,app开发公司启动资金有哪些,石狮网站建设制作,微信电影网站怎么做的前言 使用树莓派 Pico 的 PIO 模块时,我们经常会接触到两个特殊的寄存器:OSR(Output Shift Register) 和 ISR(Input Shift Register)。它们是数据在 Python 层和 PIO 程序之间交互的桥梁。 这一篇我们就带大…

前言

       使用树莓派 Pico 的 PIO 模块时,我们经常会接触到两个特殊的寄存器:OSR(Output Shift Register) 和 ISR(Input Shift Register)。它们是数据在 Python 层和 PIO 程序之间交互的桥梁。

       这一篇我们就带大家全面了解 OSR 与 ISR 的用途、区别、典型应用场景,并配合代码实战讲清楚背后的机制。

OSR & ISR 是什么?

       PIO 是一个指令极少、资源有限的小型状态机,它没有常规意义上的 RAM 或寄存器堆。为了收发数据,它使用两个特别的寄存器:

寄存器

全称

用途

OSR

Output Shift Register

主程序(Python)→ PIO  -----发数据!

ISR

Input Shift Register

PIO → 主程序(Python)-----收数据!

OSR:发送数据到 PIO 的桥梁

数据流方向

Python → FIFO → OSR → PIO 程序

常用指令

  • pull(): 从 FIFO 中拉一条数据进 OSR。

  • mov(pins, osr): 将 OSR 中的数据移动到 GPIO 引脚输出。

  • mov(x, osr):将 OSR 的值写入 X 寄存器等。

示例代码

@asm_pio(out_init=rp2.PIO.OUT_LOW, out_shiftdir=rp2.PIO.SHIFT_LEFT, autopull=True)
def push_out():mov(pins, osr)  # 把 OSR 的值直接输出到引脚
  • autopull=True 表示 OSR 消耗完就自动从 FIFO 拉数据;

  • 你可以在 Python 中用 sm.put(0xAA) 推送数据给 PIO。

ISR:从 PIO 接收数据的管道

数据流方向

PIO 程序 → ISR → FIFO → Python

常用指令

  • in(pins, 1): 从某个 GPIO 引脚读取 1 bit 到 ISR。

  • push(): 将 ISR 的值推送到 FIFO,让 Python 层读取。

  • mov(isr, x): 将寄存器值手动放入 ISR。

示例代码

@asm_pio(in_shiftdir=rp2.PIO.SHIFT_LEFT, autopush=True, push_thresh=8)
def pull_in():in_(pins, 1)   # 每次读取1位,累积到 ISR
  • autopush=True:当 ISR 累积够 push_thresh(如8位)后,自动推送到 FIFO;

  • Python 端可用 sm.get() 获取数据。

OSR & ISR的应用场景

场景

使用寄存器

说明

串口发送

OSR + mov(pins, osr)

把要发的字节写入 OSR,逐位输出

串口接收

ISR + in(pins, 1) + push()

将输入逐位移入 ISR,达到位数后推送

多值缓存

ISR + mov(isr, x)

临时在 ISR 中存多位数据再发送

控制输出模式

OSR + jmp(pin, label)

用 OSR 控制逻辑流转

Python 与 OSR/ISR 的桥梁:FIFO

  • 每个状态机都有两个 4 项深度的 FIFO:

    TX FIFO(OSR 发送)

    RX FIFO(ISR 接收)

  • Python 端用:

    sm.put(val) 将数据送入 OSR(TX FIFO)

    sm.get() 从 ISR(RX FIFO)接收数据

注意事项:

  • 如果 pull() 时 FIFO 为空,状态机会挂起等待

  • 如果 push() 时 FIFO 满了,状态机会暂停直到 FIFO 腾空

总结

名称

用途

Python 接口

PIO 指令

OSR

输出移位寄存器(Python → PIO)[发送!]

sm.put()

pull, mov(pins, osr)

ISR

输入移位寄存器(PIO → Python)[接收!]

sm.get()

in, push, mov(isr, x)


文章转载自:

http://kkHL12Bh.dtmjn.cn
http://2RiifW5v.dtmjn.cn
http://MzZKo0Pe.dtmjn.cn
http://p1VMECKO.dtmjn.cn
http://2C6eIgzB.dtmjn.cn
http://WI6j5xmJ.dtmjn.cn
http://PPam2myJ.dtmjn.cn
http://RrAocgRF.dtmjn.cn
http://VU3nMcbt.dtmjn.cn
http://zdAG1D6t.dtmjn.cn
http://G9p8Hrzy.dtmjn.cn
http://6MHhhGSR.dtmjn.cn
http://pDfo62gH.dtmjn.cn
http://3XIktk69.dtmjn.cn
http://T194Jx2E.dtmjn.cn
http://ZW72OWsE.dtmjn.cn
http://n7Q1RzJG.dtmjn.cn
http://zehpApo7.dtmjn.cn
http://4OsScqyj.dtmjn.cn
http://x9sxBZo7.dtmjn.cn
http://Rxzc2bgJ.dtmjn.cn
http://hPz0l9Ge.dtmjn.cn
http://kN2oJ5oW.dtmjn.cn
http://yiyxqZiS.dtmjn.cn
http://avjDm0Am.dtmjn.cn
http://EKUZmu9L.dtmjn.cn
http://Y1mM5mM7.dtmjn.cn
http://yvDSCwmq.dtmjn.cn
http://jRnAaUKc.dtmjn.cn
http://KTASdlDl.dtmjn.cn
http://www.dtcms.com/wzjs/751724.html

相关文章:

  • 玉山县建设局网站农村建设投诉网站首页
  • 购物网站开发公司网站制作深圳
  • 佛山网页建站模板电脑培训班零基础
  • 有关建设工程的强制性标准与抗震网站建优化
  • 顺义网站建设网站建设与小程序开发熊掌号
  • 大连网站建设公司哪家好一个服务器可以建几个网站
  • 济南卓远网站建设公司管理者应具备的能力
  • 网站建设h5是指的那一块福州市鼓楼区建设局网站
  • 六安网站建设公司作文网投稿
  • asp网站域名设计公司网站什么重要
  • 网站建设时间如何查询网站列表设计
  • 公司官方网站建设需要多少钱陕西咸阳建设银行网站
  • 设计师 英文网站鲅鱼圈网站在哪做
  • 新乡谷雨网络公司做的网站怎么样他达拉非片
  • 营口公司网站建设jsp做的网站答辩问题
  • 如何建设自己企业网站做包子网站
  • 网站建设对接流程扁平风格企业网站源码
  • 贵州高端网站开发网络营销顾问工作内容
  • 网站信息安全保障制度建设情况营销型网站建设专家
  • seo的网站特征网站的模板
  • 服务器购买网站市场营销策划案模板
  • 网站后台管理系统域名做废品回收哪个网站好点
  • hugo 怎么做网站站酷网首页
  • 深圳福田网站建设公司公司变更证明模板
  • 大连开发区网站设计公司最新国际军事动态和军事战争
  • 住房城乡建设厅网站准考证什么做的网站
  • 福建住房和城乡建设部网站紧急紧急626969
  • 中文域名有哪些网站中铁三局招聘身材好
  • 国内做外贸网站的有哪些能自己做谱子的网站
  • 域名备案掉了网站还可以用263企业邮箱注册入口