推荐阅读最新更新时间:2024-03-16 15:39
STM32学习笔记---IWDG独立看门狗实验
继做了WWDG窗口看门狗实验后,继续进行第9个实验-IWDG独立看门狗实验,本实验通过设置窗口看门狗IWDG间断时间来定期的检查是否出错,在SysTick_Handler中断函数中加入了流水灯用来测试是否运行了IDWG看门狗程序,用PD6-LED2通过闪烁验证程序可行性,编程工程大致和USART实验过程差不多,先是开启系统时钟,然后GPIO端口时钟,然后复用功能时钟AFIO,然后各个模块用的的时钟,,呵呵,之后进入各个模块初始化,设置,编写子程序,中断的话,要在中断函数中填写某模块的中断触发处理函数,重要的是在CONFG.H函数中开启模块的声明,差不多是这样的了。 以下为IWDG函数主要部分: //IWDG窗口看门狗设置初始化 v
[单片机]
基于STM32的SNTP授时服务器的研究与设计
0 引言
随着信息技术和网络技术的飞速发展,网络互连已经渗透到国民经济的各行各业。而网络时间同步也越来越受到重视,特别是局域网时间同步在国家安全和国民经济的诸多领域(如国防军工、电信网、金融业、交通运输、电子商务和电力系统等部门)越发不可或缺。随着嵌入式技术的发展,嵌入式与网络时间同步技术的结合,无疑具有良好的发展前景。
1 方案设计
目前网络授时的实现方法有很多种,本文采用自行设计的嵌入式系统并在上面实现SNTP协议。从而完成网络时间的同步。其系统框图如图l所示。
本系统采用C/S模型,分为网络授时同步服务器和客户端两大部分,本文主要对网络授时服务器部分进行研究。
在网络授时同步服务器中,处理器STM32
[嵌入式]
STM32-(09):USART库函数方式编程
STM32库函数 STM32库是由ST公司针对STM32提供的函数接口,即API(Application Program Interface),开发者可调用这些函数接口来配置STM32 的寄存器,使开发人员得以脱离最底层的寄存器操作,有开发快速,易于阅读,维护成本低等特点。 当我们调用库的API的时候可以不用挖空心思去了解库底层的寄存器操作,就像当年我们学习C语言的时候,用Printf()函数时只是学习它的使用格式,并没有去研究它的源码实现,如非必要,可以说是老死不相往来。 库是假设在寄存器与用户驱动层之间的代码,向下处理与寄存器直接相关的配置,向上为用户提供配置寄存器的接口。 CMSIS 标准 因为基于Cortex的
[单片机]
JFlash ARM对stm32程序的读取和烧录
本篇文章主要是记录一下JFlash ARM 的相关使用和操作步骤,读取程序说不上破解,这只是在没有任何加密情况下对Flash的读写罢了! 在我们装了JLINK驱动后再根目录下找到JFlash ARM ,运行。 读取Flash程序: 第一步:Option-- Project Settings-- CPU下选择 Device 在下拉菜单中找到自己的芯片型号后点击确定。 第二步:Targect-- Connect链接JLINK ;Targect-- Read back-- Entrie chip读取整个Flash区域, 接下来就等待读取完成了。 第三部:File-- Save file as 选择要储
[单片机]
学习STM32单片机之结构体思想
学习内容: 1.我们在操作寄存器的时候,操作的是寄存器的绝对地址,如果每个寄存器都这样操作,那将非常麻烦。 2.我们考虑到外设寄存器的地址都是基于外设基地址的偏移地址,都是在外设基地址上逐个连续递增的,每个寄存器占32 个或者16 个字节,这种方式跟结构体里面的成员类似。 3.定义一种外设结构体,结构体的地址等于外设的基地址,结构体的成员等于寄存器,成员的排列顺序跟寄存器的顺序一样。这样我们操作寄存器的时候就不用每次都找到绝对地址,只要知道外设的基地址就可以操作外设的全部寄存器,即操作结构体的成员即可。 下面先定义一个GPIO 寄存器结构体,结构体里面的成员是GPIO 的寄存器,成员的顺序按照寄存器的偏移地址从低到高排
[单片机]
STM32时钟控制RCC探究
RTC是STM32单片机的脉搏,是单片机的驱动源。使用任何一个外设都必须打开相应的时钟。这样的好处就是,如果不使用一个外设的时候,就把它的时钟关掉,从而可以降低系统的功耗,达到节能,实现低功耗的效果。 STM32单片机的时钟可以由以下3个时钟源提供: 1、HSI:高速内部时钟信号(high speed clock internal)stm32单片机内带的时钟(8M频率)精度较差 2、HSE:高速外部时钟信号(high speed clock external)精度高来源(1)HSE外部晶体/陶瓷谐振器(晶振) (2)HSE用户外部时钟 3、LSE:低速外部晶体(low speed external)32.768kH
[单片机]
STM32 输入捕获的脉冲宽度及频率计算
输入捕获模式可以用来测量脉冲宽度或者测量频率。STM32 的定时器,除了 TIM6 和 TIM7,其他定时器都有输入捕获功能。以下是对脉冲宽度及频率的计算。 1、脉冲宽度 如下图所示,采集该高电平脉冲的宽度,只需要进入输入捕获上升沿检测,记录当前的发生上升沿时的CNT值,再进行输入捕获下降沿检测,也记录当前发生下降沿时的CNT值,两次CNT值的差值再根据计数的频率就可以算出脉冲的宽度。 上升沿及下降沿捕获的程序具体实现如下: TIM8_Cap_Init(0XFFFF,72-1); //以1Mhz的频率计数 void TIM8_UP_IRQHandler(void) { if((TIM8CH4_CAPTURE_
[单片机]
双输入时钟发生器提高网络连接和数据通信应用中系统的稳定性
-AD9549提供了延长的保持(holdover)功能和抖动清除功能,以提高系统的稳定性和最大限度保证网络的正常运行时间。 AD9549简介 美国模拟器件公司的AD9549双输入网络时钟发生器为网络和数据通信方面的设计者提供了一种新的性能标准,以最大限度延长网络正常运行时间并提高系统的稳定性和可靠性。AD9549采用了一种基于美国模拟器件公司专有的DDS(直接数字合成)技术的新架构设计,可以实现更为稳定的保持(holdover),能让设计者有更多的时间来实现故障停机时的时钟基准恢复。如果一路输入基准时钟失效,则时钟发生器IC可以继续“保持”输出的频率,直到基准方面的故障被恢复为止。 采用AD9549后,实现保持的时间长短没
[新品]