独立看门狗超出时间 溢出时间计算 Tout = ( ( 4 * 2^prer )rlr)/40(M3) Tout公式是最终的式子,要弄清楚式子中的各成员的含义,就要从根源开始推倒和理解。...Tout公式中的prer是IWDG_PR寄存器中位2:0的十进制值。...根据手册中该寄存器的配置关系是:000对应4分频,001对应8分频,010对应16分频…由此得出预分频因子与prer的值关系是:预分频因子=4*2prer=2(prer+2)。...Tout公式中rlr是重装载寄存器IWDG_RLR所对应的重装载数值。...所以Tout=rlr看门狗时钟周期=rlr(1/freq)=rlr*(1/(40预分频系数))=rlr(1/(40/预分频因子))=rlr*(1/(40/(42prer)))=rlr*((2(prer+
(虽然好像现在自己都看不懂了我的天哪) 一.什么是看门狗 在stm32中,我们会学到独立看门狗和窗口看门狗的实验。第一眼肯定是一脸懵逼啊,啥是看门狗啊?...看门狗在日常生活中,大概的印象就是,起到一个保证安全,防止外来人员搞事的作用。 stm32中的看门狗也起着差不多的意思: 看门狗就是起到一个监督单片机是否正在正常运行的作用。...无论何时,只要在键寄存器IWDG_KR中写入0xAAAA, IWDG_RLR中的值就会被重新加载到计数器,从而避免产生看门狗复位 。...所以主要看另外两个寄存器了–IWDG_PR,IWDG_RLR 2.设置倒计时的两个寄存器–**IWDG_PR,**IWDG_RLR 先看图吧 ok,重点都标出来了,但是好像看了跟没看一样 再结合一下公式...: *Tout=(4*2^prer)rlr / 40 ms (其中prer是IWDG_PR寄存器2进制化为十进制的值,rlr就是IWDG_RLR中的值) Tout就是看门狗每次的倒计时T 公式的推导参考
无论何时,只要键寄存器 IWDG_KR 中被写入 0xAAAA, IWDG_RLR 中的值就会被重新加载到计数器中从而避免产生看门狗复位 。...IWDG_PR 和 IWDG_RLR 寄存器具有写保护功能。要修改这两个寄存器的值,必须先向IWDG_KR 寄存器中写入 0x5555。将其他值写入这个寄存器将会打乱操作顺序,寄存器将重新被保护。...: 1)取消寄存器写保护(向 IWDG_KR 写入 0X5555) 通过这步,我们取消 IWDG_PR 和 IWDG_RLR 的写保护,使后面可以操作这两个寄存器,设置 IWDG_PR 和 IWDG_RLR...* rlr:重装载寄存器值:低 11 位有效. * 时间计算(大概):Tout=((4*2^prer)*rlr)/40 (ms). */ void IWDG_Init(u8 prer,u16 rlr)...在递减计数器达到窗口配置寄存器(WWDG->CFR)数值之前,如果 7 位的递减计数器数值(在控制寄存器中)被刷新, 那么也将产生一个 MCU 复位。
在键值寄存器(IWDG_KR)中写入 0xCCCC,开始启用独立看门狗;此时计数器开始从其复位值 0xFFF 递减计数。...无论何时,只要键寄存器 IWDG_KR 中被写入 0xAAAA, IWDG_RLR 中的值就会被重新加载到计数器中从而避免产生看门狗复位 。 ...IWDG_PR 和 IWDG_RLR 寄存器具有写保护功能。要修改这两个寄存器的值,必须先向IWDG_KR 寄存器中写入 0x5555。将其他值写入这个寄存器将会打乱操作顺序,寄存器将重新被保护。...* rlr:重装载寄存器值:低 11 位有效....在递减计数器达到窗口配置寄存器(WWDG->CFR)数值之前,如果 7 位的递减计数器数值(在控制寄存器中)被刷新, 那么也将产生一个 MCU 复位。
三 STM32中的看门狗 STM32中内置了两种看门狗,一个是独立看门狗,另外一个是窗口看门狗,那么这两种看门狗有什么区别呢? 独立看门狗由内部RC振荡器震荡计时,因此其计时精度不够高。...不管何时,我们都可以给键值寄存器(IWDG_KR)中写入0xAAAA,那么单片机就会自动将IWDG_RLR(自动重装载计数器)中的值重新写入键值寄存器(IWDG_KR)中,键值寄存器会从自动重装载计数器的值的基础上...IWDG_PR (预分频寄存器)和 IWDG_RLR(自动重装载计数器) 寄存器具有写保护功能,自动写保护功能我们在单片机中已经见到很多了,写保护在现在计算机当中经常遇到,亩的就是保护计算机的程序被随意修改阅读...要想取消这两个寄存器的写保护,就要分别向两个寄存器中写入命令,IWDG_KR 寄存器中写入0x5555取消写保护。...IWDG_SetPrescaler(prer); //NO.3 设置独立看门狗的重装载值 IWDG_SetReload(rlr); //NO.4 使能看门狗· IWDG_Enable
这个过程中特征被消除的次序就是特征的排序。 因此, 这是一种寻找最优特征子集的贪心算法。...rlr=RLR()#建立随机逻辑回归模型,筛选变量 rlr.fit(X,Y) #训练模型 rlr.get_support()#获取特征筛选结果,也可以通过.scores_方法获取各个特征的分数 x=data.iloc...使用决策树进行决策的过程就是从根节点开始,测试待分类项中相应的特征属性,并按照其值选择输出分支,直到到达叶子节点,将叶子节点存放的类别作为决策结果。...Keras简介 Keras:基于Python的深度学习库 Keras是一个高层神经网络API,Keras由纯Python编写而成并基Tensorflow、Theano以及CNTK后端。...Keras中主要的模型是Sequential模型,Sequential是一系列网络层按顺序构成的栈。你也可以查看函数式模型来学习建立更复杂的模型。
IWDG_PR值),范围为0~7;rlr为看门狗的重装载值(IWDG_RLR的值)。...5 //rlr:重装载寄存器值:低11位有效. 6 //时间计算(大概):Tout=((4*2^prer)*rlr)/32 (ms). 7 void IWDG_Init(u8 prer,u16 rlr...10 IWDG->PR=prer; //设置分频系数 11 IWDG->RLR=rlr; //从加载寄存器 IWDG->RLR 12 IWDG->KR=0XAAAA...计数器值为7f,窗口寄存器为5f,分频数为8 while(1) { LED0=1; //关闭LED0 }; } 测试程序中设置的计数器值为...测试程序使能了窗口看门狗中断(计数器在0x40时触发中断),中断中改变Led灯开关状态,并且重设窗口看门狗的值,因此程序不会复位,看到的现象为LED0只开关一次,LED1每48ms闪速一次。
logistics回归模型步骤 根据挖掘目的设置特征,并筛选特征x1,x2...xp,使用sklearn中的feature_selection库,F检验来给出特征的F值和P值,筛选出F大的,p小的值。...sklearn.linear_model import LogisticRegression as LR from sklearn.linear_model import RandomizedLogisticRegression as RLR...rlr = RLR() #建立随机逻辑回归模型,筛选变量 rlr.fit(x, y) #训练模型 rlr.get_support() #获取特征筛选结果,也可以通过.scores_方法获取各个特征的分数...print(u'有效特征为:%s' % ','.join(data.columns[rlr.get_support()])) x = data[data.columns[rlr.get_support(
*(ReLoad Register)/SR(State Register)* IWDG_KR: IWDG_PR;WDG_RLR: 只有在KR写入0x5555取消写保护后才可以设置 PR[2:0] (预分频系数...) ,RLR[11:0] (低十二位即重装载值)。...2)溢出时间计算: IWDG的时钟来源:LSI*(内部低速时钟)*不精确,可大概认为40kHz 溢出时间( 即每次重装载(往KR中写0xAAAA喂狗)到复位的时间): T i w d g =...R L R L S I P R 预 分 频 因 子 = P R 预 分 频 因 子 ∗ R L R L S I Tiwdg = \cfrac{RLR}{\cfrac{LSI}{PR预分频因子}}= \...cfrac{PR预分频因子*RLR}{LSI} Tiwdg=PR预分频因子LSIRLR=LSIPR预分频因子∗RLR 3)库函数操作: 3.窗口看门狗: 1)原理简介及寄存器: (1)框图:
内部低速时钟(LSI),所以用看门狗时不需要配置时钟 一般配置过程: 寄存器: IWDG_KR: 32位寄存器,低16位有效,只写 写入 0xAAAA,喂狗 0x5555,取消IWDG_PR、IWDG_RLR...的写保护 0xCCCC,启动看门狗 IWDG_PR: 32位寄存器,低3位有效 配置分频系数,4*2^prer IWDG_RLR: 32位寄存器,低12位有效,每次对IWDG_KR写入0xAAAA,这个值会装载到看门狗计数器中...代码: void iwdg_init() { //IWDG_PR和IWDG_RLR有写保护,对其进行预分频和重装载值配置要先取消写保护 IWDG->KR=0X5555; //配置预分频值...//预分频值 = 4*2^prer IWDG->PR=0X04; //64分频 //配置重装载值 //12位 IWDG->RLR=500; //喂狗 IWDG->...7 :WDGTB(TIME Base ),用来分频 位6:0 :窗口置,要大于0x3f WWDG_SR: 位0:EWIF(Early Weakeup Interrupt Flag),在中断服务程序中要置
独立看门狗功能描述 在键值寄存器(IWDG_KR)中写入0xCCCC,开始启用独立看门狗。...无论何时,只要在键值寄存器IWDG_KR中写入0xAAAA, 自动重装载寄存器IWDG_RLR的值就会重新加载到计数器,从而避免看门狗复位。 ...(doge) ---- 独立看门狗功能: 模式选择: 在键值寄存器(IWDG_KR)中写入0xCCCC,说明选择要偷的人家里有狗的模式。...喂狗方法: 只要在键值寄存器IWDG_KR中写入0xAAAA,我们就完成了一波喂狗操作。...代码 #include "iwdg.h" void IWDG_Init(u8 prer,u16 rlr) { IWDG_WriteAccessCmd(IWDG_WriteAccess_Enable)
在二元分类中,分类算法必须把一个实例配置两个类别。二元分类案例包括预测患者是否患有某种疾病,音频中是否含有人声,篮球队在NCAA比赛中的输赢。...#建立随机逻辑回归模型,筛选变量,特征筛选用了默认阈值0.25 rlr = RLR(selection_threshold=0.25) #训练模型 rlr.fit(x, y) #获取特征筛选结果...,也可以通过.scores_方法获取各个特征的分数 rlr.get_support() print(u'有效特征为' % ','.join(data.columns[rlr.get_support()...精确率和召回率 在本案例分类器中,精确率是指分类器预测出的客户中真的是违约的比例: ? 召回率在医学领域也叫做灵敏度(sensitivity),在本例中是指所有真的违约客户被分类器正确找出来的比例。...召回率比较低37%,就是说真实的违约客户中,63%被当作正常客户了,没有被识别出来。这些数据会不断变化,因为训练集和测试集是随机抽取的。
IWDG工作原理: 1、当键值寄存器(IWDG_KR)中写入数值0xCC后,独立看门狗就会被启动,计数器开始从它的复位值0xFF开始递减计数,当计数减到0x00时就会产生一个复位信号。 ...2、使用IWDG_PR和IWDG_RLR寄存器配独立看门狗。 (1)IWDG_PR寄存器是用于选择驱动计数器时钟的预分频系数。 ...(2)当KEY_REFRESH的数值(0xAA)写入到IWDG_KR寄存器时,独立看门狗将用IWDG_RLR的数值刷新计数器的内容,从而避免了产生看门狗的复位。 ...3、IWDG_PR和IWDG_RLR寄存器具有写保护功能,要修改它们前,需首先在IWDG_KR寄存器写入KEY_ACCESS代码(0x55);在IWDG_KR写入0xAA将恢复写保护状态。 ...执行Delay1ms(600),watchdog启动复位,输出timeout之类的提示; 其中证明是否是watchdog启动的复位:查看RST->SR(Reset status register)中Bit1
RandomizedLogisticRegression” 原因 linear_model.RandomizedLogisticRegression 和 linear_model.RandomizedLasso在scikit-learn 0.19中弃用...,并在0.21中移除。...stability-selection.zip from stability_selection.randomized_lasso import RandomizedLogisticRegression as RLR
Python中的包 什么是python的包与模块 包就是文件夹,包中还可以有包,也就是文件夹 一个个python文件就是模块 包的身份证 __init__.py是每一个python包里必须存在的文件 如何创建包...要有一个主题,明确功能,方便使用 层次分明,调用清晰 包的导入 import 功能 将python中的某个包(或模块),导入到当前的py文件中 用法 import package 参数 package...:被导入的包的名字 要求 只会拿到对应包下__init__中的功能或当前模块下的功能 模块的导入 form..import.....功能 通过从某个包中找到对应的模块 用法 form package import module 参数 package:来源的包名 module:包中的目标模块 举例: form animal import
key1:value1,key2:value2,key3:value3,….. } ; 2、字典是以键值对的形式来存储的, key:value的形式, key与value之间用冒号 : 连接,; 3、字典中是可以存放不同的数据类型的...dict.get["赵六",23] #增加,修改#当key不存在时为增加,key值存在时为修改dict1["小明"] = 32dict1["张三"] = 19 #删除#pop可以根据key来删除字典中的元素...dict1) #判断存在#字典的成员判断,可以直接判断key是否存在if "张三" in dict1: print("存在")else: print("不存在") 四、总结 字典dict是python
创建python列表 方法一:直接创建列表 a = [1, 2, 3, 4, 5] print(a) /usr/local/bin/python3.8 /Users/sataniya/PycharmProjects.../demo/demo.py [1, 2, 3, 4, 5] 方法二:使用list方法 a = list("hello") print(a) /usr/local/bin/python3.8 /Users...demo.py ['h', 'e', 'l', 'l', 'o'] 方法三:使用split方法 a = "hello world".split(" ") print(a) /usr/local/bin/python3.8...PycharmProjects/demo/demo.py ['hello', 'world'] 方法四:使用列表推导式 a = [x for x in range(10)] print(a) /usr/local/bin/python3.8
领取专属 10元无门槛券
手把手带您无忧上云