首页
学习
活动
专区
圈层
工具
发布

USB通信协议深入理解

【正常】的输出事务处理 【设备忙时】的输出事务处理 【设备出错】的输出事务处理 2.3 设置(SETUP)事务处理 【正常】的设置事务处理 【设备忙时】的设置事务处理 【设备出错】的设置事务处理 3....最后,主机将以下列的方式加以响应:当数据已经正确接收时,主机送出ACK令牌信息包;当主机正在忙碌时,发出NAK握手信息包;当发生了错误时,主机发出STALL握手信息包。...最后,设备将以下列方式加以响应:当数据已经正确接收时,设备送出ACK令牌信息包;当设备正在忙碌时,设备发出NAK握手信息包;当发生了错误时,设备发出STALL握手信息包。...状态阶段传输的方向必须与数据阶段的方向相反,即原来是IN令牌封包,这个阶段应为OUT令牌封包;反之,原来是OUT令牌封包,这个阶段应为IN令牌封包。...实时传输只需令牌与数据两个信息包阶段,没有握手包,故数据传错时不会重传。

1.5K20

深入理解 USB 通信协议

【正常】的输入事务处理 【设备忙】时的输入事务处理 【设备出错】时的输入事务处理 3.2....【正常】的输出事务处理 【设备忙时】的输出事务处理 【设备出错】的输出事务处理 3.3 设置(SETUP)事务处理 【正常】的设置事务处理 【设备忙时】的设置事务处理 【设备出错】的设置事务处理...最后,主机将以下列的方式加以响应:当数据已经正确接收时,主机送出ACK令牌信息包;当主机正在忙碌时,发出NAK握手信息包;当发生了错误时,主机发出STALL握手信息包。...最后,设备将以下列方式加以响应:当数据已经正确接收时,设备送出ACK令牌信息包;当设备正在忙碌时,设备发出NAK握手信息包;当发生了错误时,设备发出STALL握手信息包。...实时传输只需令牌与数据两个信息包阶段,没有握手包,故数据传错时不会重传。 原文: https://blog.csdn.net/myarrow/article/details/8484113

2.1K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    学会这招再也不怕手误让代码崩掉

    更详细的说是关于python的异常处理的应用,实现一个手误输错也能被原谅的功能,非常好用和有趣哦 >_< ?...二、异常处理的小应用 我们经常会遇到比如需要输入密码,当你输错密码的时候,你不希望退出这个系统,而是重新输入密码;又或者是要读取一张图片,但是有时候手误打错路径,你不想让整个代码重头再运行一次,为了让代码能够识别你输错并允许你重新输入...思路: (1)找到可能出错的地方,进行检测判断; (2)当输入正确时,直接执行下一步操作; (3)当输入错误时,重新执行,直到正确。...# 导入必须要的库,一个是读取图片一个是显示图片import matplotlib.image as mpimgimport matplotlib.pyplot as plt# (1)对可能出错的地方,...return queryDir except: print('有误的图片路径,请重新输入:') return url_is_correct() # (3)当输入错误时

    1.1K20

    《深入Python:新手易踩的语法雷区与进阶启示》

    在字符串与数字的操作中,若试图直接将字符串和数字相加,程序会毫不犹豫地抛出错误,因为它们属于不同的数据类型,无法直接进行这种运算。...这就需要开发者在编写函数时,充分考虑参数对象的可变性,避免因参数传递而引发的意外结果。在函数返回值方面,也存在一些容易被忽视的问题。...通过对错误的分析和调试,我们能够更加深刻地理解Python语法的底层机制,从而提升自己的编程能力。...在处理数据类型错误时,我们可以进一步研究Python的数据类型系统,了解不同数据类型之间的转换规则和适用场景。...Python基础语法中的易错点,既是新手学习路上的绊脚石,也是进阶提升的垫脚石。只有深入理解这些易错点背后的原理,不断积累经验,我们才能在Python编程的道路上越走越远,实现从新手到高手的蜕变。

    29410

    有效处理Java异常的三个原则,你知道吗?

    异常之所以是一种强大的调试手段,在于其回答了以下三个问题: 什么出了错? 在哪出的错? 为什么出错?...这四个类是泛化的,并不提供多少出错信息,虽然实例化这几个类是语法上合法的(如:new Throwable()),但是最好还是把它们当虚基类看,使用它们更加特化的子类。...堆栈信息立即反映出什么出了错(提供了非法参数值),为什么出错(文件名不能为空值),以及哪里出的错(readPreferences()的前部分)。这样我们的堆栈信息就能如实提供: ?...通过在检测到错误时立刻抛出异常来实现迅速失败,可以有效避免不必要的对象构造或资源占用,比如文件或网络连接。同样,打开这些资源所带来的清理操作也可以省却。...当 然,最终你的程序需要捕获异常,否则会意外终止。

    2K10

    两种情况,轻松定位错误,解决问题!

    - 1 - 前几天,有朋友用Power Query的时候出错了,于是发来出错的图片,还很多余贴心地圈了错误的提醒信息:应为令牌Comma…… 接着就是灵魂三问: 1、(我是谁)这个错误是啥...答:这个错误是说,出错的位置应该要有逗号(Comma,这些单词,虽然不要说专门去系统学一遍,但碰到后最好还是能适当记一记)。 2、(从哪来)错在哪?...一般来说,知道错在哪儿,改起来通常就不难了,没有逗号,就加上逗号,哪个符号多了或位置错了就去掉或调整位置…… 但是,更关键的是,自己最好能做个小笔记,比如截个完整的图,做个小备注,在微信里做个收藏等...但是,这个问题可能并不是在最后一步才出现的,那么,怎么快速找到到底哪个步骤出的错呢?...好在Power Query的处理过程往往很清晰,因此,只要掌握合适的方法,往往比较容易找到错误的位置,并且可以很方便的查看出错前后的数据情况,这对找出错误的原因也很有帮助。

    1.7K10

    【Python 第62课】 调试程序

    很多人在初学编程的时候,当写完程序运行时,发现结果与自己预料中的不同,或者程序意外中止了,就一时没了想法,不知道该从何下手,只能反复重新运行程序,期待忽然有次结果就对了。...这个错误是“ZeroDivisionError”,也就是除零错。 “integer division or modulo by zero”,整数被0除或者被0模(取余数)。...这种情况下,通过输出程序过程中的一些状态,可以帮助分析程序。...line 8, in a += i / b ZeroDivisionError: integer division or modulo by zero 当b的值为0时,发生了除零错。...这次可以更清晰地看出程序出错时的状态。 在真实开发中,程序的结构可能会非常复杂。通过输出调试信息,可以有效地缩小范围、定位错误发生的位置,确认错误发生时的场景,进而找出错误原因。

    94390

    程序员如何合理安排项目工期:从“拍脑袋”到“有章法”

    结果:意外频发,bug丛生,最终花了两周,还留下了技术债。 作为程序员,我们不仅是需求的执行者,更是技术方案的Owner。...在探讨“如何做”之前,先要明白“为何错”。常见的误区有: 过度乐观(Planning Fallacy):人类天生倾向于乐观,只考虑最佳情况(一切顺利),而忽略潜在风险。...不好的例子:“用户登录模块 - 5天” 好的例子: 数据库设计(用户表)- 0.5天 后端:注册API开发 - 1天 后端:登录/登出API开发 - 1天 后端:JWT令牌集成 - 0.5天 前端:注册页面开发...第三步:加入缓冲,应对“墨菲定律” 墨菲定律告诉我们:凡是可能出错的事,就一定会出错。因此,必须在总工期中加入缓冲时间(Buffer Time)。 缓冲不是偷懒,而是对项目中未知风险的理性尊重。...每天站会同步进度,如果发现某个任务超时,要及时分析原因并调整后续计划,提前预警风险。 四、一个简单的范例 需求:为内部系统添加一个“意见反馈”功能。

    35110

    新手上路,如何debug调试程序?

    很多人在初学编程的时候,当写完程序运行时,发现结果与自己预料中的不同,或者程序意外中止了,就一时没了想法,不知道该从何下手,只能反复重新运行程序,期待忽然有次结果就对了。...这个错误是“ZeroDivisionError”,也就是除零错。 “integer division or modulo by zero”,整数被0除或者被0模(取余数)。...这种情况下,通过输出程序过程中的一些状态,可以帮助分析程序。...line 8, in a += i / b ZeroDivisionError: integer division or modulo by zero 当b的值为0时,发生了除零错。...这次可以更清晰地看出程序出错时的状态。 在真实开发中,程序的结构可能会非常复杂。通过输出调试信息,可以有效地缩小范围、定位错误发生的位置,确认错误发生时的场景,进而找出错误原因。

    38130

    【自己动手画CPU】计算机数据表示

    尝试使用最少的器件简单修改该电路,使得解码阶段出现两位错时,系统能自动重传出错的编码(类似指令流水线中的分支跳转),从而使得该电路能正确传输所有数据。...尝试使用最少的器件简单修改该电路,使得解码阶段出现两位错时,系统能自动重传出错的编码(类似指令流水线中的分支跳转),从而使得该电路能正确传输所有数据。...实验大体要求:对22位海明编码进行解码成原来的16位,且判断是否出错,有一位错,两位错,还有无错。对于一位错需要进行纠正。 2....判断是否出错:设置六位指错字,Gi(i=1,2,3,4,5,6),其中G5G4G3G2G1是进行判断是否数据出错,G6是总的奇偶校验位,可以用来检验数据是一位错,还是两位错。 3....当发生一位数据错误时,G5G4G3G2G1所指示的数据,表示那位数据出错(例如G5G4G3G2G1=00101,则表示第5位数据出错)。

    1.1K10

    收藏!常见的9种错误提示、原因及解决办法!|PQ实战

    因此可能不会直接访问数据源 解决办法:设置隐私级别 3、提升标题后出现数据转换错误 这一般都是数据类型转换错误,当出现的错误不多是,可以直接点击链接生成错误明细表,进入Power Query查看每一出错行的具体情况然后做相应处理...5、步骤代码错误:Expression SyntaxError:或为令牌Identifier 解决的办法:根据提示的位置,找到相应的语法出错点,然后进行修正,比较常见的低级语法错误包括:错误的位置使用了括号...解决办法也很简单,在出错之前的步骤中找看看具体是什么操作导致的原有列被删或列名被改,然后根据实际情况在前面的步骤中加回来,或者在出错的步骤里,改成新的列名。...比如,经过筛选后的表或列表为空,这个时候要通过标号进行数据提取时,将出错。 解决办法: 1)提前识别最大标号,避免使用标号超出总项数。...不过,对于初学者来说,多看一下别人踩过的坑,犯过的错,兴许总能留下点儿印象,这样,在后续的不断学习中,就更能做到遇错不慌,泰然处之。

    10.5K20

    【25软考网工】第二章(8)差错控制、奇偶校验、CRC、海明码

    选项分析: A. 若所有基数位出错,则可以检出该错误但无法加以纠正。(错误,奇校验只能检测出奇数个错误) B. 若所有偶数位出错,则可以检测出该错误并加以纠正。(错误,奇偶校验无法纠正错误) C....(错误,奇偶校验无法检测偶数个数据位出错,更无法纠正) 答案: C 易错点: 需要注意奇偶校验只能检测错误,不能纠正错误,且只能检测出奇数个数据位出错。...特点: 当某一位出错时,会引起几个校验位的值发生变化,从而可以判断出具体哪一个数据位出了问题。 对比CRC: CRC校验码是在数据末尾添加,而海明码是在数据中间添加校验码。...S1S2S3=110,转换为二进制位6,表示第六位出错,为a5,选项C正确。 考点: 海明不等式的变形应用及计算。...是信息位 不等式的理解和应用,是考试重点 ⭐⭐⭐⭐⭐ 海明码编码方法 在数据中间加入校验码,让码距均匀拉大,通过校验位的变化判断错误位置 编码方法复杂,是难点 ⭐⭐⭐⭐⭐⭐ 海明码纠错原理 当某一位出现错误时

    28010
    领券