-
在使用串口接受字符串时,可以使用空闲中断(IDLEIE置1,即可使能空闲中断),这样在接收完一个字符串,进入空闲状态时(IDLE置1)便会激发一个空闲中断。在中断处理函数,我们可以解析这个字符串。需要注意的是,IDLE标志位需要软件清零,否则由于会不断进入中断,而使正常程序无法运行。当再次收到数据时(即RXNE再次置1),等到空闲便会重新进入中断。在STM32F4中,IDLE标志位清零的...[详细]
-
一、独立看门狗 STM32的独立看门狗由内部专门的40Khz低速时钟驱动,即使主时钟发生故障,它也仍然有效。 看门狗的原理:单片机系统在外界的干扰下会出现程序跑飞的现象导致出现死循环,看门狗电路就是为了避免这种情况的发生。看门狗的作用就是在一定时间内(通过定时计数器实现)没有接收喂狗信号(表示 MCU已经挂了),便实现处理器的自动复位重启(发送复位信号)。 在键值寄...[详细]
-
在了解重定向之前,我们先来看看linux的文件描述符。linux文件描述符:可以理解为linux跟踪打开文件,而分配的一个数字,这个数字有点类似c语言操作文件时候的句柄,通过句柄就可以实现文件的读写操作。用户可以自定义文件描述符范围是:3-num,这个最大数字,跟用户的:ulimit–n定义数字有关系,不能超过最大值。linux启动后,会默认打开3个文件描述符,分别是:标准输入s...[详细]
-
STM32F407VET6STM32F407代表的是芯片的型号后面的字符表示芯片的信息V这一项代表引脚数,其中T代表36脚,C代表48脚,R代表64脚,V代表100脚,Z代表144脚,I代表176脚。E这一项代表内嵌Flash容量,其中6代表32K字节Flash,8代表64K字节Flash,B代表128K字节Flash,C代表256K字节Flash,D代表384K字节Flash,E代表51...[详细]
-
1、STM32能下载ELF格式的文件吗?答:可以。因为所谓的bin文件就是ELF文件的.text代码段和.data数据段。当然前提是下载工具能识别ELF文件格式,STM32下载ELF文件并不意味着STM32可以把ELFdownload到Flash上,而是下载工具能从ELF提取到bin文件,下载时通信链路上传输的也只有要bin文件。例如有elf文件:123456789...[详细]
-
问题描述:最近在学STM32的HAL库,据说可以统一STM32江湖,前途无量。最近一段时间参照STM32CubeMX和原子的资料自己学着建了两个HAL库的工程模板,F4的还好说,F1的出现了一个玄学问题:芯片为STM32F103C8T6,下进HAL库编写的工程后J-Link就识别不到芯片了,下载也是,只有J-Link读取时按住复位才可以。更神奇的是用标准库的代码却没问题,具体表象就是下进标准库...[详细]
-
NuMicroMG51系列为工业应用带来了增强的I/O灵活性、模拟精度和EMI保护。新唐科技(NuvotonTechnology)近期发布了NuMicroMG51系列,这是一款基于高性能1T-8051内核的全新工业级8位微控制器(MCU)。该系列支持高达12通道的PWM输出,非常适合工业自动化和小型电机应用。图片由新唐科技提供。MG51...[详细]
-
STM32裸机上移植ucGUI触摸屏的过程详述如下:1、将正点原子的《触摸屏移植实验》中HARDWRAE/TOUCH目录复制到已经建立好的ucGUI工程目录的HARDWARE文件夹下,并添加touch.c文件和头文件路径。2、打开ucGUI工程中的GUIConf.h文件,将其中的GUI_SUPPORT_TOUCH和GUI_WINSUPPORT总开关打开。如下所示:1#defineGUI_...[详细]
-
下面聊下STM32到底有哪些优点?1.易于学习和使用STM32很早之前就有了,资料各方面都很丰富,再加上市面上开发板和教程的加持,导致大家学习STM32的门槛和成本都大大降低。我觉得ST从开始的定位就很成功,推出固件库,让工程师直接调库就能把单片机用起来,免去繁琐的寄存器配置流程,极大缩短了产品开发周期。印象中,ST是第一个走这种开发模式的,我第一次接触32位机是nxp的单片机,需要自己...[详细]
-
之前已经发布两篇文章,分别是软件安装、软件设置。这一篇将详述测试模型搭建过程。创建Similink空白页之后,先在模型库中找到与STM32的接口模块,如下图:Matlab2021b模型库将输入输出模块拖入到新建的Simulink模块中:模块搭建对它们的配置如下:模块配置注意:这里的配置端口与开发板原理图一一对应。之后仿真在Hardware页面进行。配置stopTim...[详细]
-
测试效果bsp_usart_dma.c文件代码#include"bsp_usart_dma.h"u8RxBuffer={0x00};//串口1接收后存放到此数组u8TxBuffer={0x00};//串口1发送此数组的数据u16RxBufferSize=0;voidusart_dma_init(void){GPIO_InitTy...[详细]
-
1、教程说明最近花了一些时间,重新学习野火stm32f4的1.8标准库视频,跟着火哥一起用keil5软件敲代码,还是用不习惯,就想着用clion折腾下标准库开发,顺便学习下重温cmake的用法。这里只说明基于nucleof4板子标准库开发的一些注意事项,使用野火教程的模板。下面是成品图:1_成品图2、教程准备这里参考稚晖君的教程,把clion...[详细]
-
今天给大家介绍STM32串口接受不定长数据中断检测的相关问题。能够推测,在UART收到最后一帧数据后,假如随后的一个数据帧的时长内未收到新的数据,则IDLE信号有效.假如数据包之间间隔大于一个数据帧,就能够用IDLE信号作为检测数据包完毕的标志.运用DMA接管UART-Rx数据,当检测到DMA数据满,或DMA数据半满,或UART的IDLE时,读取DMA数据.假如DMA缓存空间足够大(大于最大的...[详细]
-
DMA技术的运用合乎真香定律,是提高单片机CPU程序执行效率的常用方法之一,但是在其运用前须要对很多的寄存器进行初始配置,对新手不够友好,今天我以串口为例,来带大家梳理一下DMA的运用方法,理清概念之间的关系,帮助大家更好的掌握和运用DMA技术.///插播一条:我自己在今年年初录制了一套还比较系统的入门单片机教程和毕业设计指导,想要的同学找我拿就行了免費的,私信我就可以哦~点我头像白色字体加我...[详细]
-
今天的主题是编写一个GPIO端口的置位和复位程序,GPIO在完成了一个工作之后要把它恢复到工作之前的状态(GPIO的复位值)叫做复位或者(设置为其他状态)置位。头文件和C文件的创建编写这个函数,我们首先建立一个叫“stm32f10x_gpio.c”的C文件,和一个“stm32f10x_gpio.h”C语言头文件。如图导入工程列表再回到工程界面,双击SourceGroup1文件夹添...[详细]