精品推荐

最新上传

Selenium+Python自动化操控登录界面实例(含简单验证码图片校验)

2.3片上外设所有外设寄存器不管规格大小,都按照字地址进行分配(32位边界)。这样就不再需要使用字节定位映射的硬件来进行小边界的字节(8位)或半字(16位)访问。这样做的结果是,所有字寄存器与半字寄存器都是一次性访问。不能对一个字寄存器的最高字节执行单独的读或写操作。

2.3.1 AHB外设

下表给出了AHB总线矩阵上的外设功能地址。有关寄存器的完整描述可见相关章节。如果你对更多的外设总线感兴趣,可以参考外设及外设总线AMBA AHB和APB片上总线简介,它们提供了详尽的技术细节。

表4. AHB外设及基址

| AHB外设基址 | 外设名称 |

|---------------|----------|

| 0 0x2008 0000 to 0x2008 3FFF | 通用DMA控制器 |

| 1 0x2008 4000 to 0x2008 7FFF | 以太网MAC |

| 2 0x2008 8000 to 0x2008 BFFF | LCD控制器 |

| 3 0x2008 C000 to 0x2008 FFFF | USB接口 |

| 4 0x2009 0000 to 0x2009 3FFF | CRC引擎 |

| 5 0x2009 4000 to 0x2009 7FFF | 保留 |

| 6 0x2009 8000 to 0x2009 BFFF | GPIO |

| 7 0x2009 C000 to 0x2009 FFFF | 外部存储控制器 |

| 8 to 15 0x200A 0000 to 0x200B FFFF | 保留 |

2.3.2 APB外设地址

下表显示了2个APB总线的地址映射。APB外设不会全部用完分配给它们的16kB空间。通常,每个器件的寄存器在各个16kB范围内的多个位置上采用―别名‖或重复。对于实际应用中的例子,可以参考xc878片上外设举例JN516x中文片上外设配套例程

表5. APB0外设及基址

| APB0外设基址 | 外设名称 |

|---------------|----------|

| 0 0x4000 0000 | 看门狗定时器 |

| 1 0x4000 4000 | 定时器0 |

| 2 0x4000 8000 | 定时器1 |

| 3 0x4000 C000 | 通用异步收发传输器0 |

| 4 0x4001 0000 | 通用异步收发传输器1 |

| 5 0x4001 4000 | PWM0 |

| 6 0x4001 8000 | PWM1 |

| 7 0x4001 C000 | I2C0 |

| 8 0x4002 0000 | 保留 |

| 9 0x4002 4000 | 实时时钟和时间监视器/记录器 |

| 10 0x4002 8000 | GPIO中断 |

| 11 0x4002 C000 | 管脚连接模块 |

| 12 0x4003 0000 | 串行同步接口1 |

| 13 0x4003 4000 | A/D转换器 |

| 14 0x4003 8000 | CAN接收滤波器RAM |

| 15 0x4003 C000 | CAN接收滤波器寄存器 |

难以想象,这些小小的基址如何能驱动如此复杂的设备!你是否想过这些微小的配置竟然可以支持如此广泛的外设功能呢?对于更深入的理解,尽管参考这些外设技术资料吧!

eve1055 0 pdf 20.17MB 2024-07-27

存储器重新映射-selenium+python自动化操控登录界面实例(有简单验证码图片校验)

2.4 存储器重新映射

Cortex-M3 包含了一种允许将中断向量表重新映射到存储器映射空间的备用单元的机制。这通过 Cortex-M3 所包含的向量表偏移寄存器控制。有关向量表偏移功能的详细情况,请见 6.4 节的 NVIC 描述,以及本手册附带的《Cortex-M3 用户指南》中 39.4.3.5 节。在无 Flash 工作情况下,以 0x8000 0000 为起始地址的用户程序必须设置一个中断向量表。有关无 Flash 工作详情,见 7.2 节的“引导控制”。启动 ROM 的重新映射在一个硬件复位后,启动 ROM 会临时被映射到地址 0。通常,这个过程用户可见。但是,如果该执行在复位后立即被一个调试程序停止,则应为用户校正映射。见 38.8 节。

2.5 AHB 仲裁

对多层 AHB 矩阵,只有当多个主机试图同时访问同一矩阵从机端口时,才会做主机之间的仲裁。默认情况下,Cortex-M3 的 D-code 总线有最高优先级,然后是 I-code 总线。所有其它主机的优先级较低。用户可以改变默认优先级。在使用 LCD 接口而无法获取充分的数据时,这种方法尤其有效。

2.5.1 矩阵仲裁寄存器(Matrix_Arb—0x400F C188)

矩阵仲裁寄存器提供了修改 AHB 矩阵仲裁默认优先级的功能。表 7. 矩阵仲裁寄存器(矩阵_仲裁-0x400F C188)位描述:

  • 1:0 PRI_ICODE I-Code 总线优先级应低于 PRI_DCODE 的优先级以保证正常运行。 0x1

  • 3:2 PRI_DCODE D-Code 总线优先级 0x3

  • 5:4 PRI_SYS 系统总线优先级 0

  • 7:6 PRI_GPDMA 通用 DMA 控制器优先级 0

  • 9:8 PRI_ETH 以太网 DMA 优先级 0

  • 11:10 PRI_LCD DMA 优先级 0

  • 13:12 PRI_USB DMA 优先级 0

  • 15:14 - 保留。读取值未定义,只写入 0。无

  • 16 ROM_LAT 只读存储器延迟选择。应固定为 0。 0

  • 31:17 - 保留。读取值未定义,只写入 0。无

看似复杂的仲裁机制其实很有趣,对相关知识有兴趣?看看这篇关于 PCI 总线仲裁的机制 的文章,也许能帮你更好地理解这些概念。如果你在设计仲裁器方面遇到困难,不妨参考 关于 PCI 仲裁器的设计,这篇文章详细解释了设计过程和注意事项,定能对你有所帮助。

总线仲裁不仅仅是理论上的探讨,实际应用中同样重要。IIC 总线规范与仲裁 的介绍,就详细说明了在实际总线设计中,如何有效管理数据流和优先级,确保系统的高效运行。

qqprofitable67025 0 pdf 20.17MB 2024-07-27

寄存器描述-selenium+python自动化操控登录界面实例(有简单验证码图片校验)

3.3 寄存器描述所有寄存器,无论大小,都按照字地址边界对齐。寄存器详情见各功能说明。系统控制模块的寄存器汇总如下:

表9. 系统控制模块寄存器汇总

| 名称 | 描述 | 访问 | 复位值 | 地址 |

|----------|-------------------|-------|--------|------------|

| RSID | 复位源标识寄存器 | R/W | 参见表10 | 0x400F C180 |

| RSTCON0 | 个别外设复位控制位 | R/W | 0 | 0x400F C1CC |

| RSTCON1 | 个别外设复位控制位 | R/W | 0 | 0x400F C1D0 |

| EXTINT | 外部中断标志寄存器 | R/W | 0 | 0x400F C140 |

| EXTMODE | 外部中断模式寄存器 | R/W | 0 | 0x400F C148 |

| EXTPOLAR | 外部中断极性寄存器 | R/W | 0 | 0x400F C14C |

| SCS | 系统控制及状态寄存器 | R/W | 0 | 0x400F C1A0 |

更详细的信息,可以参考以下内容:

你是否对这些内容感兴趣呢?这些资源将带你深入探究寄存器和外部中断的世界,学会如何灵活应用这些知识,简直是硬件工程师的福音!

vitamin6393 0 pdf 20.17MB 2024-07-27

Selenium+Python自动化登录界面操作实例(含简单验证码图片校验)

3.4芯片复位LPC178x/177x有6个复位源:RESET管脚复位、看门狗复位、上电复位(POR)、掉电检测(BOD)复位、系统复位,以及锁定。RESET管脚是一个施密特触发器输入管脚。一旦操作电压达到某个可用电平,则任何复位源激活的芯片复位会启动唤醒定时器,复位信号将保持有效,直到外部复位信号被撤销,振荡器开始运行,时钟计数超过了固定的时钟个数,并且Flash控制器已完成其初始化。要了解更多关于时钟复位的细节,可以参考时钟复位与时序约束

复位逻辑显示在下列方框图中:外部复位,看门狗复位,掉电复位,EINT0唤醒,EINT1唤醒,EINT2唤醒,EINT3唤醒,RTC唤醒,BOD唤醒,以太网MAC唤醒,USB need_clk唤醒,CAN唤醒,GPIO0端口唤醒,GPIO2端口唤醒。复位到片内电路,复位到PCON.PD唤醒定时器启动,内部RC振荡器从APB写入“1”复位,APB读取PCON中的PDBIT Fosc到其他模块。要深入了解复位电路设计,可以查看这篇文章复位电路设计

当一个复位源向Cortex-M3 CPU外部发出复位信号时,IRC开始起振。IRC起振(上电后最多60µs)以及IRC提供稳定的时钟输出后,复位信号被锁存并与IRC时钟同步。然后将同时启动下面两个序列:1.当同步复位无效时,2位IRC唤醒定时器开始计数。2位IRC唤醒定时器的计数结束时,ROM中的引导代码启动,完成启动工作,就可以跳至Flash。如果Flash未准备就绪接受访问,则Flash加速器将插入等待周期,直到Flash就绪。2.当同步复位无效时,Flash唤醒定时器(9位)开始计数。Flash唤醒定时器产生100µs。想要了解更多关于上电时序和复位的分析,点击这里

如果你对单片机上电复位和复位延时的时序分析感兴趣,可以参考这篇文章单片机上电复位和复位延时的时序分析。而对于复位芯片的具体选择和设计,请查看复位信号产生电路的具体电路设计及芯片选择。这些资源将帮助你更好地理解和设计复位电路。

eventually5559 0 pdf 20.17MB 2024-07-27

Selenium+Python自动化登录界面实例(含简单验证码图片校验)

3.5外设复位控制

LPC17M6x上的多数外设功能都有一个由软件发起的硬件复位,方法是在RSTCON0和RSTCON1寄存器中设置相应的位。然后,软件必须清除RSTCON寄存器,才能使外设工作。外设会保持在一个硬件复位状态,直到RSTCON中的相应位等于1。

3.5.1复位控制寄存器0(RSTCON0—0x400F C1CC)

使用RSTCON0寄存器,可以给很多外设一个硬件复位。见表11中的说明。继续采用RSTCON1寄存器可以复位更多的外设。

表11.复位控制寄存器0 (RSTCON0—0x400F C1CC)位描述

| 位 | 符号 | 描述 | 复位值 |

|---|---|---|---|

| 0 | RSTLCD | LCD控制器复位控制位。 | 0 |

| 1 | RSTTIM0 | 定时器/计数器0复位控制位。 | 0 |

| 2 | RSTTIM1 | 定时器/计数器1复位控制位。 | 0 |

| 3 | RSTUART0 | UART0复位控制位。 | 0 |

| 4 | RSTUART1 | UART1复位控制位。 | 0 |

| 5 | RSTPWM0 | PWM0复位控制位。 | 0 |

| 6 | RSTPWM1 | PWM1复位控制位。 | 0 |

| 7 | RSTI2C0 | I2C0接口复位控制位。 | 0 |

| 8 | RSTUART4 | UART4复位控制位。 | 0 |

| 9 | RSTRTC | 实时时钟(RTC)和事件监视器/记录器复位控制位。RTC复位受限,具体请参见表620。 | 0 |

| 10 | RSTSSP1 | SSP1接口复位控制位。 | 0 |

| 11 | RSTEMC | 外部存储控制器复位控制位。 | 0 |

| 12 | RSTADC | A/D转换器(ADC)复位控制位。 | 0 |

| 13 | RSTCAN1 | CAN控制器1复位控制位。说明:CAN接收滤波器可能被RSTCON1寄存器中的一个独立位复位置零。 | 0 |

| 14 | RSTCAN2 | CAN控制器2复位控制位。说明:CAN接收滤波器可能被RSTCON1寄存器中的一个独立位复位置零。 | 0 |

| 15 | RSTGPIO | GPIO和GPIO中断复位控制位。说明:IOCON可能被RSTCON1寄存器中的一个独立位复位置零。 | 0 |

| 16 | - | 保留。读取值未定义,只写入0。 | 无 |

| 17 | RSTMCPWM | 电机控制PWM复位控制位。 | 0 |

| 18 | RSTQEI | 正交编码器接口复位控制位。 | 0 |

| 19 | RSTI2C1 | I2C1接口复位控制位。 | 0 |

| 20 | RSTSSP2 | SSP2接口复位控制位。 | 0 |

| 21 | RSTSSP0 | SSP0接口复位控制位。 | 0 |

| 22 | RSTTIM2 | 定时器2复位控制位。 | 0 |

| 23 | RSTTIM3 | 定时器3复位控制位。 | 0 |

想深入了解更多关于硬件复位的方法?请参阅《硬件复位方法》。如果你对复位源识别控制感兴趣,可以访问《复位源识别控制》。对于那些希望探讨同步复位与异步复位区别的人来说,绝对不要错过《基础电子中的同步复位与异步复位异步复位和同步复位区别异步复位同步释放》。这些资源将带你走进一个充满知识的世界,让你在硬件复位领域游刃有余!

为什么不多了解一些同步复位与异步复位的设计呢?点击这里,你将发现更多有趣的内容!

qqhate61572 0 pdf 20.17MB 2024-07-27

Selenium + Python 自动化操作登录界面实例(附简单验证码图片校验)

3.7外部中断输入LPC178x/177x有4个外部中断输入,作为可选择的管脚功能。外部中断能够将CPU从掉电模式中唤醒。详见4.7.6节。EINTi管脚毛刺滤波器EINTi中断使能内部复位写入EXTINTi EINTi到唤醒定时器中断标志(1-位EXTINT)到中断控制器APB读取EXTINTi。

你是否知道,在实际应用中,这些外部中断是如何实现的呢?想深入了解更多有关外部中断的使用方法吗?可以参考外部中断的详细资料,这里有你需要的全部信息。

而对于那些对更具体的应用场景,比如在自动化操控登录界面时的验证码校验感兴趣的朋友,不妨看看Selenium + Python自动化操控登录界面实例(含简单验证码图片校验),这篇文章详细介绍了如何使用Selenium和Python来处理这些操作。

当然,如果你对更深入的技术细节,比如中断处理的各种实例和技巧感兴趣,中断处理-selenium+python自动化操控登录界面实例(有简单验证码图片校验)也是一个不错的选择。

总之,不论你是刚入门的新手,还是想要精进技术的老手,这些资源都能帮助你更好地理解和应用外部中断技术。不妨点击这些链接,深入探索吧!

limelight70521 0 pdf 20.17MB 2024-07-27

Selenium+Python 自动化操控登录界面实例(含简单验证码图片校验)

3.6 掉电检测

LPC178x/177x带有掉电检测器(BOD),提供了对VDD(REG)(3V3)管脚电压的两级监控。如果该管脚电压低于BOD中断触发电平(标称室温条件下的典型值为2.2V),BOD会向NVIC发出一个中断信号。这个信号可以将NVIC中断使能寄存器中的中断使能,从而产生一个CPU中断;否则,软件通过读取原始中断状态寄存器,监控该信号。当管脚上的电压低于BOD复位触发电平时(标称室温条件下的典型值为1.85V),第二级掉电检测发出一个复位信号,停止LPC178x/177x的工作。这种设计能有效防止在低电压条件下对Flash的修改,因为芯片中各部件的运行将变得不可靠。

想了解更多关于电压检测复位芯片的内容?不妨看看电压检测复位芯片HT70XX!这里有详细的说明和图片。

BOD电路会将这个复位保持在低于1V,此时上电复位电路维持着整体的复位。BOD复位中断电平与BOD复位触发电平阈值这两者都含有一些滞后。正常工作情况下,这个滞后能使BOD复位中断电平检测可靠的中断,或让一个定期执行的事件循环来探测条件。

如果你对复位软件监控感兴趣,可以参考复位软件监控,了解更多相关知识!

当掉电检测被使能,将LPC178x/177x带出掉电模式时(这本身并不是一个有保证的操作——见4.7.8节),则在唤醒定时器完成这个延时以前,电源电压就可能从一个瞬变中恢复。此时,瞬变BOD的净结果是,在设定掉电模式的指令以后,部件就被唤醒并继续工作,而无需任何中断的发生,以及RSID中的BOD位为0。

如果你想深入研究数字电路中的晶振和复位电压检测方法,可以参考这篇数字电路中晶振和复位电压检测方法的文章!

由于所有其它唤醒条件都锁存标志(见3.7.2节以及29.6.2节),因此无需任何明确的原因,这种类型的唤醒就可以假设为一个已经消失的掉电。

salesman_32721 0 pdf 20.17MB 2024-07-27

Selenium+Python自动化操控登录界面实例(附简单验证码图片校验)

3.8 其它系统控制与状态标志

下面列出了控制LPC178x/177x的一些操作,不适用于外设或其他寄存器操作的某些方面。更多详情请参见系统控制和状态寄存器

3.8.1 系统控制与状态寄存器(SCS—0x400F C1A0)

SCS寄存器包含了与芯片运行各方面有关的特殊控制与状态位。这些功能说明见表17。其中几个位适用于主振荡器。由于芯片开始工作时总是采用内部RC振荡器,而主振荡器可能并非用于所有应用中,因此主振荡器只有应软件请求才起振。实现方式是设置SCS寄存器中的OSCEN位,如表3-13所示。主振荡器提供了一个状态标志(SCS寄存器中的OSCSTAT位),这样软件就可以确定振荡器何时运行并且稳定。此时,软件可以控制将主振荡器切换为时钟源。在起振主振荡器以前,必须通过配置SCS寄存器中的OSCRANGE位,选择一个频率范围。详细信息请参见状态寄存器

表17.系统控制和状态寄存器(SCS—0x400F C1A0)位描述:

| 位 | 功能 | 值 | 描述 | 访问 | 复位值 |

|----|------|----|------|------|--------|

| 0 | EMC转换控制 | 控制如何在EMC地址管脚上为静态存储器输出地址。 | R/W | 1 | 也可参见EMC章10.9节。 |

| 1 | EMC复位去使能 | 外部存储器控制器复位去使能。 | R/W | 0 | 当发生任何类型的芯片复位事件时,两个EMC复位均有效。在这种模式下,只要有复位发生,所有的EMC寄存器和功能都将被初始化。 |

| 2 | EMC突发控制 | 外部存储器控制器突发控制。 | R/W | 0 | 突发使能。 |

在这个表格中,你可以看到,控制如何在EMC地址管脚上为静态存储器输出地址是通过设置EMC转换控制位来实现的。这是一个相当便利的功能,尤其是当你需要进行复杂的存储器操作时。这些功能真是让人眼前一亮啊!还想知道更多关于EMC复位去使能的信息吗?请查看EMC章10.8节

这些寄存器和功能的描述是否让你对系统控制和状态有了更清晰的认识?不妨深入阅读相关资料,了解更多细节吧!

darken_47362 0 pdf 20.17MB 2024-07-27

计时与功率控制功能汇总-selenium+python自动化操控登录界面实例(有简单验证码图片校验)

4.1 计时与功率控制功能汇总

本节描述了LPC178x/177x所需要的各种时钟和时钟源选择,以及功率控制和低功耗模式的唤醒。以下章节将描述的功能包括:

想象一下,所有这些技术在您手中将如何大放异彩!技术的奇妙世界等待您的探索与发现。

congress_77132 0 pdf 20.17MB 2024-07-27

时钟源选择多路复用-selenium+python自动化操控登录界面实例(有简单验证码图片校验)

4.4时钟源选择多路复用两种时钟源可以选择用来驱动系统时钟(sysclk)和PLL0。它们是内部RC振荡器和主振荡器。只有在PLL0断开连接时,才可更换输入时钟源。如何在系统中使用PLL0改变时钟源,详见4.5.11节

4.4.1时钟源选择寄存器(CLKSRCSEL—0x400F C10C)

CLKSRCSEL寄存器用于控制sysclk和PLL0所使用的时钟选择。你知道吗?这小小的寄存器竟然可以决定整个系统时钟的命运!它的作用就像一个时钟的守护者,时刻准备着选择最佳的时钟源。

表21.时钟源选择寄存器位描述

| 位 | 符号 | 值 | 描述 | 复位值 |

|---|---|---|---|---|

| 0 | CLKSRC | - | 如下选择系统时钟和PLL0的时钟源: | 0 |

| 0 | - | 0 | 选择内部RC振荡器作为系统时钟和PLL0的时钟源(默认)。 | - |

| 0 | - | 1 | 选择主振荡器作为系统时钟和PLL0的时钟源。 | - |

| 31:1 | - | - | 保留。读取值未定义,只写入0。 | - |

想象一下,这个寄存器就像一个精密的开关,通过简单的配置便能控制系统的脉搏。内部RC振荡器是默认的守卫,但你可以选择主振荡器来增强系统的稳定性。了解更多关于系统时钟的作用,查看系统时钟是什么时钟系统的作用。需要更详细的寄存器配置信息?看看这篇高低速外设时钟寄存器

在配置时钟源时,你是不是也想知道如何利用MSP430系统中的时钟寄存器?请参考MSP430系统时钟寄存器详解,那里有详细的说明和实用的例子。总之,时钟源选择的灵活性让你可以根据需求随时调整系统的心跳节奏!

compliance_95527 0 pdf 20.17MB 2024-07-27