-
在使用串口接受字符串时,可以使用空闲中断(IDLEIE置1,即可使能空闲中断),这样在接收完一个字符串,进入空闲状态时(IDLE置1)便会激发一个空闲中断。在中断处理函数,我们可以解析这个字符串。需要注意的是,IDLE标志位需要软件清零,否则由于会不断进入中断,而使正常程序无法运行。当再次收到数据时(即RXNE再次置1),等到空闲便会重新进入中断。在STM32F4中,IDLE标志位清零的...[详细]
-
MDK和交叉编译工具编译时都会指定程序的下载的地址(其实就是告诉程序它将在那个地址上开始执行),这有什么意义吗?其实这么设计有原因的,因为这里涉及到全局变量和全局函数指针的地址问题,假如当你在编译时指定编译器这段程序会在0x0c000000地址上运行,按缺省链接方式(即未使用自己的链接脚本或分散加载文件)全局变量和函数的地址分配就会从0x0c000000基地址上开始,此时如果你把这段程序烧...[详细]
-
很多程序员习惯了KEIL开发调试下载,如果是在一台没有KEIL的电脑上如何使用JLINK工具下载STM32单片机固件程序呢,下面我们介绍一下通过JLINK自带的工具JLINKFlash下载固件程序到STM32单片机上吧从官网下载JLINK的驱动后,从开始菜单中打开J-Flash工具,如下图所示打开软件后要求创建一个工程,我们选择第二个创建一个新的工程选项。然后点击”...[详细]
-
问题描述:最近在学STM32的HAL库,据说可以统一STM32江湖,前途无量。最近一段时间参照STM32CubeMX和原子的资料自己学着建了两个HAL库的工程模板,F4的还好说,F1的出现了一个玄学问题:芯片为STM32F103C8T6,下进HAL库编写的工程后J-Link就识别不到芯片了,下载也是,只有J-Link读取时按住复位才可以。更神奇的是用标准库的代码却没问题,具体表象就是下进标准库...[详细]
-
一、环境准备硬件环境就是STM32F103C8T6核心板和DAP调试器,复杂的主要在软件部分。调试时需要让gdb链接openocd,因此需要telnet工具。Windows下直接在Windows功能里打开telentclient并重启就行1.1_软件VSCode可以使用普通版或便携版,我使用的是大佬制作的便携版:https://portapps.io/app/vscode-...[详细]
-
STM32是基于ARM®Cortex®M3处理器内核的32位闪存微控制器,为MCU用户开辟了一个全新的自由开发空间,并提供了各种易于上手的软硬件辅助工具。STM32MCU融高性能、实时性、数字信号处理、低功耗、低电压于一身,同时保持高集成度和开发简易的特点。业内最强大的产品阵容,基于工业标准的处理器,大量的软硬件开发工具,让STM32单片机成为各类中小项目和完整平台解决方案的理想选...[详细]
-
Q:什么是SYSTick定时器?SysTick是一个24位的倒计数定时器,当计到0时,将从RELOAD寄存器中自动重装载定时初值。只要不把它在SysTick控制及状态寄存器中的使能位清除,就永不停息。Q:为什么要设置SysTick定时器?(1)产生操作系统的时钟节拍SysTick定时器被捆绑在NVIC中,用于产生SYSTICK异常(异常号:15)。在以前,大多操作系统需要一...[详细]
-
这次大概介绍了一下NANDFlash,以及在ASF中使用它的方法。一、接线这个开发板搭载了一个256MB,8位的NANDFlash(MT29F2G08ABAEA)。引脚接线如下:偷个懒,直接上引脚复用的图。其中PC14表明该NANDFLASH需要作为SMC的外设0使用。通过使用NANDOE和NANDWE引脚说明需要使用芯片的NANDFlash控制逻辑。另外,PC1...[详细]
-
具体实现功能(1)通电时电子秤进入欢迎界面,显示“欢迎使用电子秤设计学生、班级学号、指导教师、设计日期”等信息;(2)LM4229显示模块显示当前称重台上物品重量;(3)当矩阵按键输入对应商品的代码编号,在LM4229上可以看到相应商品的名称、单价、总重、总价格等信息;(4)在称量的过程中,若物品重量超出电子秤的称重范围(0—4.99Kg),蜂鸣器警报,警示物品超重。设计介...[详细]
-
用TIM2定时器触发adc,DMA采集之后进行fft转换.fft是一种快速傅里叶算法.官方给的256点运算时间仅需要0.362ms,1024点也只要2.138ms(72mHz)傅里叶变换就像是将一桶各个颜色混杂在一起的油漆分离出来.并将每种颜料的含量也计算出来.而各种颜色代表了各种频率,含量代表幅值.(个人的浅显理解)了解个差不多就可以开始了~先将fft的官方库添加到自己的工程.(h...[详细]
-
源代码:#includereg52.hunsignedcharRunMode;voidDelay1ms(unsignedintcount){ unsignedinti,j; for(i=0;icount;i++) for(j=0;j120;j++);}unsignedcharcodeLEDDisplayCode={0xC0,0xF9,0...[详细]
-
stm32用hal库建立工程通用且方便,用的人也越来越多了,正点原子之前也有hal库的书还有例程,但是正点原子hal库的例程是以调用hal库的形式制作的,没有直接从cube的建立工程开始做起,并且在使用的过程中有根据项目更改过库函数。网上STM32Cube的教程也大多是v4、v5版本,和v6相比很多界面和功能有所变化,所以写了这个。文中部分内容参考正点原子开发指南和网上的文章教程。工作环境...[详细]
-
功能简介:1.基于C51单片机作为控制器2.LCD1602作为系统的显示器3.NB通信模块采用SIM7020C4.HC-SR04超声波模块实现水箱水位的检测5.利用继电器可控制水阀的关断与闭合6.电源采用dc002直接输入5V供电PCB:代码:#includemain.h/*******************变量定义*********************/...[详细]
-
一、软件下载OpenOCD:https://gnutoolchains.com/arm-eabi/openocd/一个开源的片上调试器(OpenOn-ChipDebugger)。在其他平台上,OpenOCD是要自己Configure并且自己编译的,但是Windows平台上提供了编译好的二进制文件,所以只需要下载下来后随便解压出来就好了。安装完成后添加系统环境变量,可以利用cmd...[详细]
-
本次学习的是IIC总线相关知识以及用单片机来模拟IIC总线和AT24C02芯片进行通信。内容关键点:1IIC总线的介绍2IIC总线细节总结一下:1IIC总线的主机先发送启动信号,启动IIC总线;2在发送启动信号后,需要找到想要建立联系的对象,所以要发送寻址信号(寻址信号就是一个字节数据,包含7位的地址和1位读写;可以想象成寄信一样,家庭门牌号就...[详细]