如何屏蔽USB存储器

warghost 2009-08-31 11:54:29
现在想写一个程序,就是能够在任意USB存储设备插入的时候,不对其添加驱动,且在我的电脑里面不显示盘符,但是USB键盘鼠标等其他USB设备不受影响。
其中,USB存储设备包括优盘、移动硬盘、MP3、读卡器带的CF/TF/MMC/SD等。
在网上搜了很多中方法,貌似没啥管用的,所以向各位大师求助,请大师们给与指点

现在搜到并试验过的方法有:
1、注册表的HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\USBSTOR 下面所有的值都试验的更改过了,当没有插过的u盘插上一加载驱动就又能显示盘符了
2、删除USB驱动,其他USB设备无法工作
3、改BIOS,其他USB设备无法工作

以上三种都是没有效果的。。。。
...全文
671 19 打赏 收藏 转发到动态 举报
写回复
用AI写文章
19 条回复
切换为时间正序
请发表友善的回复…
发表回复
LLanguage 2009-09-22
  • 打赏
  • 举报
回复
SetupDiEnumDeviceInfo
不止是有ClassUID一种方式啊!
加个判断Service=USBSTOR
myshinji 2009-09-14
  • 打赏
  • 举报
回复
17楼给的东西,太NB了,收藏了!
LLanguage 2009-09-09
  • 打赏
  • 举报
回复
这个有简单的实现方法,程序定时枚举设备列表,并禁用usbstor,用setupapi实现,
MoXiaoRab 2009-09-09
  • 打赏
  • 举报
回复
[Quote=引用 15 楼 itmes 的回复:]
这个有简单的实现方法,程序定时枚举设备列表,并禁用usbstor,用setupapi实现,
[/Quote]
这样太耗权限了。

http://www.lihuasoft.net/article/show.php?id=755
warghost 2009-09-09
  • 打赏
  • 举报
回复
[Quote=引用 15 楼 itmes 的回复:]
这个有简单的实现方法,程序定时枚举设备列表,并禁用usbstor,用setupapi实现,
[/Quote]
是用SetupDiEnumDeviceInfo吗?
我用的ClassUID是36FC9E60-C465-11CF-8056-444553540000,是USB的,结果把USB设备全干掉鸟
具体的USB存储器UID是是啥啊?疯狂的迷惑中。。。。。
warghost 2009-09-08
  • 打赏
  • 举报
回复
晕,现在去掉对勾鸟
不过,如何用程序实现设置usbstor.pnf与inf的权限呢?用什么函数呢?
写注册表也碰到问题了,我定义DWORD型的变量,值赋给3与4,但是写4的时候都没有问题,写3的时候总是变成不正确的DWORD值,查看二进制,
4的时候是 0000 04 00 00 00
但是
3的时候就变成了 0000 03 00 00

不知道为什么
yangbo_cuit 2009-09-08
  • 打赏
  • 举报
回复
学习,帮顶
fly4free 2009-09-05
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 warghost 的回复:]
引用 9 楼 myshinji 的回复:
...

貌似我是NTFS,但是属性里面确实没有安全那一项,而且简单文件共享也一直都有对勾,查看高级里面有“系统所属文件夹,已经禁用了其他属性选项”
[/Quote]

一直都有对勾就错了!
warghost 2009-09-03
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 myshinji 的回复:]
只要你的分区是NTFS的,就会有安全选项卡

打开“我的电脑”->点击菜单项“工具”->“文件夹选项”->点击“查看”选项卡
在下面的高级设置中,找到“使用简单文件共享 (推荐)”,确定该项没有打钩,
点击“确定”即可。
[/Quote]

貌似我是NTFS,但是属性里面确实没有安全那一项,而且简单文件共享也一直都有对勾,查看高级里面有“系统所属文件夹,已经禁用了其他属性选项”
MoXiaoRab 2009-09-02
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 myshinji 的回复:]
只要你的分区是NTFS的,就会有安全选项卡

打开“我的电脑”->点击菜单项“工具”->“文件夹选项”->点击“查看”选项卡
在下面的高级设置中,找到“使用简单文件共享 (推荐)”,确定该项没有打钩,
点击“确定”即可。
[/Quote]
对的
myshinji 2009-09-02
  • 打赏
  • 举报
回复
只要你的分区是NTFS的,就会有安全选项卡

打开“我的电脑”->点击菜单项“工具”->“文件夹选项”->点击“查看”选项卡
在下面的高级设置中,找到“使用简单文件共享 (推荐)”,确定该项没有打钩
点击“确定”即可。
  • 打赏
  • 举报
回复
usb只是一种硬件接口,如果usb这个硬件没有实现区分功能,是不可能的。


如果usb这个硬件实现区分功能,如果内核中usb驱动程序没有实现,照样不可能。更不要说api层。

1、注册表的HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\USBSTOR 下面所有的值都试验的更改过了,当没有插过的u盘插上一加载驱动就又能显示盘符了、//这只是api层以上的事
2、删除USB驱动,其他USB设备无法工作 //这是内核中usb驱动程序层的事
3、改BIOS,其他USB设备无法工作 //这是硬件中断层的事
warghost 2009-09-01
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 jslisong 的回复:]
可以将 USB Mass Storage Device --> Disable 。
[/Quote]
[Quote=引用 5 楼 dirdirdir3 的回复:]
USB Mass Storage Device这个驱动去掉
[/Quote]
[Quote=引用 6 楼 slek 的回复:]
usb过滤驱动
[/Quote]
具体如何用代码实现,可否详细说明下,多谢多谢
warghost 2009-09-01
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 tr0j4n 的回复:]
如果计算机上尚未安装 USB 存储设备,请向用户或组分配对下列文件的“拒绝”权限:
%SystemRoot%\Inf\Usbstor.pnf
%SystemRoot%\Inf\Usbstor.inf
这样,用户将无法在计算机上安装 USB 存储设备。 要向用户或组分配对 Usbstor.pnf 和 Usbstor.inf 文件的“拒绝”权限,请按照下列步骤操作:
启动 Windows 资源管理器,然后找到 %SystemRoot%\Inf 文件夹。
右键单击“Usbstor.pnf”文件,然后单击“属性”。
单击“安全”选项卡。
在“组或用户名称”列表中,单击要为其设置“拒绝”权限的用户或组。
在“UserName or GroupName 的权限”列表中,单击以选中“完全控制”旁边的“拒绝”复选框,然后单击“确定”。
注意:此外,还需将系统帐户添加到“拒绝”列表中。
右键单击“Usbstor.inf”文件,然后单击“属性”。
单击“安全”选项卡。
在“组或用户名称”列表中,单击要为其设置“拒绝”权限的用户或组。
在“UserName or GroupName 的权限”列表中,单击以选中“完全控制”旁边的“拒绝”复选框,然后单击“确定”。
[/Quote]

今天试了试,前面修改权限的usbstor.inf与usbstor.pnf貌似真的没有"安全"这一项
ps:我用的是安装版的xp,不是被阉割过的克隆版
后面的修改注册表一旦用控制面板对u盘再加载驱动,那个start项就被修改回来了
西山小月 2009-09-01
  • 打赏
  • 举报
回复
usb过滤驱动
dirdirdir3 2009-09-01
  • 打赏
  • 举报
回复
USB Mass Storage Device这个驱动去掉
碧螺春的马甲 2009-09-01
  • 打赏
  • 举报
回复
可以将 USB Mass Storage Device --> Disable 。
MoXiaoRab 2009-09-01
  • 打赏
  • 举报
回复
如果计算机上尚未安装 USB 存储设备,请向用户或组分配对下列文件的“拒绝”权限:
%SystemRoot%\Inf\Usbstor.pnf
%SystemRoot%\Inf\Usbstor.inf
这样,用户将无法在计算机上安装 USB 存储设备。 要向用户或组分配对 Usbstor.pnf 和 Usbstor.inf 文件的“拒绝”权限,请按照下列步骤操作:
启动 Windows 资源管理器,然后找到 %SystemRoot%\Inf 文件夹。
右键单击“Usbstor.pnf”文件,然后单击“属性”。
单击“安全”选项卡。
在“组或用户名称”列表中,单击要为其设置“拒绝”权限的用户或组。
在“UserName or GroupName 的权限”列表中,单击以选中“完全控制”旁边的“拒绝”复选框,然后单击“确定”。
注意:此外,还需将系统帐户添加到“拒绝”列表中。
右键单击“Usbstor.inf”文件,然后单击“属性”。
单击“安全”选项卡。
在“组或用户名称”列表中,单击要为其设置“拒绝”权限的用户或组。
在“UserName or GroupName 的权限”列表中,单击以选中“完全控制”旁边的“拒绝”复选框,然后单击“确定”。
基于USB的实时数据采集系统设计--毕业设计开题报告全文共4页,当前为第1页。基于USB的实时数据采集系统设计--毕业设计开题报告全文共4页,当前为第1页。基于USB的实时数据采集系统设计--毕业设计开题报告 基于USB的实时数据采集系统设计--毕业设计开题报告全文共4页,当前为第1页。 基于USB的实时数据采集系统设计--毕业设计开题报告全文共4页,当前为第1页。   设计题目 基于usb的实时数据采集系统设计   1、课题的目的意义:   课题来源:随着信息技术的飞速发展,各种数据的实时采集和处理在现代工业控制中已成为必不可少的。这就为我们的设计提出了两个方面的要求:1方面,要求接口简单灵活且有较高的数据传输率;另1方面,由于数据量通常都较大,要求主机能够对实时数据做出快速响应,并及时进行分析和处理。随着信息化带动工业化进程的逐步深入,电子计算机信息技术的不断发展和完善,采用单片机实现的数据采集系统的应用越来越多。随着工业化的进步,以前传统的采用人工进行数据记录登记已经远远不能满足现在工业化生产的要求,而采用单片机实现的数据采集系统具有自动化和无人值守等特点,使得它们在许多应用场合得到了广泛的应用。   课题目的意义:掌握usb通信接口设计方法,以单片机为核心,配以usb模块,构成实时数据采集传输系统,单片机采集的数据经处理后,通过usb模块与上位机通讯。   2、近年来国内外研究现状:   现代工业生产和科学研究对数据采集的要求日益提高,在瞬态信号测量、图像处理等1些高速、高精度的测量中,基于USB的实时数据采集系统设计--毕业设计开题报告全文共4页,当前为第2页。基于USB的实时数据采集系统设计--毕业设计开题报告全文共4页,当前为第2页。需要进行高速数据采集。现在通用的高速数据采集卡1般多是pci卡或isa卡,存在以下缺点:安装麻烦、价格昂贵;受计算机插槽数量、地址、中断资源限制,可扩展性差;在1些电磁干扰性强的测试现场,无法专门对其做电磁屏蔽,导致采集的数据失真。   通用串行总线usb(universal serial bus)是1995年康柏、微软、ibm、dec等公司为解决传统总线不足而推广的1种新型的通信标准。该总线接口具有安装方便、高带宽、易于扩展等优点,已逐渐成为现代数据传输的发展趋势。目前较为普遍的usb规范是usb1。1,usb1。1标准接口传输速率为12mbps,理论上可以支持127个装置,通过usb hub即usb扩展器连接多个周边设备,连接线缆的最大长度为5米。usb2。0规范是由usb1。1规范演变而来的,它最初的目标是将usb1。1的传输数率(12mbps)提高10-20倍,而实际上却提高了40倍达到了480mbps,折算为mb为60mb/s。   3、设计方案的可行性分析和预期目标:   预期目标:本系统实现多路数据的采集、flash存储及usb通信等功能。单片机系统主要完成信号采集、a/d转换、对信号进行放大滤波处理、数据通信、flash存储等;实时时钟记录采集数据的时间;cp2101实现usb接口,并把单片机采集到的信号传给微机;微机完成数据接收、数据处理、计算、显示等功能。 基于USB的实时数据采集系统设计--毕业设计开题报告全文共4页,当前为第3页。基于USB的实时数据采集系统设计--毕业设计开题报告全文共4页,当前为第3页。  可行性分析:单片机选用msp430f13x微控制器。它具有非常高的集成度,单片集成了多通道12位a/d转换、pwm功能定时器、斜边a/d转换、片内usart、看门狗定时器、片内数控振荡器(dco)、大量的i/o端口、大容量的片内ram和rom以及flash存储器。通用串行总线usb选择了无需外部元件的uart转usb芯片cp2101。选择这种接口芯片,可使usb通信接口设计变得10分容易。优点: 具有较小的封装。 高集成度。片内集成512字节eeprom(用于存储厂家id等数据),片内集成收发器、无需外部电阻;片内集成时钟,无需外部晶体。 低成本,可实现usb转串口的解决方案。 具有低功耗、高速度的特性,符合usb2。0规范,适合于所有的uart接口(波特率为300bps~921。6kbps)。   4、所需要的仪器设备、材料:   硬件方面:微机1台,msp430实验平台, msp430f13x,uart转usb芯片cp2101   软件方面:vc++   5、课题分阶段进度计划:   序号 起止日期 工 作 内 容 阶段成果   1 1-2周 熟悉课题,查阅资料 对课题的要求进行了解   2 3-4周 完成开题报告,确定方案 确定思路书写开题报告   3 5-7周 系统硬件设计 对msp430,cp2101进行设计 基于USB的实时数据采集系统设计
2021基于的实时数据采集系统设计毕业设计开题报告全文共4页,当前为第1页。2021基于的实时数据采集系统设计毕业设计开题报告全文共4页,当前为第1页。基于USB的实时数据采集系统设计--毕业设计开题报告 2021基于的实时数据采集系统设计毕业设计开题报告全文共4页,当前为第1页。 2021基于的实时数据采集系统设计毕业设计开题报告全文共4页,当前为第1页。 基于USB的实时数据采集系统设计--毕业设计开题报告   设计题目 基于usb的实时数据采集系统设计   1、课题的目的意义:   课题来源:随着信息技术的飞速发展,各种数据的实时采集和处理在现代工业控制中已成为必不可少的。这就为我们的设计提出了两个方面的要求:1方面,要求接口简单灵活且有较高的数据传输率;另1方面,由于数据量通常都较大,要求主机能够对实时数据做出快速响应,并及时进行分析和处理。随着信息化带动工业化进程的逐步深入,电子计算机信息技术的不断发展和完善,采用单片机实现的数据采集系统的应用越来越多。随着工业化的进步,以前传统的采用人工进行数据记录登记已经远远不能满足现在工业化生产的要求,而采用单片机实现的数据采集系统具有自动化和无人值守等特点,使得它们在许多应用场合得到了广泛的应用。   课题 的意义:掌握usb通信接口设计方法,以单片机为核心,配以usb模块,构成实时数据采集传输系统,单片机采集的数据经处理后,通过usb模块与上位机通讯。 2021基于的实时数据采集系统设计毕业设计开题报告全文共4页,当前为第2页。2021基于的实时数据采集系统设计毕业设计开题报告全文共4页,当前为第2页。   2、近年来国内外研究现状:   现代工业生产和科学研究对数据采集的要求日益提高,在瞬态信号测量、图像处理等1些高速、高精度的测量中,需要进行高速数据采集。现在通用的高速数据采集卡1般多是pci卡或isa卡,存在以下缺点:安装麻烦、价格昂贵;受计算机插槽数量、地址、中断资源限制,可扩展性差;在1些电磁干扰性强的测试现场,无法专门对其做电磁屏蔽,导致采集的数据失真。   通用串行总线usb(universal serial bus)是1995年康柏、微软、ibm、dec等公司为解决传统总线不足而推广的1种新型的通信标准。该总线接口具有安装方便、高带宽、易于扩展等优点,已逐渐成为现代数据传输的发展趋势。目前较为普遍的usb规范是usb1。1,usb1。1标准接口传输速率为12mbps,理论上可以支持127个装置,通过usb hub即usb扩展器连接多个周边设备,连接线缆的最大长度为5米。usb2。0规范是由usb1。1规范演变而来的,它最初的目标是将usb1。1的传输数率(12mbps)提高10-20倍,而实际上却提高了40倍达到了480mbps,折算为mb为60mb/s。   3、设计方案的可行性分析和预期目标:   预期目标:本系统实现多路数据的采集、flash存储及usb通信等功能。单片机系统主要完成信号采集、a/d转换、对信号进行放大滤波处理、数据通信、flash存储等;2021基于的实时数据采集系统设计毕业设计开题报告全文共4页,当前为第3页。2021基于的实时数据采集系统设计毕业设计开题报告全文共4页,当前为第3页。实时时钟记录采集数据的时间;cp2101实现usb接口,并把单片机采集到的信号传给微机;微机完成数据接收、数据处理、计算、显示等功能。   可行性分析:单片机选用msp430f13x微控制器。它具有非常高的集成度,单片集成了多通道12位a/d转换、pwm功能定时器、斜边a/d转换、片内usart、看门狗定时器、片内数控振荡器(dco)、大量的i/o端口、大容量的片内ram和rom以及flash存储器。通用串行总线usb选择了无需外部元件的uart转usb芯片cp2101。选择这种接口芯片,可使usb通信接口设计变得10分容易。优点: 具有较小的封装。 高集成度。片内集成512字节eeprom(用于存储厂家id等数据),片内集成收发器、无需外部电阻;片内集成时钟,无需外部晶体。 低成本,可实现usb转串口的解决方案。 具有低功耗、高速度的特性,符合usb2。0规范,适合于所有的uart接口(波特率为300bps~921。6kbps)。   4、所需要的仪器设备、材料:   硬件方面:微机1台,msp430实验平台, msp430f13x,uart转usb芯片cp2101   软件方面:vc++   5、课题分阶段进度计划:   序号 起止日期 工 作 内 容 阶段成果 2021基于的实时数据采集系统设计毕业设计开题报告全文共4页,当前为第4页。2021基于的实时数据采集系统设计毕业设计开题报告全文共4页,当前为第4页。   1 1-2周 熟悉课题,查阅资
第1章 微型计算机概述 1 1.1 微型计算机的发展与应用 1 1.1.1 微处理器的产生和发展 1 1.1.2 微型计算机的分类 4 1.1.3 微型计算机的特点与性能指标 4 1.1.4 微型计算机的应用 6 1.2 微型计算机的硬件结构及系统组成 8 1.2.1 微型计算机硬件的基本结构 8 1.2.2 微型计算机的系统组成 11 1.3 计算机中的信息表示 12 1.3.1 计算机中的数制及其转换 13 1.3.2 计算机中数值数据的表示 15 1.3.3 计算机中常用的编码 18 本章小结 21 思考与练习题 21 第2章 典型微处理器 23 2.1 微处理器性能简介 23 2.1.1 典型微处理器的主要性能指标 23 2.1.2 微处理器的基本功能 24 2.2 Intel 8086微处理器的内、外部结构特性 24 2.2.1 8086微处理器内部组成结构 24 2.2.2 8086微处理器的寄存器 结构 27 2.2.3 8086微处理器的外部引脚特性 30 2.3 存储器和I/O组织 32 2.3.1 存储器组织 32 2.3.2 I/O端口组织 36 2.4 8086微处理器的总线周期和工作方式 36 2.4.1 8284A时钟信号发生器 37 2.4.2 8086总线周期 37 2.4.3 8086微处理器的最小/最大工作方式 38 2.5 32位微处理器简介 41 2.5.1 80386微处理器 41 2.5.2 80486微处理器 42 2.5.3 Pentium系列微处理器 44 2.5.4 Pentium微处理器采用的新技术 48 本章小结 50 思考与练习题 50 第3章 寻址方式与指令系统 53 3.1 指令格式及寻址 53 3.1.1 指令系统与指令格式 53 3.1.2 寻址及寻址方式的概念 54 3.2 8086指令系统的寻址方式 54 3.2.1 与操作数有关的寻址方式 55 3.2.2 与I/O端口有关的寻址方式 57 3.3 8086指令系统 58 3.3.1 数据传送类指令 58 3.3.2 算术运算类指令 61 3.3.3 逻辑运算与移位类指令 64 3.3.4 串操作类指令 67 3.3.5 控制转移类指令 70 3.3.6 处理器控制类指令 74 3.4 DOS和BIOS中断调用 74 3.4.1 DOS功能调用 74 3.4.2 BIOS中断调用 76 3.5 Pentium微处理器新增寻址方式和指令 76 3.5.1 Pentium微处理器的内部寄存器 76 3.5.2 Pentium微处理器的新增寻址方式 77 3.5.3 Pentium系列微处理器专用指令 78 3.5.4 Pentium系列微处理器控制指令 78 本章小结 79 思考与练习题 79 第4章 汇编语言 82 4.1 汇编语言简述 82 4.1.1 汇编语言及语句格式 82 4.1.2 汇编语言程序结构 86 4.1.3 汇编语言常用伪指令 87 4.1.4 汇编语言程序上机过程 94 4.2 汇编语言程序设计 94 4.2.1 程序设计的基本步骤及 程序基本结构 94 4.2.2 顺序结构程序设计 96 4.2.3 分支结构程序设计 98 4.2.4 循环结构程序设计 101 4.2.5 子程序设计 103 4.2.6 DOS调用程序设计 105 4.3 高级汇编技术 107 4.3.1 宏汇编 107 4.3.2 重复汇编与条件汇编 109 本章小结 113 思考与练习题 114 第5章 总线技术 116 5.1 概述 116 5.1.1 总线的概念 116 5.1.2 总线的结构 117 5.1.3 总线的分类 118 5.1.4 总线性能及标准 119 5.1.5 总线传输和控制 120 5.2 系统总线 121 5.2.1 概述 121 5.2.2 ISA总线 122 5.3 局部总线 128 5.3.1 PCI总线 128 5.3.2 AGP总线 132 5.4 外部设备总线 133 5.4.1 USB总线 133 5.4.2 IEEE 1394总线 136 5.5 I2C总线 139 5.5.1 I2C总线简介 139 5.5.2 I2C总线特性 139 5.5.3 I2C总线原理 140 本章小结 141 思考与练习题 141 第6章 存储器系统 143 6.1 存储器概述 143 6.1.1 存储器的分类 143 6.1.2 存储器的常用性能指标 144 6.1.3 存储系统的层次结构 145 6.1.4 半导体存储器的结构 146 6.2 随机存取存储器(RAM) 148 6.2.1 静态RAM(SRAM) 148 6.2.2 动态RAM(DRAM) 150 6.3 只读存储器(ROM) 152 6.3.1 掩膜ROM 152 6.3.2 可编程PROM 153 6.3.3 光可擦除EPROM 153 6.3.4 电可擦除E2PROM 153 6.3.5 闪速存储器 154 6.4 存储器的扩展与寻址 154 6.4.1 位扩展 155 6.4.2 字扩展 155 6.4.3 字位扩展 155 6.4.4 存储器的寻址 156 6.5 存储器与微处理器的连接 157 6.5.1 连接时应注意的问题 157 6.5.2 典型微处理器与存储器的连接 157 6.6 辅助存储器 159 6.6.1 硬盘存储器及其接口 159 6.6.2 光盘存储器及其接口 162 6.7 新型存储器技术 164 6.7.1 多体交叉存储器 165 6.7.2 高速缓冲存储器(cache) 165 6.7.3 虚拟存储器 167 本章小结 169 思考与练习题 170 第7章 输入/输出接口技术 172 7.1 概述 172 7.1.1 输入/输出接口电路要解决的问题 172 7.1.2 输入/输出接口的结构与功能 173 7.1.3 CPU与I/O接口之间传递的信息 175 7.1.4 I/O端口的编址方式 176 7.2 输入/输出的数据传送方式 177 7.2.1 无条件传送方式 177 7.2.2 查询传送方式 178 7.2.3 中断传送方式 180 7.2.4 DMA传送方式 182 本章小结 183 思考与练习题 183 第8章 可编程DMA控制器8237A 184 8.1 概述 184 8.1.1 8237A的主要功能 184 8.1.2 8237A的工作状态 184 8.2 8237A内部结构及引脚 185 8.2.1 8237A内部结构 185 8.2.2 8237A引脚及功能 186 8.3 8237A的工作方式 188 8.3.1 单字节传送方式 188 8.3.2 数据块传送方式 188 8.3.3 请求传送方式 189 8.3.4 级联传送方式 189 8.4 8237A内部寄存器功能及格式 189 8.4.1 当前地址寄存器 190 8.4.2 当前字节寄存器 190 8.4.3 基地址寄存器 190 8.4.4 基字节寄存器 190 8.4.5 命令寄存器 191 8.4.6 工作方式寄存器 192 8.4.7 请求寄存器 193 8.4.8 屏蔽寄存器 193 8.4.9 状态寄存器 194 8.4.10 暂存寄存器 195 8.4.11 软件命令 195 8.5 8237A的编程及应用 195 8.5.1 8237A主要寄存器端口地址分配 195 8.5.2 8237A编程一般步骤 196 8.5.3 8237A应用举例 198 本章小结 199 思考与练习题 199 第9章 中断技术 200 9.1 概述 200 9.1.1 中断的概念 200 9.1.2 中断源 201 9.1.3 中断处理过程 202 9.1.4 中断优先级管理 204 9.2 8086中断系统 206 9.2.1 中断类型 206 9.2.2 中断向量表 208 9.3 可编程中断控制器8259A及其应用 209 9.3.1 8259A内部结构及引脚 210 9.3.2 8259A中断管理方式 212 9.3.3 8259A中断响应过程 215 9.3.4 8259A编程及应用 215 本章小结 223 思考与练习题 224 第10章 可编程并行接口芯片8255A 225 10.1 并行接口概述 225 10.1.1 并行接口的分类 225 10.1.2 并行接口的特点 226 10.2 并行接口芯片8255A 226 10.2.1 内部结构及引脚 226 10.2.2 8255A的工作方式 229 10.2.3 8255A的编程及应用 235 本章小结 239 思考与练习题 239 第11章 可编程串行接口芯片8251A 241 11.1 串行传输的基本概念 241 11.1.1 串行通信概述 241 11.1.2 信号的调制与解调 243 11.2 串行接口芯片8251A 244 11.2.1 8251A的基本性能 244 11.2.2 8251A的基本结构 244 11.2.3 8251A的编程控制 248 11.2.4 8251A的初始化和编程应用 250 11.3 PC串行异步通信接口 254 11.3.1 串行异步通信的 基本概念 254 11.3.2 BIOS串行异步通信接口的功能调用 255 本章小结 258 思考与练习题 259 第12章 可编程定时器/计数器接口芯片8253 260 12.1 可编程定时器/计数器8253 260 12.1.1 定时器/计数器的基本原理 260 12.1.2 8253的特点 261 12.1.3 8253内部结构和 引脚功能 261 12.1.4 8253的初始化 263 12.1.5 8253的工作方式 265 12.2 8253的应用 272 12.2.1 8253的初始化编程 272 12.2.2 8253与系统的连接 273 12.2.3 8253应用实例 274 本章小结 275 思考与练习题 276 第13章 人机交互设备及接口 277 13.1 人机交互设备概述 277 13.2 键盘与鼠标 278 13.2.1 键盘的分类及工作原理 278 13.2.2 PC键盘分类及编程应用 281 13.2.3 鼠标工作原理及编程应用 284 13.3 显示器及接口 285 13.3.1 CRT显示器 286 13.3.2 CRT显示器接口电路编程方法 291 13.3.3 LED与LCD显示 294 13.4 打印机接口 298 13.4.1 常用打印机及工作原理 298 13.4.2 主机与打印机的接口 299 13.4.3 打印机的中断调用 300 13.5 其他外设简介 301 13.5.1 扫描仪原理及性能指标 301 13.5.2 数码照相机原理及其应用 302 13.5.3 触摸屏原理及其应用 303 本章小结 303 思考与练习题 304 第14章 D/A及A/D转换器 306 14.1 概述 306 14.2 典型D/A转换器及其应用 307 14.2.1 D/A转换器工作原理 307 14.2.2 D/A转换器的主要性能指标 309 14.2.3 8位D/A转换器DAC0832及其应用 309 14.3 典型A/D转换器及其应用 314 14.3.1 A/D转换器工作原理 314 14.3.2 A/D转换器的主要性能指标 315 14.3.3 8位A/D转换器ADC0809及其应用 316 14.3.4 A/D转换器的选择原则 322 14.4 A/D和D/A转换的应用实例 323 本章小结 324 思考与练习题 324
目录 1 文中的缩写 24 1.1 寄存器描述表中使用的缩写列表 24 1.2 术语表 24 1.3 可用的外设 24 2 存储器和总线构架 25 2.1 系统构架 25 2.2 存储器组织 27 2.3 存储器映像 28 2.3.1 嵌入式SRAM 29 2.3.2 位段 29 2.3.3 嵌入式闪存 30 2.4 启动配置 33 3 CRC计算单元(CRC) 34 3.1 CRC简介 34 3.2 CRC主要特性 34 3.3 CRC功能描述 34 3.4 CRC寄存器 35 3.4.1 数据寄存器(CRC_DR) 35 3.4.2 独立数据寄存器(CRC_IDR) 35 3.4.3 控制寄存器(CRC_CR) 36 3.4.4 CRC寄存器映像 36 4 电源控制(PWR) 37 4.1 电源 37 4.1.1 独立的A/D转换器供电和参考电压 37 4.1.2 电池备份区域 38 4.1.3 电压调节器 38 4.2 电源管理器 38 4.2.1 上电复位(POR)和掉电复位(PDR) 38 4.2.2 可编程电压监测器(PVD) 39 4.3 低功耗模式 40 4.3.1 降低系统时钟 40 4.3.2 外部时钟的控制 40 4.3.3 睡眠模式 40 4.3.4 停止模式 41 4.3.5 待机模式 42 4.3.6 低功耗模式下的自动唤醒(AWU) 43 4.4 电源控制寄存器 44 4.4.1 电源控制寄存器(PWR_CR) 44 4.4.2 电源控制/状态寄存器(PWR_CSR) 45 4.4.3 PWR寄存器地址映像 46 5 备份寄存器(BKP) 47 5.1 BKP简介 47 5.2 BKP特性 47 5.3 BKP功能描述 47 5.3.1 侵入检测 47 5.3.2 RTC校准 48 5.4 BKP寄存器描述 48 5.4.1 备份数据寄存器x(BKP_DRx) (x = 1 … 10) 48 5.4.2 RTC时钟校准寄存器(BKP_RTCCR) 48 5.4.3 备份控制寄存器(BKP_CR) 49 5.4.4 备份控制/状态寄存器(BKP_CSR) 49 5.4.5 BKP寄存器映像 51 6 小容量、中容量和大容量产品的复位和时钟控制(RCC) 54 6.1 复位 54 6.1.1 系统复位 54 6.1.2 电源复位 54 6.1.3 备份域复位 55 6.2 时钟 55 6.2.1 HSE时钟 57 6.2.2 HSI时钟 57 6.2.3 PLL 58 6.2.4 LSE时钟 58 6.2.5 LSI时钟 58 6.2.6 系统时钟(SYSCLK)选择 59 6.2.7 时钟安全系统(CSS) 59 6.2.8 RTC时钟 59 6.2.9 看门狗时钟 59 6.2.10 时钟输出 59 6.3 RCC寄存器描述 60 6.3.1 时钟控制寄存器(RCC_CR) 60 6.3.2 时钟配置寄存器(RCC_CFGR) 61 6.3.3 时钟中断寄存器 (RCC_CIR) 63 6.3.4 APB2外设复位寄存器 (RCC_APB2RSTR) 65 6.3.5 APB1外设复位寄存器 (RCC_APB1RSTR) 67 6.3.6 AHB外设时钟使能寄存器 (RCC_AHBENR) 69 6.3.7 APB2外设时钟使能寄存器(RCC_APB2ENR) 70 6.3.8 APB1外设时钟使能寄存器(RCC_APB1ENR) 71 6.3.9 备份域控制寄存器 (RCC_BDCR) 74 6.3.10 控制/状态寄存器 (RCC_CSR) 75 6.3.11 RCC寄存器地址映像 77 7 互联型产品的复位和时钟控制(RCC) 78 7.1 复位 78 7.1.1 系统复位 78 7.1.2 电源复位 78 7.1.3 备份域复位 79 7.2 时钟 79 7.2.1 HSE时钟 81 7.2.2 HSI时钟 82 7.2.3 PLL 82 7.2.4 LSE时钟 82 7.2.5 LSI时钟 83 7.2.6 系统时钟(SYSCLK)选择 83 7.2.7 时钟安全系统(CSS) 83 7.2.8 RTC时钟 83 7.2.9 看门狗时钟 84 7.2.10 时钟输出 84 7.3 RCC寄存器 85 7.3.1 时钟控制寄存器(RCC_CR) 85 7.3.2 时钟配置寄存器(RCC_CFGR) 86 7.3.3 时钟中断寄存器(RCC_CIR) 88 7.3.4 APB2外设复位寄存器(RCC_APB2RSTR) 91 7.3.5 APB1外设复位寄存器(RCC_APB1RSTR) 92 7.3.6 AHB外设时钟使能寄存器(RCC_AHBENR) 94 7.3.7 APB2外设时钟使能寄存器(RCC_APB2ENR) 95 7.3.8 APB1外设时钟使能寄存器(RCC_APB1ENR) 97 7.3.9 备份域控制寄存器(RCC_BDCR) 99 7.3.10 控制/状态寄存器(RCC_CSR) 100 7.3.11 AHB外设时钟复位寄存器(RCC_AHBRSTR) 101 7.3.12 时钟配置寄存器2(RCC_CFGR2) 101 7.3.13 RCC寄存器地址映像 103 8 通用和复用功能I/O(GPIO和AFIO) 105 8.1 GPIO功能描述 105 8.1.1 通用I/O(GPIO) 106 8.1.2 单独的位设置或位清除 107 8.1.3 外部中断/唤醒线 107 8.1.4 复用功能(AF) 107 8.1.5 软件重新映射I/O复用功能 107 8.1.6 GPIO锁定机制 107 8.1.7 输入配置 107 8.1.8 输出配置 108 8.1.9 复用功能配置 109 8.1.10 模拟输入配置 109 8.1.11 外设的GPIO配置 110 8.2 GPIO寄存器描述 113 8.2.1 端口配置低寄存器(GPIOx_CRL) (x=A..E) 113 8.2.2 端口配置高寄存器(GPIOx_CRH) (x=A..E) 114 8.2.3 端口输入数据寄存器(GPIOx_IDR) (x=A..E) 114 8.2.4 端口输出数据寄存器(GPIOx_ODR) (x=A..E) 115 8.2.5 端口位设置/清除寄存器(GPIOx_BSRR) (x=A..E) 115 8.2.6 端口位清除寄存器(GPIOx_BRR) (x=A..E) 115 8.2.7 端口配置锁定寄存器(GPIOx_LCKR) (x=A..E) 116 8.3 复用功能I/O和调试配置(AFIO) 116 8.3.1 把OSC32_IN/OSC32_OUT作为GPIO 端口PC14/PC15 116 8.3.2 把OSC_IN/OSC_OUT引脚作为GPIO端口PD0/PD1 117 8.3.3 CAN1复用功能重映射 117 8.3.4 CAN2复用功能重映射 117 8.3.5 JTAG/SWD复用功能重映射 117 8.3.6 ADC复用功能重映射 118 8.3.7 定时器复用功能重映射 118 8.3.8 USART复用功能重映射 119 8.3.9 I2C1复用功能重映射 120 8.3.10 SPI 1复用功能重映射 120 8.3.11 SPI3复用功能重映射 120 8.3.12 以太网复用功能重映射 121 8.4 AFIO寄存器描述 121 8.4.1 事件控制寄存器(AFIO_EVCR) 121 8.4.2 复用重映射和调试I/O配置寄存器(AFIO_MAPR) 121 8.4.3 外部中断配置寄存器1(AFIO_EXTICR1) 126 8.4.4 外部中断配置寄存器2(AFIO_EXTICR2) 127 8.4.5 外部中断配置寄存器3(AFIO_EXTICR3) 127 8.4.6 外部中断配置寄存器4(AFIO_EXTICR4) 128 8.5 GPIO 和AFIO寄存器地址映象 129 9 中断和事件 130 9.1 嵌套向量中断控制器 130 9.1.1 系统嘀嗒(SysTick)校准值寄存器 130 9.1.2 中断和异常向量 130 9.2 外部中断/事件控制器(EXTI) 134 9.2.1 主要特性 134 9.2.2 框图 135 9.2.3 唤醒事件管理 135 9.2.4 功能说明 135 9.2.5 外部中断/事件线路映像 137 9.3 EXTI 寄存器描述 138 9.3.1 中断屏蔽寄存器(EXTI_IMR) 138 9.3.2 事件屏蔽寄存器(EXTI_EMR) 138 9.3.3 上升沿触发选择寄存器(EXTI_RTSR) 139 9.3.4 下降沿触发选择寄存器(EXTI_FTSR) 139 9.3.5 软件中断事件寄存器(EXTI_SWIER) 140 9.3.6 挂起寄存器(EXTI_PR) 140 9.3.7 外部中断/事件寄存器映像 141 10 DMA控制器(DMA) 142 10.1 DMA简介 142 10.2 DMA主要特性 142 10.3 功能描述 143 10.3.1 DMA处理 143 10.3.2 仲裁器 144 10.3.3 DMA 通道 144 10.3.4 可编程的数据传输宽度、对齐方式和数据大小端 145 10.3.5 错误管理 146 10.3.6 中断 146 10.3.7 DMA请求映像 147 10.4 DMA寄存器 149 10.4.1 DMA中断状态寄存器(DMA_ISR) 149 10.4.2 DMA中断标志清除寄存器(DMA_IFCR) 150 10.4.3 DMA通道x配置寄存器(DMA_CCRx)(x = 1…7) 150 10.4.4 DMA通道x传输数量寄存器(DMA_CNDTRx)(x = 1…7) 152 10.4.5 DMA通道x外设地址寄存器(DMA_CPARx)(x = 1…7) 152 10.4.6 DMA通道x存储器地址寄存器(DMA_CMARx)(x = 1…7) 152 10.4.7 DMA寄存器映像 153 11 模拟/数字转换(ADC) 155 11.1 ADC介绍 155 11.2 ADC主要特征 155 11.3 ADC功能描述 156 11.3.1 ADC开关控制 157 11.3.2 ADC时钟 157 11.3.3 通道选择 157 11.3.4 单次转换模式 157 11.3.5 连续转换模式 158 11.3.6 时序图 158 11.3.7 模拟看门狗 158 11.3.8 扫描模式 159 11.3.9 注入通道管理 159 11.3.10 间断模式 160 11.4 校准 161 11.5 数据对齐 161 11.6 可编程的通道采样时间 161 11.7 外部触发转换 162 11.8 DMA请求 163 11.9 双ADC模式 163 11.9.1 同步注入模式 164 11.9.2 同步规则模式 165 11.9.3 快速交叉模式 165 11.9.4 慢速交叉模式 166 11.9.5 交替触发模式 166 11.9.6 独立模式 167 11.9.7 混合的规则/注入同步模式 167 11.9.8 混合的同步规则+交替触发模式 167 11.9.9 混合同步注入 + 交叉模式 168 11.10 温度传感器 168 11.11 ADC中断 169 11.12 ADC寄存器 170 11.12.1 ADC状态寄存器(ADC_SR) 170 11.12.2 ADC控制寄存器1(ADC_CR1) 171 11.12.3 ADC控制寄存器2(ADC_CR2) 173 11.12.4 ADC采样时间寄存器1(ADC_SMPR1) 175 11.12.5 ADC采样时间寄存器2(ADC_SMPR2) 175 11.12.6 ADC注入通道数据偏移寄存器x (ADC_JOFRx)(x=1..4) 176 11.12.7 ADC看门狗高阀值寄存器(ADC_HTR) 176 11.12.8 ADC看门狗低阀值寄存器(ADC_LRT) 176 11.12.9 ADC规则序列寄存器1(ADC_SQR1) 177 11.12.10 ADC规则序列寄存器2(ADC_SQR2) 177 11.12.11 ADC规则序列寄存器3(ADC_SQR3) 178 11.12.12 ADC注入序列寄存器(ADC_JSQR) 178 11.12.13 ADC 注入数据寄存器x (ADC_JDRx) (x= 1..4) 179 11.12.14 ADC规则数据寄存器(ADC_DR) 179 11.12.15 ADC寄存器地址映像 180 12 数字/模拟转换(DAC) 182 12.1 DAC简介 182 12.2 DAC主要特征 182 12.3 DAC功能描述 183 12.3.1 使能DAC通道 183 12.3.2 使能DAC输出缓存 184 12.3.3 DAC数据格式 184 12.3.4 DAC转换 185 12.3.5 DAC输出电压 185 12.3.6 选择DAC触发 185 12.3.7 DMA请求 186 12.3.8 噪声生成 186 12.3.9 三角波生成 187 12.4 双DAC通道转换 187 12.4.1 不使用波形发生器的独立触发 187 12.4.2 使用相同LFSR的独立触发 188 12.4.3 使用不同LFSR的独立触发 188 12.4.4 产生相同三角波的独立触发 188 12.4.5 产生不同三角波的独立触发 188 12.4.6 同时软件启动 189 12.4.7 不使用波形发生器的同时触发 189 12.4.8 使用相同LFSR的同时触发 189 12.4.9 使用不同LFSR的同时触发 189 12.4.10 使用相同三角波发生器的同时触发 189 12.4.11 使用不同三角波发生器的同时触发 190 12.5 DAC寄存器 191 12.5.1 DAC控制寄存器(DAC_CR) 191 12.5.2 DAC软件触发寄存器(DAC_SWTRIGR) 193 12.5.3 DAC通道1的12位右对齐数据保持寄存器(DAC_DHR12R1) 194 12.5.4 DAC通道1的12位左对齐数据保持寄存器(DAC_DHR12L1) 194 12.5.5 DAC通道1的8位右对齐数据保持寄存器(DAC_DHR8R1) 194 12.5.6 DAC通道2的12位右对齐数据保持寄存器(DAC_DHR12R2) 195 12.5.7 DAC通道2的12位左对齐数据保持寄存器(DAC_DHR12L2) 195 12.5.8 DAC通道2的8位右对齐数据保持寄存器(DAC_DHR8R2) 195 12.5.9 双DAC的12位右对齐数据保持寄存器(DAC_DHR12RD) 196 12.5.10 双DAC的12位左对齐数据保持寄存器(DAC_DHR12LD) 196 12.5.11 双DAC的8位右对齐数据保持寄存器(DAC_DHR8RD) 196 12.5.12 DAC通道1数据输出寄存器(DAC_DOR1) 197 12.5.13 DAC通道2数据输出寄存器(DAC_DOR2) 197 12.5.14 DAC寄存器映像 198 13 高级控制定时器(TIM1和TIM8) 199 13.1 TIM1和TIM8简介 199 13.2 TIM1和TIM8主要特性 199 13.3 TIM1和TIM8功能描述 200 13.3.1 时基单元 200 13.3.2 计数器模式 202 13.3.3 重复计数器 209 13.3.4 时钟选择 210 13.3.5 捕获/比较通道 213 13.3.6 输入捕获模式 215 13.3.7 PWM输入模式 216 13.3.8 强置输出模式 216 13.3.9 输出比较模式 217 13.3.10 PWM模式 218 13.3.11 互补输出和死区插入 220 13.3.12 使用刹车功能 221 13.3.13 在外部事件时清除OCxREF信号 223 13.3.14 产生六步PWM输出 223 13.3.15 单脉冲模式 224 13.3.16 编码器接口模式 225 13.3.17 定时器输入异或功能 227 13.3.18 与霍尔传感器的接口 227 13.3.19 TIMx定时器和外部触发的同步 229 13.3.20 定时器同步 232 13.3.21 调试模式 232 13.4 TIM1和TIM8寄存器描述 233 13.4.1 TIM1和TIM8控制寄存器1(TIMx_CR1) 233 13.4.2 TIM1和TIM8控制寄存器2(TIMx_CR2) 234 13.4.3 TIM1和TIM8从模式控制寄存器(TIMx_SMCR) 235 13.4.4 TIM1和TIM8 DMA/中断使能寄存器(TIMx_DIER) 237 13.4.5 TIM1和TIM8状态寄存器(TIMx_SR) 238 13.4.6 TIM1和TIM8事件产生寄存器(TIMx_EGR) 239 13.4.7 TIM1和TIM8捕获/比较模式寄存器1(TIMx_CCMR1) 240 13.4.8 TIM1和TIM8捕获/比较模式寄存器2(TIMx_CCMR2) 242 13.4.9 TIM1和TIM8捕获/比较使能寄存器(TIMx_CCER) 244 13.4.10 TIM1和TIM8计数器(TIMx_CNT) 246 13.4.11 TIM1和TIM8预分频器(TIMx_PSC) 246 13.4.12 TIM1和TIM8自动重装载寄存器(TIMx_ARR) 246 13.4.13 TIM1和TIM8重复计数寄存器(TIMx_RCR) 246 13.4.14 TIM1和TIM8捕获/比较寄存器1(TIMx_CCR1) 247 13.4.15 TIM1和TIM8捕获/比较寄存器2(TIMx_CCR2) 247 13.4.16 TIM1和TIM8捕获/比较寄存器3(TIMx_CCR3) 247 13.4.17 TIM1和TIM8捕获/比较寄存器(TIMx_CCR4) 248 13.4.18 TIM1和TIM8刹车和死区寄存器(TIMx_BDTR) 248 13.4.19 TIM1和TIM8 DMA控制寄存器(TIMx_DCR) 249 13.4.20 TIM1和TIM8连续模式的DMA地址(TIMx_DMAR) 250 13.4.21 TIM1和TIM8寄存器图 251 14 通用定时器(TIMx) 253 14.1 TIMx简介 253 14.2 TIMx主要功能 253 14.3 TIMx功能描述 254 14.3.1 时基单元 254 14.3.2 计数器模式 255 14.3.3 时钟选择 263 14.3.4 捕获/比较通道 265 14.3.5 输入捕获模式 267 14.3.6 PWM输入模式 267 14.3.7 强置输出模式 268 14.3.8 输出比较模式 268 14.3.9 PWM 模式 269 14.3.10 单脉冲模式 271 14.3.11 在外部事件时清除OCxREF信号 273 14.3.12 编码器接口模式 273 14.3.13 定时器输入异或功能 275 14.3.14 定时器和外部触发的同步 275 14.3.15 定时器同步 277 14.3.16 调试模式 281 14.4 TIMx寄存器描述 282 14.4.1 控制寄存器1(TIMx_CR1) 282 14.4.2 控制寄存器2(TIMx_CR2) 283 14.4.3 从模式控制寄存器(TIMx_SMCR) 284 14.4.4 DMA/中断使能寄存器(TIMx_DIER) 285 14.4.5 状态寄存器(TIMx_SR) 286 14.4.6 事件产生寄存器(TIMx_EGR) 287 14.4.7 捕获/比较模式寄存器1(TIMx_CCMR1) 288 14.4.8 捕获/比较模式寄存器2(TIMx_CCMR2) 290 14.4.9 捕获/比较使能寄存器(TIMx_CCER) 292 14.4.10 计数器(TIMx_CNT) 293 14.4.11 预分频器(TIMx_PSC) 293 14.4.12 自动重装载寄存器(TIMx_ARR) 293 14.4.13 捕获/比较寄存器1(TIMx_CCR1) 293 14.4.14 捕获/比较寄存器2(TIMx_CCR2) 294 14.4.15 捕获/比较寄存器3(TIMx_CCR3) 294 14.4.16 捕获/比较寄存器4(TIMx_CCR4) 294 14.4.17 DMA控制寄存器(TIMx_DCR) 295 14.4.18 连续模式的DMA地址(TIMx_DMAR) 295 14.4.19 TIMx寄存器图 296 15 基本定时器(TIM6和TIM7) 298 15.1 TIM6和TIM7简介 298 15.2 TIM6和TIM7的主要特性 298 15.3 TIM6和TIM7的功能 299 15.3.1 时基单元 299 15.3.2 计数模式 300 15.3.3 时钟源 302 15.3.4 调试模式 303 15.4 TIM6和TIM7寄存器 303 15.4.1 TIM6和TIM7控制寄存器1(TIMx_CR1) 303 15.4.2 TIM6和TIM7控制寄存器2(TIMx_CR2) 304 15.4.3 TIM6和TIM7 DMA/中断使能寄存器(TIMx_DIER) 304 15.4.4 TIM6和TIM7状态寄存器(TIMx_SR) 305 15.4.5 TIM6和TIM7事件产生寄存器(TIMx_EGR) 305 15.4.6 TIM6和TIM7计数器(TIMx_CNT) 305 15.4.7 TIM6和TIM7预分频器(TIMx_PSC) 306 15.4.8 TIM6和TIM7自动重装载寄存器(TIMx_ARR) 306 15.4.9 TIM6和TIM7寄存器图 307 16 实时时钟(RTC) 308 16.1 RTC简介 308 16.2 主要特性 308 16.3 功能描述 308 16.3.1 概述 308 16.3.2 复位过程 309 16.3.3 读RTC寄存器 309 16.3.4 配置RTC寄存器 310 16.3.5 RTC标志的设置 310 16.4 RTC寄存器描述 311 16.4.1 RTC控制寄存器高位(RTC_CRH) 311 16.4.2 RTC控制寄存器低位(RTC_CRL) 311 16.4.3 RTC预分频装载寄存器(RTC_PRLH/RTC_PRLL) 312 16.4.4 RTC预分频器余数寄存器(RTC_DIVH / RTC_DIVL) 313 16.4.5 RTC计数器寄存器 (RTC_CNTH / RTC_CNTL) 313 16.4.6 RTC闹钟寄存器(RTC_ALRH/RTC_ALRL) 314 16.4.7 RTC寄存器映像 315 17 独立看门狗(IWDG) 316 17.1 简介 316 17.2 IWDG主要性能 316 17.3 IWDG功能描述 316 17.3.1 硬件看门狗 316 17.3.2 寄存器访问保护 316 17.3.3 调试模式 316 17.4 IWDG寄存器描述 317 17.4.1 键寄存器(IWDG_KR) 317 17.4.2 预分频寄存器(IWDG_PR) 318 17.4.3 重装载寄存器(IWDG_RLR) 318 17.4.4 状态寄存器(IWDG_SR) 319 17.4.5 IWDG寄存器映像 319 18 窗口看门狗(WWDG) 320 18.1 WWDG简介 320 18.2 WWDG主要特性 320 18.3 WWDG功能描述 320 18.4 如何编写看门狗超时程序 321 18.5 调试模式 322 18.6 寄存器描述 322 18.6.1 控制寄存器(WWDG_CR) 322 18.6.2 配置寄存器(WWDG_CFR) 322 18.6.3 状态寄存器(WWDG_SR) 323 18.6.4 WWDG寄存器映像 323 19 灵活的静态存储器控制器(FSMC) 324 19.1 FSMC功能描述 324 19.2 框图 324 19.3 AHB接口 325 19.3.1 支持的存储器和操作 325 19.4 外部设备地址映像 326 19.4.1 NOR和PSRAM地址映像 327 19.4.2 NAND和PC卡地址映像 327 19.5 NOR闪存和PSRAM控制器 328 19.5.1 外部存储器接口信号 329 19.5.2 支持的存储器及其操作 330 19.5.3 时序规则 330 19.5.4 NOR闪存和PSRAM控制器时序图 330 19.5.5 同步的成组读 343 19.5.6 NOR闪存和PSRAM控制器寄存器 347 19.6 NAND闪存和PC卡控制器 352 19.6.1 外部存储器接口信号 352 19.6.2 NAND闪存/PC卡支持的存储器及其操作 353 19.6.3 NAND闪存、ATA和PC卡时序图 353 19.6.4 NAND闪存操作 354 19.6.5 NAND闪存预等待功能 355 19.6.6 NAND闪存的纠错码ECC计算(NAND闪存) 356 19.6.7 NAND闪存和PC卡控制器寄存器 356 19.7 FSMC寄存器地址映象 362 20 SDIO接口(SDIO) 363 20.1 SDIO主要功能 363 20.2 SDIO总线拓扑 363 20.3 SDIO功能描述 366 20.3.1 SDIO适配器 367 20.3.2 SDIO AHB接口 374 20.4 卡功能描述 374 20.4.1 卡识别模式 374 20.4.2 卡复位 374 20.4.3 操作电压范围确认 375 20.4.4 卡识别过程 375 20.4.5 写数据块 376 20.4.6 读数据块 376 20.4.7 数据流操作,数据流写入和数据流读出(只适用于多媒体卡) 376 20.4.8 擦除:成组擦除和扇区擦除 377 20.4.9 宽总线选择和解除选择 378 20.4.10 保护管理 378 20.4.11 卡状态寄存器 380 20.4.12 SD状态寄存器 382 20.4.13 SD的I/O模式 385 20.4.14 命令与响应 385 20.5 响应格式 388 20.5.1 R1(普通响应命令) 388 20.5.2 R1b 388 20.5.3 R2(CID、CSD寄存器) 388 20.5.4 R3(OCR寄存器) 389 20.5.5 R4(快速I/O) 389 20.5.6 R4b 389 20.5.7 R5(中断请求) 390 20.5.8 R6(中断请求) 390 20.6 SDIO I/O卡特定的操作 390 20.6.1 使用SDIO_D2信号线的SDIO I/O读等待操作 390 20.6.2 使用停止SDIO_CK的SDIO读等待操作 391 20.6.3 SDIO暂停/恢复操作 391 20.6.4 SDIO中断 391 20.7 CE-ATA特定操作 391 20.7.1 命令完成指示关闭 391 20.7.2 命令完成指示使能 391 20.7.3 CE-ATA中断 392 20.7.4 中止CMD61 392 20.8 硬件流控制 392 20.9 SDIO寄存器 392 20.9.1 SDIO电源控制寄存器(SDIO_POWER) 392 20.9.2 SDIO时钟控制寄存器(SDIO_CLKCR) 392 20.9.3 SDIO参数寄存器(SDIO_ARG) 393 20.9.4 SDIO命令寄存器(SDIO_CMD) 393 20.9.5 SDIO命令响应寄存器(SDIO_RESPCMD) 394 20.9.6 SDIO响应1..4寄存器(SDIO_RESPx) 395 20.9.7 SDIO数据定时器寄存器(SDIO_DTIMER) 395 20.9.8 SDIO数据长度寄存器(SDIO_DLEN) 395 20.9.9 SDIO数据控制寄存器(SDIO_DCTRL) 396 20.9.10 SDIO数据计数器寄存器(SDIO_DCOUNT) 397 20.9.11 SDIO状态寄存器(SDIO_STA) 397 20.9.12 SDIO清除中断寄存器(SDIO_ICR) 398 20.9.13 SDIO中断屏蔽寄存器(SDIO_MASK) 399 20.9.14 SDIO FIFO计数器寄存器(SDIO_FIFOCNT) 401 20.9.15 SDIO数据FIFO寄存器(SDIO_FIFO) 401 20.9.16 SDIO寄存器映像 402 21 USB全速设备接口(USB) 403 21.1 USB简介 403 21.2 USB主要特征 403 21.3 USB功能描述 404 21.3.1 USB功能模块描述 405 21.4 编程中需要考虑的问题 406 21.4.1 通用USB设备编程 406 21.4.2 系统复位和上电复位 406 21.4.3 双缓冲端点 409 21.4.4 同步传输 410 21.4.5 挂起/恢复事件 411 21.5 USB寄存器描述 412 21.5.1 通用寄存器 412 21.5.2 端点寄存器 416 21.5.3 缓冲区描述表 419 21.5.4 USB寄存器映像 421 22 控制器局域网(bxCAN) 423 22.1 bxCAN简介 423 22.2 bxCAN主要特点 423 22.3 bxCAN总体描述 424 22.3.1 CAN 2.0B主动内核 424 22.3.2 控制、状态和配置寄存器 424 22.3.3 发送邮箱 424 22.3.4 接收过滤器 424 22.4 bxCAN工作模式 426 22.4.1 初始化模式 426 22.4.2 正常模式 426 22.4.3 睡眠模式(低功耗) 426 22.5 测试模式 427 22.5.1 静默模式 427 22.5.2 环回模式 427 22.5.3 环回静默模式 428 22.6 STM32F10xxx处于调试模式时 428 22.7 bxCAN功能描述 428 22.7.1 发送处理 428 22.7.2 时间触发通信模式 430 22.7.3 接收管理 430 22.7.4 标识符过滤 431 22.7.5 报文存储 434 22.7.6 出错管理 435 22.7.7 位时间特性 436 22.8 bxCAN中断 438 22.9 CAN 寄存器描述 439 22.9.1 寄存器访问保护 439 22.9.2 CAN控制和状态寄存器 439 22.9.3 CAN邮箱寄存器 447 22.9.4 CAN过滤器寄存器 451 22.9.5 bxCAN寄存器列表 454 23 串行外设接口(SPI) 457 23.1 SPI简介 457 23.2 SPI和I2S主要特征 457 23.2.1 SPI特征 457 23.2.2 I2S功能 458 23.3 SPI功能描述 459 23.3.1 概述 459 23.3.2 配置SPI为从模式 462 23.3.3 配置SPI为主模式 462 23.3.4 配置SPI为单工通信 463 23.3.5 数据发送与接收过程 463 23.3.6 CRC计算 468 23.3.7 状态标志 469 23.3.8 关闭SPI 470 23.3.9 利用DMA的SPI通信 470 23.3.10 错误标志 472 23.3.11 SPI中断 472 23.4 I2S功能描述 473 23.4.1 I2S功能描述 473 23.4.2 支持的音频协议 474 23.4.3 时钟发生器 479 23.4.4 I2S主模式 482 23.4.5 I2S从模式 483 23.4.6 状态标志位 484 23.4.7 错误标志位 485 23.4.8 I2S中断 485 23.4.9 DMA功能 485 23.5 SPI和I2S寄存器描述 486 23.5.1 SPI控制寄存器1(SPI_CR1)(I2S模式下不使用) 486 23.5.2 SPI控制寄存器2(SPI_CR2) 487 23.5.3 SPI 状态寄存器(SPI_SR) 488 23.5.4 SPI 数据寄存器(SPI_DR) 489 23.5.5 SPI CRC多项式寄存器(SPI_CRCPR)(I2S模式下不使用) 489 23.5.6 SPI Rx CRC寄存器(SPI_RXCRCR)(I2S模式下不使用) 490 23.5.7 SPI Tx CRC寄存器(SPI_TXCRCR) 490 23.5.8 SPI_I2S配置寄存器(SPI_I2S_CFGR) 490 23.5.9 SPI_I2S预分频寄存器(SPI_I2SPR) 491 23.5.10 SPI 寄存器地址映象 492 24 I2C接口 493 24.1 I2C简介 493 24.2 I2C主要特点 493 24.3 I2C功能描述 494 24.3.1 模式选择 494 24.3.2 I2C从模式 495 24.3.3 I2C主模式 497 24.3.4 错误条件 499 24.3.5 SDA/SCL线控制 500 24.3.6 SMBus 501 24.3.7 DMA请求 502 24.3.8 包错误校验(PEC) 503 24.4 I2C中断请求 504 24.5 I2C调试模式 505 24.6 I2C寄存器描述 505 24.6.1 控制寄存器1(I2C_CR1) 505 24.6.2 控制寄存器2(I2C_CR2) 507 24.6.3 自身地址寄存器1(I2C_OAR1) 508 24.6.4 自身地址寄存器2(I2C_OAR2) 509 24.6.5 数据寄存器(I2C_DR) 509 24.6.6 状态寄存器1(I2C_SR1) 510 24.6.7 状态寄存器2 (I2C_SR2) 512 24.6.8 时钟控制寄存器(I2C_CCR) 513 24.6.9 TRISE寄存器(I2C_TRISE) 514 24.6.10 I2C寄存器地址映象 515 25 通用同步异步收发器(USART) 516 25.1 USART介绍 516 25.2 USART主要特性 516 25.3 USART功能概述 517 25.3.1 USART 特性描述 518 25.3.2 发送器 519 25.3.3 接收器 521 25.3.4 分数波特率的产生 524 25.3.5 USART接收器容忍时钟的变化 525 25.3.6 多处理器通信 526 25.3.7 校验控制 527 25.3.8 LIN(局域互联网)模式 528 25.3.9 USART 同步模式 530 25.3.10 单线半双工通信 532 25.3.11 智能卡 532 25.3.12 IrDA SIR ENDEC 功能模块 533 25.3.13 利用DMA连续通信 535 25.3.14 硬件流控制 537 25.4 USART中断请求 538 25.5 USART模式配置 539 25.6 USART寄存器描述 540 25.6.1 状态寄存器(USART_SR) 540 25.6.2 数据寄存器(USART_DR) 541 25.6.3 波特比率寄存器(USART_BRR) 542 25.6.4 控制寄存器1(USART_CR1) 542 25.6.5 控制寄存器2(USART_CR2) 544 25.6.6 控制寄存器3(USART_CR3) 545 25.6.7 保护时间和预分频寄存器(USART_GTPR) 546 25.6.8 USART寄存器地址映象 548 26 USB OTG全速(OTG_FS) 549 26.1 OTG模块介绍 549 26.2 OTG_FS主要功能 549 26.2.1 通用功能 549 26.2.2 主机模式功能 550 26.2.3 设备模式功能 550 26.3 OTG_FS功能描述 551 26.3.1 OTG全速控制器 551 26.3.2 全速OTG PHY(物理接口) 551 26.4 OTG双角色设备(DRD) 552 26.4.1 ID信号检测 552 26.4.2 HNP双角色设备 552 26.4.3 SRP双角色设备 553 26.5 USB设备模式 553 26.5.1 具备SRP功能的设备 553 26.5.2 设备状态 554 26.5.3 设备端点 554 26.6 USB主机 556 26.6.1 具备SRP功能的主机 556 26.6.2 USB主机状态 557 26.6.3 主机通道 558 26.6.4 主机调度器 558 26.7 SOF触发 560 26.7.1 主机SOF 560 26.7.2 设备SOF 560 26.8 供电选项 560 26.9 USB数据FIFO 562 26.10 设备模式下的FIFO结构 563 26.10.1 设备模式下的接收FIFO 563 26.10.2 设备模式下的发送FIFO 563 26.11 主机模式下的FIFO结构 564 26.11.1 主机模式下的接收FIFO 564 26.11.2 主机模式下的发送FIFO 564 26.12 USB系统性能 565 26.13 OTG_FS中断 566 26.14 OTG_FS控制和状态寄存器 566 26.14.1 CSR存储器映像 567 26.14.2 OTG_FS全局寄存器 570 26.14.3 主机模式下的寄存器 585 26.14.4 设备模式下的寄存器 593 26.14.5 OTG_FS电源和时钟门控寄存器(OTG_FS_PCGCCTL) 608 26.14.6 OTG_FS寄存器映像 610 26.15 OTG_FS编程规则 617 26.15.1 控制器初始化 617 26.15.2 主机模式下的初始化 617 26.15.3 设备模式下的初始化 617 26.15.4 主机模式下的编程规则 618 26.15.5 设备模式下的编程规则 632 26.15.6 操作流程 633 26.15.7 最差情况下的响应时间 646 26.15.8 OTG编程规则 648 27 以太网(ETH):具有DMA控制器的介质访问控制(MAC) 652 27.1 以太网模块介绍 652 27.2 以太网模块主要功能 652 27.2.1 MAC控制器功能 652 27.2.2 DMA功能 653 27.2.3 PTP功能 654 27.3 以太网模块引脚和内部信号 654 27.4 以太网模块功能描述:SMI、MII和RMII 655 27.4.1 站点管理接口(SMI) 655 27.4.2 独立于介质的接口:MII 657 27.4.3 精简的独立于介质的接口:RMII 659 27.4.4 MII/RMII的选择 660 27.5 以太网模块功能描述:MAC 802.3 660 27.5.1 MAC 802.3帧格式 661 27.5.2 MAC帧的传输 663 27.5.3 MAC帧的接收 669 27.5.4 MAC中断 673 27.5.5 MAC过滤 673 27.5.6 MAC自循环模式 675 27.5.7 MAC管理计数器:MMC 675 27.5.8 电源管理:PMT 676 27.5.9 精确时间协议(IEEE1588 PTP) 678 27.6 以太网功能描述:DMA控制器操作 682 27.6.1 使用DMA发送的初始化步骤 683 27.6.2 主机总线突发访问 683 27.6.3 主机数据缓存对齐 684 27.6.4 缓冲区大小计算 684 27.6.5 DMA仲裁器 684 27.6.6 DMA错误响应 684 27.6.7 发送DMA设置 684 27.6.8 接收DMA设置 694 27.6.9 DMA中断 700 27.7 以太网中断 701 27.8 以太网寄存器描述 702 27.8.1 MAC寄存器描述 702 27.8.2 MMC寄存器描述 713 27.8.3 IEEE 1588时间戳寄存器 716 27.8.4 DMA寄存器描述 719 27.8.5 以太网寄存器映像 729 28 器件电子签名 732 28.1 存储器容量寄存器 732 28.1.1 闪存容量寄存器 732 28.2 产品唯一身份标识寄存器(96位) 732 29 调试支持(DBG) 734 29.1 概况 734 29.2 ARM参考文献 735 29.3 SWJ调试端口(serial wire and JTAG) 735 29.3.1 JTAG-DP和SW-DP切换的机制 736 29.4 引脚分布和调试端口脚 736 29.4.1 SWJ调试端口脚 736 29.4.2 灵活的SWJ-DP脚分配 736 29.4.3 JTAG脚上的内部上拉和下拉 737 29.4.4 利用串行接口并释放不用的调试脚作为普通I/O口 737 29.5 STM32F10xxx JTAG TAP 连接 738 29.6 ID 代码和锁定机制 738 29.6.1 微控制器设备ID编码 738 29.6.2 边界扫描TAP 739 29.6.3 Cortex-M3 TAP 740 29.6.4 Cortex-M3 JEDEC-106 ID代码 740 29.7 JTAG调试端口 740 29.8 SW调试端口 741 29.8.1 SW协议介绍 741 29.8.2 SW协议序列 741 29.8.3 SW-DP状态机(Reset, idle states, ID code) 742 29.8.4 DP和AP读/写访问 742 29.8.5 SW-DP寄存器 742 29.8.6 SW-AP寄存器 743 29.9 对于JTAG-DP或SWDP都有效的AHB-AP (AHB 访问端口) 743 29.10 内核调试 744 29.11 调试器主机在系统复位下的连接能力 744 29.12 FPB (Flash patch breakpoint) 744 29.13 DWT(数据观察点触发data watchpoint trigger) 745 29.14 ITM (指令跟踪微单元 instrumentation trace macrocell) 745 29.14.1 概述 745 29.14.2 时间戳包,同步和溢出包 745 29.15 ETM模块(嵌入式跟踪微单元Embedded Trace Macrocell) 746 29.15.1 概述 746 29.15.2 信号协议和包类型 746 29.15.3 主要的ETM寄存器 747 29.15.4 配置实例 747 29.16 MCU调试模块(MCUDBG) 747 29.16.1 低功耗模式的调试支持 747 29.16.2 支持定时器、看门狗、bxCAN和I2C的调试 747 29.16.3 调试MCU配置寄存器 748 29.17 TPIU (跟踪端口接口单元 Trace Port Interface Unit) 750 29.17.1 导言 750 29.17.2 跟踪引脚分配 750 29.17.3 TPUI格式器 752 29.17.4 TPUI帧异步包 752 29.17.5 同步帧包的发送 752 29.17.6 同步模式 752 29.17.7 异步模式 753 29.17.8 TRACECLKIN在STM32F10xxx内部的连接 753 29.17.9 TPIU寄存器 753 29.17.10 配置的例子 754 29.18 DBG寄存器地址映象 754

2,640

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 硬件/系统
社区管理员
  • 硬件/系统社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧