电子技术应用|技术阅读
登录|注册

您现在的位置是:电子技术应用 > 技术阅读

技术阅读

  • STM32F0xx_DAC输出电压配置详细过程

    2023-08-22

    前言数模转换DAC的功能在现实应用中所占的分量,相对定时器TIM、串口USART等要小的多,这也是ST为什么内部集成DAC模块相对来说不是那么多的原因。但在有需要使用数模转换功能的项目中,自带的这个DAC模块基本上可以取代外挂一片DAC芯片,因为自带的这个模块功能也很强大,只需要简单的配置一下就可以输出指定的电压信号(如:PWM波形、三角波、正选波),中途无需要软件干预。当然,今天提供的软件工程只有输出电压的基本操作,没有输出特殊的波形。但是,当你了解输出电压的原理之后,以后你想输出这些特殊的波形,也就容易多了。STM32F0系列的DAC...

  • STM32F0xx_TIM输出PWM配置详细过程

    2023-08-22

    前言前面我说过STM32的定时器功能很强大,今天就来总结一下它的另外一个“强大”功能:TIM的比较输出功能,输出可调PWM波形。直接调用函数接口“TIM2_CH1_PWM(uint32_t Freq, uint16_t Dutycycle)”传入频率和占空比就能输出指定的波形。我提供的软件工程直接调用是比较简单就能实现想要的PWM波形。但是,如果你是学习者,建议还是进去函数把每一个细节了解清楚,里面的东西可能对你掌握TIM很有帮助。 本着免费分享的原则,如果你觉得分享的内容对你有用,认可我分享的文章,就请用微信搜索“EmbeddDeveloper” 或者扫描下面二维码、关注,还有更...

  • STM32F0xx_SPI读写(Flash)配置详细过程

    2023-08-22

    Ⅰ、概述关于SPI(Serial Peripheral Interface)串行外设接口可以说是单片机或者嵌入式软件开发人员必须掌握的一项通信方式,就是你在面试相关工作的时候都可能会问及这个问题。在这里问一个简单的问题:硬件SPI和软件模拟SPI的区别是有哪些?估计这个问题会问倒很多人。SPI通信中分为SPI主机和从机,在实际应用中作为主机是比较常见的一种,因为SPI的通信速度远比I2C的通信速度大,所以现在市面上有很多SPI从设备。 本着免费分享的原则,如果你觉得分享的内容对你有用,认可我分享的文章,就请用微信搜索“EmbeddDeveloper” 或者扫描下面二维码、...

  • STM32F0xx_RTC实时时钟配置详细过程

    2023-08-22

    Ⅰ、概述今天总结RTC(Real Time Clock)实时时钟相关的知识,顺带将BKP简单总结一下。STM32的RTC模块和时钟配置系统(RCC_BDCR寄存器)处于后备区域,即在系统复位或从待机模式唤醒后, RTC的设置和时间维持不变。STM32F0的RTC模块和F1的RTC模块最大区别在于F0模块中有“DATE”和“TIME”寄存器,也就是可以直接读取寄存器里面的值,而F1是秒计数寄存器的值,需要通过相关算法下才能得到时间的值。本文提供的软件工程里面还包含一个BKP模块,主要是用于掉电保持RTC数值(第一次上电初始化RTC,后面就不用初始化)。例程是在第一次初始化RTC值为:2016年...

  • STM32F0xx_FLASH编程(片内)配置详细过程

    2023-08-22

    Ⅰ、概述关于数据的储存,我觉得编程的人基本上都会使用到,只是看你储存在哪里。STM32的芯片内部FLASH都是可以进行编程的,也就是说可以拿来储存数据。但是,很多做一些小应用程序开发的人都没有利用好这个功能,而是单独外接一个EEPROM或者FLASH,我觉得有些情况下(小数据、不常改动)这是对资源的一种极大浪费。关于使用内部FLASH进行编程,网上也有很多人这么说:1、内部FLASH的读写次数有限;2、内部FLASH会破坏程序。这些说法确实存在一定道理,对于次数,10W次,我想这个次数除非你经常写FLASH,正常情况下你打不到这个值。对于破坏程序,如...

  • STM32F0xx_看门狗(独立+窗口)配置详细过程

    2023-08-22

        有些事不是看到了希望才去坚持,而是因为坚持才会看到希望。Ⅰ、概述对于看门狗,我觉得做单片机或者嵌入式开发的人员来说并不陌生,今天总结STM32F0看门狗的功能,F0的看门狗有两种:独立和窗口看门狗。今天提供两种看门狗的软件工程实例,供大家下载。两种看门狗各有各的特点,应用在不同的场合,下面将分别简单总结一下独立和窗口看门狗的功能。 本着免费分享的原则,方便大家手机学习知识,每天在微信分享技术知识。如果你觉得分享的内容对你有用,又想了解更多相关的文章,请用微信搜索“EmbeddDeveloper” 或者扫描下面二维码、关注...

  • STM32F0xx_EXIT中断配置详细过程

    2023-08-22

    Ⅰ、概述EXIT外部中断在使用到按键或者开关控制等应用中比较常见,低功耗中断唤醒也是很常见的一种。因此,EXIT在实际项目开发中也是比较常见的一种。STM32F0中外部中断EXIT属于中断和事件的章节,请看参考手册第十二章,但需要配合系统配置控制器(System configuration controller)进行操作,为中断分配引脚,详情请看参考手册第十章。 本着免费分享的原则,方便大家手机学习知识,每天在微信分享技术知识。如果你觉得分享的内容对你有用,又想了解更多相关的文章,请用微信搜索“EmbeddDeveloper” 或者扫描下面二维码、关注,将有更多精彩内容...

  • 中国传统的节日(端午节)

    2023-08-22

    Ⅰ、端午    今天是个特殊的日子,了解一下关于端午节的知识。农历五月初五端午节,是我国最大的传统节日之一。端午亦称端五,“端”的意思和“初”相同,称“端五”也就如称“初五”;端五的“五”字又与“午”相通,按地支顺序推算,五月正是“午”月。又因午时为“阳辰”,所以端五也叫“端阳”。五月五日,月、日都是五,故称重五,也称重午。Ⅱ、关于吃粽子     端午节吃粽子,这是中国人民的又一传统习俗。粽子,又叫“角黍”、“筒粽”。粽子的历史非常悠久,最早是一种祭祀用食品。粽子的来历是什么?你或许知道,端午节吃粽子的来...

  • STM32F0xx_PWR低功耗配置详细过程

    2023-08-22

    Ⅰ、概述今天总结PWR部分知识,请看“STM32F0x128参考手册V8”第六章。提供的软件工程是关于电源管理中的停机模式,工程比较常见,但也是比较简单的一个实例,根据项目的不同还需要适当修改或者添加一些代码。实例中处理项目的事件只是LED变化 和 串口打印数据,主要是提示的作用,实际项目中唤醒之后会有更多的事件等待处理。 本着免费分享的原则,方便大家手机学习知识,每天在微信分享技术知识。如果你觉得分享的内容对你有用,又想了解更多相关的文章,请用微信搜索“EmbeddDeveloper” 或者扫描下面二维码、关注,将有更多精彩内容等着你。 ...

  • Keil的使用方法 - 常用功能(一)

    2023-08-22

    Ⅰ、概述学习一门软件的开发,开发工具的掌握可以说尤为重要。由于Keil集成开发工具支持多种MCU平台的开发,是市面上比较常见的,也是功能比较强大一款IDE。所以,对于大多数人说,选择Keil几乎是单片机或者嵌入式开发人员的不二选择。从今天开始的接下来一些时间总结关于Keil的使用方法。计划前一阶段总结常见功能,后面综合性的总结Keil的功能。关注我的朋友应该知道,我前面已经总结过Keil下载与安装 和 Keil新建软件工程这两篇文章,今天接着上面的文章来总结Keil使用方法之常用功能。使用最新版本的MDK-ARM V5.20,基于STM32处理器(提供软件工...

  • Keil的使用方法 - 常用功能(二)

    2023-08-22

    Ⅰ、概述上一篇文章是总结关于Keil使用方法-常用功能(一),关于(文件和编译)工具栏每一个按钮的功能描述和快捷键的使用。我将每一篇Keil使用方法的文章都汇总在一起,回顾前面的总结请点击下面的链接(微信点击阅读原文),Keil使用方法(汇总):http://blog.csdn.net/ybhuangfugui/article/details/51647893 今天总结关于工程目标(配置)选项的常用功能,不会总结每一个功能,计划在今后的文章中会整理出详细的文档说明。 本着免费分享的原则,方便大家手机学习知识,每天在微信分享技术知识。如果你觉得分享的内容对你有用,又想了解更多相...

  • Keil的使用方法 - 常用功能(三)

    2023-08-22

    Ⅰ、概述上一篇文章是总结关于Keil使用方法-常用功能(二),该文章接着上一篇文章总结。我将每一篇Keil使用方法的文章都汇总在一起,回顾前面的总结请点击下面的链接,Keil使用方法(汇总):http://blog.csdn.net/ybhuangfugui/article/details/51647893 今天总结关于Keil配置里面的选项一些常用功能,不会总结每一个功能,计划在今后的文章中会整理出详细的文档说明,有些动画文件太大不能上传,请点击最后“阅读原文”查看更多动画内容。 本着免费分享的原则,方便大家手机学习知识,每天在微信分享技术知识。如果你觉得分享的内容对你有用,...

  • Keil的使用方法 - 常用功能(回顾)

    2023-08-22

        Ⅰ、概述    今天有件事让我有点郁闷,甚至直接影响到了我的心情,STM社区说我发的帖子(与微信相同的文章)违规了......气人的是将我帖子的内容都修改了..........1.我没发不健康的内容;2.我没发广告;3.我更没有发对社区攻击性的内容。 说我发了链接(CSND、360云盘下载这些链接)、发了图片(二维码).........。    想爆粗一下......算了,还是忍住了,成大事者必有静气,我还是希望传递正能量。其实吧,我不发链接,大家怎么下载相关内容(链接的内容都是健康的)? 我发个二维码,免费分享有用技术知识有错吗?    生活...

  • Keil(MDK-ARM)使用教程(一)_界面+菜单

    2023-08-22

    Ⅰ、概述今天总结Keil(MDK-ARM)界面和菜单相关的内容,详情请往下看。 关于Keil的下载、安装和新建工程我已将在前面做了详细的总结,不懂的可以参考我博客里面相关的文章。该文章是在新建好工程的基础上对整个工作界面和菜单的讲述。 我将每一篇关于Keil的文章都汇总在一起,回顾前面的总结请点击下面的链接(进入我博客查看):http://blog.csdn.net/ybhuangfugui/article/details/51647893 本着免费分享的原则,方便大家手机学习知识,每天在微信分享技术知识。如果你觉得分享的内容对你有用,又想了解更多相关的文章,请用微信搜索“EmbeddD...

  • Keil(MDK-ARM)使用教程(二)_菜单

    2023-08-22

    Ⅰ、概述接着上一篇文章来总结Keil(MDK-ARM)菜单相关的内容,详情请往下看。 关于Keil的下载、安装和新建工程我已将在前面做了详细的总结,不懂的可以参考我博客里面相关的文章。该文章是在新建好工程的基础上对整个工作界面和菜单的讲述。 我将每一篇关于Keil的文章都汇总在一起,回顾前面的总结请点击下面的链接(进入我博客查看):http://blog.csdn.net/ybhuangfugui/article/details/51647893 本着免费分享的原则,方便大家手机学习知识,每天在微信分享技术知识。如果你觉得分享的内容对你有用,又想了解更多相关的文章,请用微信搜索“E...

  • Keil(MDK-ARM)使用教程(三)_在线调试

    2023-08-22

    Ⅰ、概述该文章总结Keil(MDK-ARM)在线调试相关的内容,详情请往下看。 该文章是基于新建好软件工程来讲述,关于Keil的下载、安装和新建工程我已将在前面做了详细的总结,不懂的可以参看我博客里面相关的文章。 我将每一篇关于Keil的文章都汇总在一起,回顾前面的总结请点击下面的链接(进入我博客查看):http://blog.csdn.net/ybhuangfugui/article/details/51647893 本着免费分享的原则,方便大家手机学习知识,定期在微信平台分享技术知识。如果你觉得分享的内容对你有用,又想了解更多相关的文章,请用微信搜索“EmbeddDeveloper” 或者扫...

  • 如何查找STM32开发资料

    2023-08-22

    Ⅰ、概述该文写给那些处于初学ST芯片开发、英文不好而又想偷懒的人。该文主要的目的是提醒大家:学习一门技术是需要舍得花功夫,捷径是你在起点与终点之间不断的探索,最终总结出来的一条适合自己的路。下面我将相关搜索、查找的方法教给大家,最后会把相关资料的下载地址放在最后,详情请往下看。 本着免费分享的原则,方便大家手机学习知识,定期在微信平台分享技术知识。如果你觉得分享的内容对你有用,又想了解更多相关的文章,请用微信搜索“EmbeddDeveloper” 或者扫描下面二维码、关注,将有更多精彩内容等着你。  Ⅱ、关于查找1.关于百...

  • STM32F4_引领入门

    2023-08-22

    Ⅰ、概述该文写给那些想学ST芯片开发(或初级学习)的朋友,文章着重细节,或许有点简单。笔者想告诉那些刚开始学习ST的朋友,不管你使用哪一个系列(F0、F1、F2),哪一种型号芯片,其实学习的方法和原理都是差不多的。或许不同系列,不同型号的芯片,它们之间确实存在一定的差异,但万变不离其宗,设计芯片的厂家都是按照常理(而且是人们习惯性的思维)来设计芯片,及其开发原理。笔者在这里告诉大家吧,ST的芯片不管是硬件(引脚),还是软件(寄存器、库等)它们的兼容性都是很好的,有可能不同系列,不同型号的芯片,硬件换了,软件不换,可以达...

  • STM32F4_RCC系统时钟配置及描述

    2023-08-22

    Ⅰ、概述对于系统时钟应该都知道它的作用,就是驱动整个芯片工作的心脏,如果没有了它,就等于人没有了心跳。对于使用开发板学习的朋友来说,RCC系统时钟这一块知识估计没怎么去配置过,原因在于开发板提供的晶振基本都是官方标准的时钟频率,使用官方的标准库,这样系统时钟就是默认的配置,也就是默认的频率。但对于自己设计开发板,或者想要改变系统时钟频率(如:降低功耗就需要降频)的朋友来说,配置系统时钟就有必要了。关于时钟这一块对定时器(TIM、RTC、WDG等)相关的外设也比较重要,因为要求精准,就需要时钟频率精准。该文将描述关于系...

  • UCOS2_STM32移植详细过程(一)

    2023-08-22

    Ⅰ、概述该文写针对初学µC/OS的朋友,基于以下平台来一步一步移植µC/OS嵌入式操作系统。UCOS移植相关平台:系统平台:µC/OS-II  (最新V2.92版)硬件平台:STM32F1 (适合F1所以系列)开发平台:Keil(MDK-ARM) V5  1.为什么是µC/OS-II?原因在于µC/OS-II是一个比较成熟、稳定的系统,与µC/OS-III比较有些机制相对简单很多。当你掌握了µC/OS-II,µC/OS-III很容易就理解了。 2.为什么是STM32F1?硬件平台是在移植的过程中比较重要的一点,也就是说,不同的硬件平台,移植过程中的端口(uCOS-II\Ports下源文件)存在一定的差异性。但是同...

  • UCOS2_STM32F1移植详细过程(二)

    2023-08-22

    Ⅰ、概述打开上一篇文章新建的工程,是提取的ST标准库里面源代码文件和UCOS工程包源代码文件。下载过的朋友可能会知道,直接编译那个工程会有大片的错误和警告,原因在于那个工程是没有经过修改源代码的工程,接下来就是讲述一步一步修改源代码的过程(也就是所谓的移植过程)。该文接着上一篇文章来讲述“UCOS移植详细过程”,上一篇文章是讲述准备工作、文件提取并整理、新建UCOS工程等工作。该文讲述UCOS移植过程中修改部分源代码(底层代码、系统配置等)工作。 笔者将“UCOS移植详细过程”分为多篇文章来讲述,敬请关注。关于本文的详情请往下...

  • UCOS2_STM32F1移植详细过程(三)

    2023-08-22

    Ⅰ、概述上一篇文章是讲述ST芯片相关的配置和OS裁剪相关的配置,接着上一篇文章来讲述关于UCOS的移植,该文主要针对uC/OS-II Ports下面os_cpu_a.asm、os_cpu_c.c和os_cpu.h文件底层端口代码来讲述。请下载“UCOS2_STM32F1_3个简单任务”作为参考工程。 笔者将“UCOS移植详细过程”分为多篇文章来讲述,敬请关注。关于本文的详情请往下看(微信请点击“阅读原文”查看内容链接内容)。 本着免费分享的原则,方便大家手机学习知识,定期在微信平台分享技术知识。如果你觉得分享的内容对你有用,又想了解更多相关的文章,请用微信搜索“EmbeddDevelop...

  • UCOS2_STM32F1移植详细过程(四)

    2023-08-22

    Ⅰ、概述上一篇文章是讲述uC/OS-II Ports下面os_cpu_a.asm、os_cpu_c.c和os_cpu.h文件底层端口代码的移植(修改)和说明,接着上一篇文章来讲述关于UCOS移植应用部分的代码。该文主要针对uC/OS-II 上层应用(配置OS、新建任务等)来讲述。请下载“UCOS2_STM32F1_3个简单任务”作为参考工程。 笔者将“UCOS移植详细过程”分为多篇文章来讲述,敬请关注。关于本文的详情请往下看(微信请点击“阅读原文”查看内容链接内容)。 Ⅱ、下载(请到我博客下载)笔者将F0、F1、F3、F4移植到最新UCOS2.92上。移植好的、独立的4个工程供大家下载学习、研究。...

  • UCOS2_STM32移植详细过程(汇总)

    2023-08-22

    Ⅰ、概述笔者发现一个问题,很多初学者,甚至很多工作一两年的人,他们有一种依赖的思想,就是希望从别处获取的软件代码不做任何修改,直接可以运行或者使用。笔者想说,实践才是检验真理的关键,实践才是掌握知识的方法。 笔者最近整理的关于最新UCOS2(V2.92)移植在STM32开发平台上,针对初学者将STM32F0、F1、F3、F4几个硬件平台的移植工作都做好了,只需要适当修改一下你硬件型号就可以运行UCOS操作系统程序了。Ⅱ、UCOS移植文章下面这四篇文章主要是针对初学者,将源代码下载、工程整理、源代码修改及描述等众多细节都在文章中描述有,欢迎进...

  • STM32F4_USART配置及细节描述

    2023-08-22

    Ⅰ、概述关于USART串口通信,可以说是MCU的标配。不管是在实际项目应用中,还是在开发过程中,它都起着很重要的作用。在项目应用中我们常常使用UART串口进行通信,根据通信的距离及稳定性,还选择添加RS232、RS485等对UART数据进行转换。在开发过程中,我们常常用它来打印调试信息,我们购买的开发板基本上都有一个UART通信接口(DB9的接头),这个接口主要的一个作用就是用来开发时调试使用。本文主要针对STM32初学者,使用STM32F4标准外设库、Keil集成IDE,对STM32F4的USART进行配置及描述。1.详细描述使用自定义打印数据、自定义中断接收数据;2....

  • STM32F4_TIM基本延时(计数原理)

    2023-08-22

    Ⅰ、概述STM32的TIM定时器分为三类:基本定时器、通用定时器和高级定时器。从分类来看就知道STM32的定时器功能是非常强大的,但是,功能强大了,软件配置定时器就相对复杂多了。很多初学者甚至工作了一段时间的人都不知道STM32最基本的计数原理。虽然STM32定时器功能强大,也分了三类,但他们最基本的计数部分原理都是一样的,也就是我们常常使用的延时(或定时)多少us、ms等。接下来我会讲述关于STM32最基本的计数原理,详细讲述如何做到(配置)计数1us的延时,并提供实例代码供大家参考学习。 关于本文的更多详情请往下看。 Ⅱ、实例工程下载笔...

  • STM32F4_TIM输出PWM波形(可调频率、占空比)

    2023-08-22

    Ⅰ、概述上一篇文章关于STM32基本的计数原理明白之后,该文章是在其基础上进行拓展,讲述关于STM32比较输出的功能,以输出PWM波形为实例来讲述。提供实例工程中比较实用的函数:只需要调用该函数,参数为频率和占空比void TIM2_CH2_PWM(uint32_t Freq, uint16_t Dutycycle); 先看一下实例中1KHz、20%占空比波形图 TIM2_CH2_PWM(1000, 20);  关于本文的更多详情请往下看。Ⅱ、实例工程下载笔者针对于初学者提供的例程都是去掉了许多不必要的功能,精简了官方的代码,对初学者一看就明白,以简单明了的工程供大家学习。笔者提供的实例工程都是在板...

  • STM32F4_TIM输入波形捕获(脉冲频率)

    2023-08-22

    Ⅰ、概述本文在前面文章“STM32基本的计数原理”的基础上进行拓展,讲述关于“定时器输入捕获”的功能,和上一篇文章“定时器比较输出”区别还是挺大的。在引脚上刚好相反:一个输入、一个输出。本文只使用一个TIM5通道3(也可其他通道)捕获输入脉冲的频率,通过捕获两次输入脉冲的间隔时间来计算脉冲波形的频率。间隔一定时间读取频率并通过串口打印出来。当然也可通过两路通道捕获脉冲信号的占空比,计划后期整理。 笔者通过信号发生器产生信号,上位机串口助手显示捕获的脉冲频率。(没有信号发生器的朋友可以结合上一篇文章PWM输出做信号源:...

  • STM32F4_TIM输入波形捕获(脉冲频率、占空比)

    2023-08-22

    Ⅰ、概述本文基于上一篇文章“TIM输入波形捕获(脉冲频率)”的基础上进行拓展,上一篇文章主要是捕获波形的频率,本文主要拓展捕获波形的占空比。笔者实验测试的方法和上一篇文章一样,通过信号发生器产生PWM信号,通过串口发送频率和占空比到上位机(上位机串口助手显示其数值)。(没有信号发生器的朋友可以结合上一篇文章PWM输出做信号源;在同一块板子上也可以使用不同定时器,将PWM输出引脚接在捕获输入引脚)实验现象:不同频率的实验现象请看上一篇文章(该文章提供的工程笔者也是进行了大量不同频率的测试,误差在几Hz属正常范围)。1000Hz...

  • STM32F10x_SPI(硬件接口 + 软件模拟)读写Flash(25Q16)

    2023-08-22

    Ⅰ、写在前面SPI(Serial Perripheral Interface)串行外设通信接口,主要实现设备(主从)之间的通信。硬件上由CS、SCK、MISO、MOSI四根通信线连接而成。关于SPI更多介绍不再详细描述,本文主要以STM32F103为主机、W25Q16为从机进行SPI通信实验。 本文将提供STM32硬件SPI、软件模拟SPI两实例工程代码供大家参考、掌握两种方式的区别。STM32硬件SPI:控制简单、运行效率高、使用方便等。软件模拟SPI:移植性强,只需要简单修改接口,就能在其他MCU芯片(如:51、430等)上使用。 实例实验效果:两个实例SPI通信控制方式不一样,但实验效果是一样的...