PDIUSBD12管脚简述
PDIUSBD12管脚简述
PDIUSBD12管脚及简述
PDIUSBD12读写时序图
CS_N是片选信号,当片选信号位低电平时,下面的操作才有效。由于板子上将CS_N接地,所以它一直保持低电平。
A0是地址线,用于选择是命令还是数据。A0=1,表示操作的是命令,A0=0,表示操作的是数据。
WR_N是写信号,表示WR_N的上升沿将数据写入到芯片中。数据必须在上升沿的前后稳定地保持一段时间(图中的tWDSU和tWDH)才能可靠写入。
RD_N是读信号,在读数据时,应该先将RD_N置低,等待一段时间(tRLDD)后,数据将出现在DATA[7:0]上,这时可以读数据。读取完毕后,将RD_N置高。
写命令:
将A0置高(即设置为命令状态) ——> 将WR_N置低 ——> 将命令放到数据总线上 ——> 将WR_N置高。
- void D12WriteCommand(uint8 command)
- {
- D12SetCommandAddr();
- D12ClrWr();
- D12SetPortOut();
- D12SetData(command);
- D12SetWr();
- D12SetPortIn();
- }
写字节:
将A0置低(即设置为数据状态) ——> 将WR_N置低 ——> 将数据保存到数据管脚对应寄存器上 ——> 将WR_N置高。
- void D12WriteByte(uint8 value)
- {
- D12SetDataAddr();
- D12ClrWr();
- D12SetPortOut();
- D12SetData(value);
- D12SetWr();
- D12SetPortIn();
- }
读字节:
将A0置低(即设置为数据状态) ——> 将RD_N置低 ——> 读取数据管脚对应寄存器上数据 ——> 将RD_N置高。
- uint8 D12ReadByte()
- {
- uint8 tmp;
- D12SetDataAddr();
- D12ClrRd();
- tmp = D12GetData();
- D12SetRd();
- return tmp;
- }
参考资料:《圈圈教你玩USB》
PDIUSBD12管脚简述的更多相关文章
- 神文章2:文本矩阵简述 V1.0 -vivo神人
评论: 牛逼的业余书籍爱好者读书思路,指导思想. 2013/9/22 文本矩阵简述 V1.0http://www.douban.com/note/170688812/ 文/vivo ...
- 简述前后端分离的情况下,Vue实现点击图片下载到本地(并实现IE11浏览器的兼容)
1.简述 在前后端分离的项目中涉及跨域问题,通常都会使用token进行验证.最近在前后端分离的项目中在一个问题上搞了很久,就是以前下载附件或者导出数据为文件的时候,在以前的那些项目前端可以直接用 wi ...
- PDIUSBD12指令
PDIUSBD12指令 端点描述 PDIUSBD12的端点适用于不同类型的设备,端点可通过[Set mode]命令配置为4种不同的模式,分别为: 模式0(NON-ISO模式):非同步模式 模式1(IS ...
- 简述 OAuth 2.0 的运作流程
本文将以用户使用 github 登录网站留言为例,简述 OAuth 2.0 的运作流程. 假如我有一个网站,你是我网站上的访客,看了文章想留言表示「朕已阅」,留言时发现有这个网站的帐号才能够留言,此时 ...
- JavaScript单线程和浏览器事件循环简述
JavaScript单线程 在上篇博客<Promise的前世今生和妙用技巧>的开篇中,我们曾简述了JavaScript的单线程机制和浏览器的事件模型.应很多网友的回复,在这篇文章中将继续展 ...
- Design Patterns Simplified - Part 3 (Simple Factory)【设计模式简述--第三部分(简单工厂)】
原文链接:http://www.c-sharpcorner.com/UploadFile/19b1bd/design-patterns-simplified-part3-factory/ Design ...
- 仿喜马拉雅实现ListView添加头布局和脚布局
ListView添加头布局和脚布局 之前学习喜马拉雅的时候做的一个小Demo,贴出来,供大家学习参考: 如果我们当前的页面有多个接口.多种布局的话,我们一般的选择无非就是1.多布局:2.各种复杂滑动 ...
- Android网络定位服务定制简述
Android 添加高德或百度网络定位服务 Android的网络定位服务以第三方的APK方式提供服务,由于在国内Android原生自带的com.google.android.gms服务几乎处于不可用状 ...
- 《Entity Framework 6 Recipes》翻译系列 (1) -----第一章 开始使用实体框架之历史和框架简述
微软的Entity Framework 受到越来越多人的关注和使用,Entity Framework7.0版本也即将发行.虽然已经开源,可遗憾的是,国内没有关于它的书籍,更不用说好书了,可能是因为EF ...
随机推荐
- 判断两个数组是否相似 (arraysSimilar)
题目 解答 思路 具体实现代码 总结 题目 题目来自 慕课网 JavaScript 深入浅出 1-6 编程练习 请在 index.html 文件中,编写 arraysSimilar 函数,实现判断传入 ...
- 升级本地已安装的 Node 和 npm 版本
Mac升级本地已经安装的NodeJs和Npm到最新版,可以使用一下方式进行升级和更新. 其实windos上升级nodejs也很简单,只需在nodejs官网下载安装最新的msi即可. 值得注意的是安装时 ...
- 喜欢B站的用户为何认同感超强?
前几天视频弹幕网站哔哩哔哩(以下简称"B站"),正式登陆纳斯达克,股票代码"BILI".当日其CEOC兼董事长陈睿在B站的账号上传了上市视频. 打开视频,满眼& ...
- resin远程调试debug
wangqiaowqo Resin 远程debug Resin Windows下提升Resin默认的虚拟机内存大小 httpd.exe -Xmx1024m 参考外部文章 Resin远程debug配置文 ...
- scatter散点图
import matplotlib.pyplot as plt import numpy as np n = 1024 X = np.random.normal(0,1,n) Y = np.rando ...
- Proto3:C++代码生成指南
本章节实际上是介绍Protocol Buffer编译器从给定的protocol定义中生成的C++代码.所有proto2和proto3生成的代码不同之处都会高亮标出 --- 需要注意的是这些不同之处只是 ...
- Proto3:C++基本使用
本教程提供protocol buffer在C++程序中的基础用法.通过创建一个简单的示例程序,向你展示如何: 在.proto中定义消息格式 使用protocol buffer编译器 使用C++ pro ...
- WiFi曝出安全漏洞几近“裸奔”:运营商能借机收割一波红利吗?
作为大众生活中不可或缺的基础架构,也是智能生活普及的推动性力量,运营商的重要性毋庸置疑.但无奈的是,一直以来运营商都似乎是站在了大众的"对立面".看似光鲜亮丽,但在壮观的 ...
- Java编程Tips
原文: Java编程中"为了性能"尽量要做到的一些地方 作者: javatgo 最近的机器内存又爆满了,除了新增机器内存外,还应该好好review一下我们的代码,有很多代码编写过于 ...
- 致歉Note7用户后,三星要还给世界下一个机皇
1月23日,三星电子在韩国首尔公布了Note7事件原因调查结果.此次认定过程精密而繁琐,最终结果发布距离三星宣布全球召回Note7已经有3个月. 相比事发之初各路信息甚嚣尘上,现在虽然还不能说已经 ...