精华内容
下载资源
问答
  • STM32F4定时器初始化含义

    千次阅读 2019-01-02 20:17:59
    比如STM32F4的初始化定时器,TIM3_Int_Init(5000-1,8400-1);这一句就没有理解了,这个是多久进入一次的定时器中断呢? 赶紧去翻了一下我之前STM32定时器的网页收藏夹。写下这篇文章记录一下。 定时器的参考链接:...

     

     

    最近在弄STM32以太网的时候,看到定时器的中断,发现忘记了一些定时器的内容。
    比如STM32F4的初始化定时器,TIM3_Int_Init(5000-1,8400-1);这一句就没有理解了,这个是多久进入一次的定时器中断呢? 赶紧去翻了一下我之前STM32定时器的网页收藏夹。写下这篇文章记录一下。
    

    定时器的参考链接:STM32定时器


    先说结论, TIM3_Int_Init(5000-1,8400-1)这一句是0.5s进入一次的中断。正点原子的中断代码,8400是分频系数,5000是预装载值。我们使用的是TIM3.根据时钟树,可以知道TIM3挂载在APB1下,APB1的时钟频率是=42MHZ,但是因为我们分频系数不等于1,所以TIM3的时钟为APB1的频率*2=84MHZ。


    计算: 
    TIM3的时钟84/8400=0.01M, 
    一个时钟周期为1_000_000/10_000=100us 
    因为装载值是为5000,所以最后溢出的时间100us*5000=500_000us=0.5s 
    最后可得这个程序0.5s进入一次定时器中断。


    APB1,APB2时钟的时钟可参考文章 
    STM32F4如何设置系统时钟 
    得STM32F4的时钟 
    HCLK = SYSCLK / 1 = 168MHz ,AHB总线时钟 
    PCLK2 = HCLK / 2 = 84MHz 
    PCLK1 = HCLK / 4 = 42MHz


    关于STM32F4定时器时钟频率问题 
    (1)当APB1和APB2分频数为1的时候,TIM1、TIM8~TIM11的时钟为APB2的时钟,TIM2~TIM7、TIM12~TIM14的时钟为APB1的时钟; 
    (2)而如果APB1和APB2分频数不为1,那么TIM1、TIM8~TIM11的时钟为APB2的时钟的两倍,TIM2~TIM7、TIM12~TIM14的时钟为APB1的时钟的两倍。

    展开全文
  • type Pool struct { // Dial is an application supplied function for creating and ...用于创建和配置连接的支持方法,通常用于DB选择/连接超时时间/读超时时间/写超时时间/密码认证等的初始化
    type Pool struct {
    	// Dial is an application supplied function for creating and configuring a
    	// connection.
    	//
    	// The connection returned from Dial must not be in a special state
    	// (subscribed to pubsub channel, transaction started, ...).
    	Dial func() (Conn, error)
    
    	// TestOnBorrow is an optional application supplied function for checking
    	// the health of an idle connection before the connection is used again by
    	// the application. Argument t is the time that the connection was returned
    	// to the pool. If the function returns an error, then the connection is
    	// closed.
    	TestOnBorrow func(c Conn, t time.Time) error
    
    	// Maximum number of idle connections in the pool.
    	MaxIdle int
    
    	// Maximum number of connections allocated by the pool at a given time.
    	// When zero, there is no limit on the number of connections in the pool.
    	MaxActive int
    
    	// Close connections after remaining idle for this duration. If the value
    	// is zero, then idle connections are not closed. Applications should set
    	// the timeout to a value less than the server's timeout.
    	IdleTimeout time.Duration
    
    	// If Wait is true and the pool is at the MaxActive limit, then Get() waits
    	// for a connection to be returned to the pool before returning.
    	Wait bool
    
    	// Close connections older than this duration. If the value is zero, then
    	// the pool does not close connections based on age.
    	MaxConnLifetime time.Duration
    
    	chInitialized uint32 // set to 1 when field ch is initialized
    
    	mu     sync.Mutex    // mu protects the following fields
    	closed bool          // set to true when the pool is closed.
    	active int           // the number of open connections in the pool
    	ch     chan struct{} // limits open connections when p.Wait is true
    	idle   idleList      // idle connections
    }
    
    参数名 含义
    MaxIdle 连接池中最大的空闲连接数
    MaxActive 允许的最大连接Redis的连接数,设置为0则没有限制
    IdleTimeout 空闲超时时间,超过此时间后,则会关闭连接。若此值设置为0,则不会关闭连接,应用应设置一个小于服务超时的值
    Wait 若为true,则当连接数达到MaxActive时,使用Get()获取新的连接时将会等待,直到有连接释放连接
    MaxConnLifetime 最大连接生命时长,当连接存活时间超过改值,则会被关闭,若设置为0,则不会因为存活时间关闭连接
    Dial 用于创建和配置连接的支持方法,通常用于DB选择/连接超时时间/读超时时间/写超时时间/密码认证等的初始化
    展开全文
  • Marvell 88E1145PHY芯片的初始化配置

    万次阅读 2017-03-04 19:52:24
    PHY芯片的初始化配置有硬件配置和软件配置两种途径,当系统上电之后默认采用硬件配置的模式,如需要更改配置,可以通过软件写寄存器的方式来更改模式。本文主要说明硬件配置的方法,以Marvell 88E1145PHY芯片为例,...

    1         导语

    PHY芯片的初始化配置有硬件配置和软件配置两种途径,当系统上电之后默认采用硬件配置的模式,如需要更改配置,可以通过软件写寄存器的方式来更改模式。此处主要说明硬件配置的方法,除PHY芯片地址之外,其他内容均可以通过软件途径来更改。

     

    2         寄存器配置


    2.1      PHY地址配置

    当把88E1145PHY芯片设置为统一配置模式的时候(硬件配置选项1/4MDIO应当设置为1),此时使用的是MDIO[0]和MDC[0],必须给每一个PHY接口分配一个唯一的地址。

    在这里,给四个接口分别配置地址0x0000,0x0001,0x0002,0x0003。


    2.2      硬件模式配置

    这里配置PHY88E1145的操作模式:

    因为这里调试电口,所以采用RGMII to Copper,RGMII即ReducedGigabit Media Independent Interface。RGMII均采用4位数据接口,工作时钟125MHz,并且在上升沿和下降沿同时传输数据,因此传输速率可达1000Mbps。采用RGMII的目的是降低电路成本,使实现这种接口的器件的引脚数从25个减少到14个。


    2.3      协商模式配置

    下图中的两个选项均是可以的,其中“Auto-Negotiation, advertise all capabilities, prefer Master”是自动适配所有模式,因为有同时调试十兆、百兆、千兆的情况出现,所以采用“1110”编码对应的可以适用所有情况的选项。


    2.4      其他配置


    2.4.1       直连与交叉双绞线配置

    双绞线内部由8根线组成,8根线分为4对,白橙和橙色线相互缠绕组成一对、白绿和绿色、白蓝和蓝色、白棕和棕色各组成一对。双绞线的两端各使用一个RJ45水晶头固定。

    双绞线用RJ45水晶头固定之后,如下图所示:

    RJ45水晶头中的8个槽位按上图所示的方式进行编号,每个槽位连接双绞线的一根线。直连线上,8根线并不是按照“白橙->橙->白绿->绿->白蓝->蓝->白棕->棕”的方式排列的,正确的排列方式如下:

    RJ45

    的槽位

    1

    2

    3

    4

    5

    6

    7

    8

    线的

    颜色

    白橙

    白绿

    白蓝

    绿

    白棕

    交叉线的一端和直连线的线序一样,另一端则把1-2线对和3-6线对换了位置。这样,交叉线另一端的线序如下:

    RJ45

    的槽位

    1

    2

    3

    4

    5

    6

    7

    8

    线的

    颜色

    白绿

    绿

    白橙

    白蓝

    白棕

    直连线的线序是TIA/EIA-568A线序;而交叉线一端是TIA/EIA-568A线序,另一端则是TIA/EIA-568B线序。

    早期的以太网hub和计算机可以使用直连线建立连接,这是因为hub端口和计算机网卡的端口是不一样的。计算机网卡上,1和2线用来发送信号,3和6线用来接收信号。Hub端口上,情况恰好相反,1和2线用来接收信号,而3和6线用来发送。计算机网卡端口属于MDI端口,而hub端口则属于MDI-X端口。

    早期的以太网hub上,通常有2类端口,即多个连接计算机的端口和一个uplink端口。用来连接计算机的端口是MDI-X端口,而uplink端口则是MDI端口。MDI和MDI-X端口之间,需要使用直连线;而相同类型的端口之间需要使用交叉线。

    IEEEStd802.3i-199010Base-T标准提出了MDI和MDI-X的概念。后来,IEEEStd802.3u-1995标准定义的100Base-T4、100Base-TX都继承了这个概念。10BASE-T和100BASE-TX以太网中,4,5,7和8线没有使用。千兆以太网之后,MDI和MDI-X的含义发生了变化,千兆以太网会用到全部8根线,每根线上都同时进行收发。

    现在,绝大多数以太网设备都支持AutomaticMDI/MDI-X,但是在IEEE802.3标准的百兆以太网章节中,并没有看到关于AutomaticMDI/MDI-X的描述。IEEEStd802.3的10M和百兆以太网的章节中,对线序的交叉(crossover)进行了说明。终端设备和中继设备对接时,建议在中继设备上实现crossover。如果对接双方都实现了内部的crossover,那么就需要在双绞线上作crossover。

    此处我们对接口配置crossover,那么“ENA_XC”这个选项就配置为“1”。这样可以实现自动协商。


    2.4.2       是否自动选择光/电口

    此处将“DIS_FC”选项设置为“0”,表示允许自动选择是光纤接口还是铜线接口。自动选择方便电路板的使用,这里设置为允许自动。


    2.4.3       休眠模式

    芯片的工作可以进入休眠模式,在这里因为需要连续测试,不打开休眠模式,故Disable Energy Detect,这样芯片便可以连续工作。


    2.4.4       通信接口

    88E1145芯片可通过硬件设置成两种管理接口,一种是MDIO接口;一种对应的就是Two_Wire_Serial_Interface(TWSI),也就是I2C接口。在这里设置为MDIO接口。


    2.4.5       对数字终端的检测

    DTE即Data Terminal Equipment,88E1145具有为数字终端设备供电的功能。如果连接到的设备需要PHY芯片来供电,Enable将功能打开后就可以检测到partner的连接,并提供支持。


    2.4.6       统一模式和独立模式

    88E1145芯片既可以同时控制四个接口,也能独立控制四个接口,十分灵活。如果将1/4MDIO配置为“1”则是统一模式,“0”为独立模式。这里我们将其配置为统一模式。


    2.4.7       掉电模式

    PHY芯片支持POWER DOWN模式。需要注意的是这里的UP, DOWN与数字0,1相对应,恰好是相反的,这里将其配置为UP(“0”),使板子上电后工作。当从POWER DOWN模式中恢复到Normal Operation时,软件会复位,协商机制也会重新进行。


    2.4.8       中断信号标识

    作为中断的标识,可以是低电平,也可以是高电平,在这里需要进行设置。这里将其设置为低电平有效,较为符合一般调试习惯。


     

    3         注意事项


    1、P0~P3_CONFIG0/1/2/3/4和GCONFIG0、GCONFIG1,共22个引脚,这22个引脚不能悬空,要接到下图的编码表中,即使只通过软件配置,也要给硬件一个初始化的配置方案,然后再到软件中对寄存器进行读写,完成重新配置。其中的PHY的地址,是不可以通过写寄存器来进行修改的,其他均可以。

    而且,当在统一模式下,各个PHY要有不同的地址,而在独立模式下,四个PHY的地址设为相同。

     

    2、要正确理解这个表格中的内容,每一行的内容对应的是上表中的一个4位编码,而不是P0~P3对应的内容。

     


    3、根据模式类型将MDIO和MDC按要求配置。从DATASHEET可见,当采用统一模式时,其余MDIO不使用,需要将其悬空,而MDC需要对其进行上拉或下拉。


    展开全文
  • 初始化目的是在执行某操作之前,对相关结构进行无效化配置的操作流程,使环境得到清理,后续流程使用该配置值可以正常按照预期执行程序流程;如在不同场景中无效值可以为全0,全f,‘CD’序列等;所谓无效化配置,是...

    个人理解:
    初始化目的是在执行某操作之前,对相关结构进行无效化配置的操作流程,使环境得到清理,后续流程使用该配置值可以正常按照预期执行程序流程;如在不同场景中无效值可以为全0,全f,‘CD’序列等;所谓无效化配置,是针对有效配置而言的。

    赋初值与初始化的执行时机大致相同,不同点在于所赋的值可以是有意义的默认值,比如将返回值初值赋为FAIL,中间流程可更改,最终返回。

    展开全文
  • git bash 初始化配置

    千次阅读 2017-11-29 15:08:04
    这里只针对 windows 下,使用git 时的一些初始配置1. git bash 安装 下载地址: https://git-for-windows.github.io/ 根据提示,一步步安装即可2. 配置 git 用户名及邮箱 全局配置git config --global user.name...
  • root 账户默认没有密码 安全起见 先初始化一个 passwd 创建 Linux 管理员账户 ???? 使用 Linux 服务器的时候,尽量不要使用 root 账号,处理日常操作,我们新建一个管理员账号。 首先,添加一个用户组(这里我...
  • 生成HttpClientBuilder来配置生成HttpClient. HttpClinetBuilder的build()方法,有一系列类,默认配置来生成HttpClient 代码中有基础的几个类型:Processor,Strategy, Registry, Provider,Resolver,Handler, ...
  • 初始化设置 初始化的设置都是根据自己实际需要设置一些寄存器的初始值,没有太多需要讲的,直接上图 (1)BWSCON寄存器是设置每个BANK的实际位数,因为我的是32位,所以设置BANK6和BANK7为10就可以了。所以...
  • 初始化配置文件解析

    千次阅读 2014-02-28 18:26:49
    问题  在详细介绍ibatis初始化过程之前,...上文中提到过,ibatis初始化的核心目标是构造SqlMapClientImpl对象,主要是其内部重要属性delegate这个代理对象的初始化。delegate这个对象耦合了用户端的操作行为和执行
  • 内存的初始化

    千次阅读 2017-03-29 10:23:13
    内存的初始化
  • js日期初始化总结:new Date()参数设置
  • 第5章 初始化与清理

    2015-07-14 17:04:26
    第5章 初始化与清理标签(空格分隔): Java编程思想 初始化与清理第5章 初始化与清理 1 用构造器确保初始化 2 方法重载 3 默认构造器 4 this关键字 41 在构造器中调用构造器 42 static含义 5 清理终结处理和垃圾...
  • C++中对象初始化方式

    千次阅读 2019-03-18 23:34:28
    初始化不是赋值,初始化含义是创建变量赋予其一个初始值,而赋值的含义是把当前值擦除,而以一个新值来替代。 对象初始化可以分为默认初始化、直接初始化、拷贝初始化以及值初始化。 1,...
  • java如何初始化类对象 Java中的类和对象必须在使用前进行初始化。 您之前已经了解到 ,在加载类时,将类字段初始化为默认值,并且通过构造函数初始化了对象,但是还有更多要初始化的内容。 本文介绍了Java的所有用于...
  • kubernetes之初始化容器

    千次阅读 2018-07-18 13:03:17
    初始化容器是什么? 在kubernetes中,一个pod可以包含多个容器,其中的init container,顾名思义主要负责初始化工作,一个pod也可以包含多个init container。后文统一用"初始化容器"表示"init ...
  • C++认识初始化

    千次阅读 2015-08-29 18:32:55
    初始化是程序设计中一项重要的操作,又是一项容易被误解和忽略的操作。使用未初始化的变量(或内存区域)是程序产生bug的重要原因之一。正确理解和使用初始化操作,要弄清以下几个问题。1.什么是初始化在给初始化下...
  • 在ibatis整体设计和核心流程一文中,我们提到了ibatis框架的初始化过程,本文将深入分析ibatis框架的初始化配置文件解析过程。本文使用的ibatis版本为2.3.4,不同版本间会略有差异。 问题 在详细介绍ibatis...
  • //对beans的配置多了一个default-lazy-init="true" //问个问题:如果beans的default-lazy-init="true"执行之后会怎样? //会影响到谁?会怎样影响它们? <beans xmlns="" xmlns:...
  • Aruba交换机初始化简单配置命令介绍 目录 Aruba交换机初始化简单配置命令介绍 1 1,清空配置命令 2 2,更改交换机名称 2 3,查看接口 2 4,接口命名 3 5,接口开启和关闭 3 6,查看本次历史输入命令 3 7,查看CPU使用...
  • ArrayList初始化容量的问题

    万次阅读 2018-05-30 19:35:53
    可能很多同学听到网上其他人说ArrayList的底层数组elementData的初始化容量是10。 其实并不是!,下图是我们经常初始化ArrayList使用的构造器: 而DEFAULTCAPACITY_EMPTY_ELEMENTDATA也是一个空的数组,请看...
  • 相信,大部分查找GPIO的人,都是刚刚接触STM32的人,而刚接触STM32的人,大部分是从51上来的人,所以我会由浅入深,从51和STM32的区别入手,通过对比这两个处理器的配置方法,来跟大家慢慢讲解(学知识可不能...
  • 通过项目模式获取每一种模式下的项目基本初始化配置,这里我们有三种模式下的配置:prod、dev、test,然后获取 this.env.env 里面指定的模式的配置,并存到 this.config 里面,下面我们看一下三种模式的相关配置 ...
  • GPIO 初始化理解

    千次阅读 2020-07-06 23:11:50
    GPIO 初始化理解 1. GPIO 初始化理解 # include //包含头文件 # define //宏 替换,不进行语法检查 # define //宏名 () #define ABC (5+3) # ifdef #endif // 预编译 // GPIO 初始化 void GPIO_Init(GPIO_TypeDef...
  • 【寒江雪】DX11初始化讲解

    千次阅读 2016-12-25 17:40:21
    DX11初始化  今天来介绍Direct3D-11的初始化方法。初始化Direct3D-11与初始化Direct3D-9有点不同。总体来看,初始化Direct3D-11分为以下几个步骤 描述交换链 创建D3D设备 创建设备上下文接口 创建交换链接口 创建...
  • DL之DNN优化技术:DNN中权重初始值优化【Xavier初始值】的简介、使用方法详细攻略 目录 【Xavier初始值】的简介 【Xavier初始值】的使用方法 【Xavier初始值】的简介 Xavier Glorot等人的论文中推荐...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 214,233
精华内容 85,693
关键字:

初始化设置的含义