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



STM32F4 Discovery USB HID 用到的文件图解

├── STM32_USB_Device_Library                                 USB从设备库│   │   ├── Class│   │   │   └── hid│   │   │       ├── inc│   │   │       │ ...

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



STM32 延时函数高级用法分析

一、使用场景第一种情况,在使用普通 STM32 延迟函数,类似于 HAL_Delay(time),由于该函数是使用循环去判断及延时的,所以在执行该函数时整个程序会在此处等待定时器的中断服务函数修改参量使得循环判决条件不成立,从而继续程序的执行,同时也达到延迟时间的效果。由于使用的是系统的定时器进行延迟,所以时间相对准确。第二种情况,当需要周期性的执行一个任务时,将这个函数放在某个定时器的...

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



STM32F429 Discovery FMC驱动原子4.3寸LCD

上一篇写了GPIO简单的流水灯测试,看着有点单调,习惯了串口调试,板子上没有串口 那就另想办法吧,看着LCD突然有了个想法,为什么不把调试信息输出到LCD上,以前在做2416 WINCE开发的时候就经常这样干非常直观,那说干就干。STM32F429I-DISO SDK里已经把开发包做好,那就直接拿过来用吧。#define MESSAGE1   "STM32F429I-Discoverry"   //提示信息  #define MESSAGE1_1 "    GPIO TEST      ...

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



STM32精确延时(非中断,非ST库函数)

     前天学了下stm的systick,发现还满好用的,可以用来精确定时.以前在用CVAVR的时候发现里面的delay.h非常好用.于是,利用stm32的SysTick做了个精确的延时头函数.     SysTick的配置在void delay_init(u8 SYSCLK);里面输入的参数SYSCLK是你配置的系统时钟,比如72M,我就调用delay_init(72);然后就完成了对SysTick的初始化设置.在后面调用delay_ms(u32 Nms);delay_us(u32 Nus);就可以得到很准确的延时.注意:1,de...

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



STM32F4(用SysTick实现Delay函数)

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

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




<上一页 12131415161718192021222324252627 下一页> 相关结果约19,162个