-
最近买了板子,跟着正点原子的电子资料学习stm32。学到外部中断时出现这样一个问题:如图代码提示有问题,编译后出现警告:main.c(25):warning:#223-D:functionEXTI_Initdeclaredimplicitly编译可以通过,代码下载运行也没有问题。可作为一个完美主义者,有警告就要消灭。不然感觉很不爽。对不?这种情况下,通常是由于文件包含出了...[详细]
-
MDK和交叉编译工具编译时都会指定程序的下载的地址(其实就是告诉程序它将在那个地址上开始执行),这有什么意义吗?其实这么设计有原因的,因为这里涉及到全局变量和全局函数指针的地址问题,假如当你在编译时指定编译器这段程序会在0x0c000000地址上运行,按缺省链接方式(即未使用自己的链接脚本或分散加载文件)全局变量和函数的地址分配就会从0x0c000000基地址上开始,此时如果你把这段程序烧...[详细]
-
摘要:针对当下交通状态,提出一种应用无线技术的智能公交站牌显示系统方案设计。该系统由无线传输模块、信息处理模块以及信息显示模块组成,实现了能够显示、反馈实时公交状态、位置信息、紧急信息的智能公交站牌显示系统。其中,无线传输模块应用SIM300-GPRS模组,主要负责收发所需数据信息;借助于STM32主控芯片的强大计算能力,信息处理模块通过对现有数据进行建模、算法修正等处理,计算出预到站公交的位置...[详细]
-
很多程序员习惯了KEIL开发调试下载,如果是在一台没有KEIL的电脑上如何使用JLINK工具下载STM32单片机固件程序呢,下面我们介绍一下通过JLINK自带的工具JLINKFlash下载固件程序到STM32单片机上吧从官网下载JLINK的驱动后,从开始菜单中打开J-Flash工具,如下图所示打开软件后要求创建一个工程,我们选择第二个创建一个新的工程选项。然后点击”...[详细]
-
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硬件电路配置这里还是借用前面LED电路我就不贴图片。2时钟说明SysTick和HCK的时钟频率是一样的库函数代码如下/***@briefInitializeandstarttheSysTickcounteranditsinterrupt.**@paramticksnumberofticksbetweentwointerrupts*@return1=failed,0=su...[详细]
-
摘要:在看别人单片机程序时,你也许是崩溃的,因为全局变量满天飞,不知道哪个在哪用了,哪个表示什么,而且编写极其不规范。自己写单片机程序时,也许你也是崩溃的。总感觉重新开启一个项目,之前的写过相似的代码也无法使用,得重新敲,代码重用度不高,编程效率低下,代码无法积累。而且感觉写这个代码没有思想,没有灵魂,没有框架,只是一个一个功能代码的堆砌,很空泛。那么这个时候,你也许应该在单片机中引入...[详细]
-
一、什么是GD32GD32是由北京兆易创新开发的国产32位MCU,基于ArmCortex-M3/M23/M4内核以及RISC-V内核的32位通用微控制器,与STM32相比,CPU主频更高,内存更多,外设更丰富。其众多产品是以STM32芯片为模板,基于STM32的底层寄存器地址进行正向研发,部分产品可以直接PINTOPIN替代STM32的芯片,部分型号可以直接以STM32的程序做部分修改...[详细]
-
用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/*******************变量定义*********************/...[详细]
-
全是干货,就几个步骤一定记好了。1.vscode安装platformio插件.安装好以后,vscode下部状态栏会出现platformiohome图标,点击进入platformio主页。2.新建stc51项目。在platformio主界面进入左侧Projects条目,选择新建项目。项目选择stc芯片型号,注意要选择自己单片机的型号。项目可以选到自定目录,不过需要专门...[详细]
-
修复后硬件:修复后ide显示(摄像头启动)缺点是连线后显示需要激活的三个弹窗修复需物料:烧毁或待处理的OpenMV3,STM32H750(本次选择的VBT6),焊接工具(热风枪,烙铁,焊油等物料,取决于你的焊接方法),一根带数据传输的microUSB线。一根杜邦线。OpenMVIDE,STM32CubeProgrammer。1:电脑上预装OpenMVIDE。(https...[详细]