STM32F4(用SysTick实现Delay函数)

1,开发环境      1,适用芯片:STM32F4全部芯片      2,固件库:STM32F4xx_DSP_StdPeriph_Lib_V1.8.0      3,IDE:MDK5172,驱动源码      Delay.h文件/****************************************************************  * Copyright (...

http://www.eeworld.com.cn/mcu/article_2018042338835.html 发布时间: 2018-04-23



STM32F4(USART+DMA+静态内存)

1,开发环境      1,适用芯片:STM32F4全部芯片      2,固件库:STM32F4xx_DSP_StdPeriph_Lib_V1.8.0      3,IDE:MDK5172,驱动源码      USART.h文件/****************************************************************  * Copyright (...

http://www.eeworld.com.cn/mcu/article_2018042338834.html 发布时间: 2018-04-23



STM32F4(CAN)

1,开发环境      1,适用芯片:STM32F4部分芯片      2,固件库:STM32F4xx_DSP_StdPeriph_Lib_V1.8.0      3,IDE:MDK5172,驱动源码      CAN.h文件/****************************************************************  * Copyright (C)...
关键词: STM32F4 CAN

http://www.eeworld.com.cn/mcu/article_2018042338833.html 发布时间: 2018-04-23



STM32F4(SRAM调试)

1,目的      由于STM32的FLASH擦写的次数是有限的,所以为了保护我们的FLASH,延长MCU的使用时间,我们可以在SRAM上进行调试,SRAM是暂存器,掉电后里面的内容会丢失的,它跟我们PC上的内存条有同样的功能。如果STM32的FLASH被设置成了读保护,以至于不能烧写程序,可以通过从SRAM中启动程序,把FLASH读保护解除。2,开发环境        1,适用芯片:STM32F4全部芯片      ...
关键词: STM32F4 SRAM调试

http://www.eeworld.com.cn/mcu/article_2018042338832.html 发布时间: 2018-04-23



STM32F4(用SysTick实现精确测量程序运行的时间)

在实际的项目开发过程中,常常遇到需要得到一段代码的运行时间,通常的方法是用示波器来测量,这篇博文将用SysTick来实现精确测量程序运行的时间。STM32F4的内核定时器SysTick是一个24位的定时器,需要注意最大的测量时间。1,开发环境      1,固件库:STM32F4xx_DSP_StdPeriph_Lib_V1.8.0      2,编译器:ARMCC V5.06      3,IDE:Keil uVision5 &nbs...

http://www.eeworld.com.cn/mcu/article_2018042338831.html 发布时间: 2018-04-23



STM32F4(LED)

在实际的项目开发过程中,常常会遇到硬件电路的修改,然后修改的部分就需要修改驱动程序。想这样需求该来该去是程序员们最烦闷的事情(重复劳动痛不欲生啊~)。为了避免或减少重复劳动,就需要在程序的架构上下功夫。接下来以最常见的LED驱动程序为例,进行程序结构设计。1,开发环境     1,固件库:STM32F4xx_DSP_StdPeriph_Lib_V1.8.0     2,编译器:ARMCC V5.06     3,IDE:Keil uVision5  &nb...
关键词: STM32F4 LED

http://www.eeworld.com.cn/mcu/article_2018042338830.html 发布时间: 2018-04-23



STM32F4(KEY)

在实际的项目开发过程中,常常会遇到硬件电路的修改,然后修改的部分就需要修改驱动程序。想这样需求该来该去是程序员们最烦闷的事情(重复劳动痛不欲生啊~)。为了避免或减少重复劳动,就需要在程序的架构上下功夫。接下来以最常见的KEY驱动程序为例,进行程序结构设计。1,开发环境     1,固件库:STM32F4xx_DSP_StdPeriph_Lib_V1.8.0     2,编译器:ARMCC V5.06     3,IDE:Keil uVision5  &nb...
关键词: STM32F4 KEY

http://www.eeworld.com.cn/mcu/article_2018042338829.html 发布时间: 2018-04-23



STM32F4(BUZZ)

在实际的项目开发过程中,常常会遇到硬件电路的修改,然后修改的部分就需要修改驱动程序。想这样需求该来该去是程序员们最烦闷的事情(重复劳动痛不欲生啊~)。为了避免或减少重复劳动,就需要在程序的架构上下功夫。接下来以最常见的无源蜂鸣器驱动程序为例,进行程序结构设计。1,开发环境     1,固件库:STM32F4xx_DSP_StdPeriph_Lib_V1.8.0     2,编译器:ARMCC V5.06     3,IDE:Keil uVision5  &...
关键词: STM32F4 BUZZ

http://www.eeworld.com.cn/mcu/article_2018042338828.html 发布时间: 2018-04-23



STM32F4(读取芯片ID)

唯一设备标识符适合:● 用作序列号(例如 USB 字符串序列号或其它终端应用程序)● 在对内部 Flash 进行编程前将唯一 ID 与软件加密原语和协议结合使用时用作安全密钥以提高 Flash 中代码的安全性● 激活安全自举过程等96 位的唯一设备标识符提供了一个对于任何设备和任何上下文都唯一的参考号码。用户永远不能改变这些位。96 位的唯一设备标识符也可以以单字节/半字/字等不同方式读取,然后使用自定义算法连接起来。基址:0x1FFF7A10typedef struct  {    uint32_t id[3];  }ChipID;  &nb...
关键词: STM32F4 读取芯片ID

http://www.eeworld.com.cn/mcu/article_2018042338827.html 发布时间: 2018-04-23



STM32F4 C++ 封装库 之 GPIO

一直有一个想法就是用 C++ 去做 STM32 的开发,但是很少有这方面的资料。经过一段时间的思考,决定在官方的 ll 库的基础上做一层 C++ 的简单封装。因为官方的库基本实现了全系列的 MCU 都是相同的 API 接口,所以 C++ 封装后的库也有很好的移植性。原理性的东西就不讲理了,直接上代码。stm32f4xx_xgpio.h 文件/**  ...
关键词: STM32F4 封装库 GPIO

http://www.eeworld.com.cn/mcu/article_2018042338826.html 发布时间: 2018-04-23



STM32F4 C++ 封装库 之 EXTI

 这几天看了下 mbed 的源码,给上层应用调用的接口封装的还是不错的。代码质量比较高,注释也很详细,文档和例程比较全。但是驱动层的程序全是 C 语言编写的,代码质量就没有那么高了,注释比较少而且不规范,比较怀疑 mbed 的稳定性。mbed 的实时内核是用的 RTX5 ,文件系统用的 FatFs ,还有一些开源的协议栈,整套系统比较繁杂。mbed 框架是为物联网设备开发的,工业控制级别的产品可以考虑用 RTE 框架。RTE 框架目前驱动层程序还不太完善,有好多需要自己去实现,可能在过一段时间会好一些吧。总之物联网产品可以用 mbed ,工业控制产品可以用 RTE 。这几天封装了 E...
关键词: STM32F4 C 封装库 EXTI

http://www.eeworld.com.cn/mcu/article_2018042338825.html 发布时间: 2018-04-23



ARM CMSIS Driver 学习 之 USART

 最近把 MDK 升级到了 V5.25 ,发现 Managing Run-Time Environment 中已经有好多好多的库。相比之前已经好了太多太多,从底层驱动,到上层协议栈,常用的有不常用的也有。发现 ARM 对这套系统的更新速度加快了一些,觉得有必要学习一下。从驱动开始学起,先学 USART API 详细介绍见 CMSIS Driver USART APIUSART 把收到的数据再发出去程序/**   ************************************************************************...
关键词: ARM CMSIS Driver USART

http://www.eeworld.com.cn/mcu/article_2018042338824.html 发布时间: 2018-04-23



ARM CMSIS Driver 学习 之 SPI

CMSIS Driver 都有着相似的 API 函数和相似的调用方法,它是在 ST HAL 库的基础上又进一步的封装,使用和配置起来都要比 ST HAL 库要方便和简单许多,并且还是跨平台的,非常有学习和使用的价值。今天学习 SPI API 的使用,详细介绍见 CMSIS Driver SPI APISPI 发送与接收/**   ******************************************************************************   * @file    main.c&...
关键词: ARM CMSIS Driver SPI

http://www.eeworld.com.cn/mcu/article_2018042338823.html 发布时间: 2018-04-23



STM32F103C8T6通过MAX31865读取PT100电阻值

1.MAX31865(1)简介MAX31865是简单易用的热敏电阻至数字输出转换器,优化用于铂电阻温度检测器(RTD)。外部电阻设置RTD灵敏度,高精度Δ- Σ ADC将RTD电阻与基准电阻之比转换为数字输出。MAX31865输入具有高达±45V的过压保护,提供可配置的RTD及电缆开路、短路条件检测。(2)特点和优点集成更低系统功耗,简化设计,减少设计周期:简便的RTD铂电阻之数字转换器;支持100Ω至1kΩ (0°C时)铂电阻RTD (PT100至PT1000);兼容于2线、3线和4线传感器连接;SPI兼容接口;20引脚TQFN和SSOP封装;高精度设备满足误差预算:15位ADC分辨率,标称...

http://www.eeworld.com.cn/mcu/article_2018042338822.html 发布时间: 2018-04-23



STM32 延时函数解析

一、函数原型STM32官方提供的函数库中,可以找到类似于 HAL_Delay() 这样的函数。这个函数的就是通过使用定时器,达到一个较为精确的时间延迟,提供给用户调用。这个函数一般包含在类似于 stm32f4xx_hal.c 这样的函数中。函数原型如下:__weak void HAL_Delay(__IO uint32_t Delay){  uint32_t tickstart...
关键词: STM32 延时函数

http://www.eeworld.com.cn/mcu/article_2018042338821.html 发布时间: 2018-04-23



STM32硬件调试过程遇中到Delay_ms()函数卡死的问题

程序在LCD初始化过程中卡死,通过硬件调试发现卡在Delay_ms()函数,转到定义发现其为Delay_us的宏定义函数:#define Delay_ms(x) Delay_us(1000*x)//单位ms  即延迟x单位ms,转到Delay_us()函数定义:void Delay_us(__IO u32 nTime)  {       TimingDelay = nTime;          while(TimingDelay != 0);  }  可以发现若参...

http://www.eeworld.com.cn/mcu/article_2018042338820.html 发布时间: 2018-04-23



STM32学习笔记——高级定时器TIM1更新中断配置

stm32高级定时器TIM1,更新中断初始化配置和普通定时器差别不大,需要注意的是结构IM_TimeBaseInitTypeDef中TIM_RepetitionCounter配置问题。TIM_RepetitionCounte是用来配置重复计数,就是重复溢出多少次才给你来一个溢出中断,只有高级定时器需要配置。下面是官方库中对它的注释:它对应的寄存器叫TIM1_RCR.如果这个值不配置,上电...

http://www.eeworld.com.cn/mcu/article_2018042338819.html 发布时间: 2018-04-23



stm32F4 时基定时器(2)

找了很多的资料,终于把时基定时器的给弄懂了,没有使用库函数,直接操作寄存器。下面介绍STM32中的systick,Systick 部分内容属于NVIC控制部分,一共有4个寄存器,名称和地址分别是:STK_CSR,        0xE000E010  --  控制寄存器STK_LOAD,     0xE000E014  --  重载寄存器STK_VAL,      &...
关键词: stm32F4 时基定时器

http://www.eeworld.com.cn/mcu/article_2018042338818.html 发布时间: 2018-04-23



stm32f407之CAN控制器(操作寄存器)

自己的过滤器,接收相关的帧信息。如果两个节点同时发送怎么办?这个不用我们担心,CAN控制器会自己仲裁,让高优先级的帧先发。然后我们可以了解一下stm32的CAN控制器。如上图所示,stm32有两个can控制器,can1(主),和can2(从),其中过滤器的设置是通过can1来设置,其他工作模式,波特率等,可以各自设置。每个控制器有三个发送邮箱,两个fifo,每个fifo有三个接收邮箱。发送:选择一个空...

http://www.eeworld.com.cn/mcu/article_2018042338817.html 发布时间: 2018-04-23



stm32f4使用Systick实现延时

使用Systick定时器实现延时一、SysTick定时器特性SysTick定时器是一个24位的递减计数器,即vlue自减等于0时触发中断,并重新加载load值,如此循环。在stm32f4库文件中,默认将优先级设置为最低优先级,可进入函数SysTick_Config查看优先级设置。SysTick是Cortex-M内核的一部分,因此只要是Cortex-M内核都有该定时器。SysTick的时钟源可由HCLK产生,或则HCLK/8产生。二、如何使用SysTick定时器既然是定时器,那么至少应该设置2方面内容: 1. 定时时间 2. 定时时间到后做什么。三、程序解析1. SysTic...
关键词: stm32f4 Systick 延时

http://www.eeworld.com.cn/mcu/article_2018042338816.html 发布时间: 2018-04-23




<上一页 13141516171819202122232425262728 下一页> 相关结果约19,194个