-
启动文件简介 启动文件由汇编编写,是系统上电复位后第一个执行的程序。主要做了以下工作: 1、初始化堆栈指针SP=_initial_sp 2、初始化PC指针=Reset_Handler 3、初始化中断向量表 4、配置系统时钟 5、调用C库函数_main初始化用户堆栈,从而最终调用main函数去到C的世界 查找ARM汇编指令 在讲解启动代码的时候,会涉...[详细]
-
最近在做一个关于电池管理的项目,用到了TI公司的BQ4050,这个IC是专门对电池进行管理、保护和数据采集的,在TI配套的上位机中可以对这个芯片进行配置,具体的配置方法还有各种寄存器的意义可以参照手册,实际上我对怎么配置这个IC也不怎么明白,基本上是按照默认配置来的。不过因为项目中我们用到四串的电池,所以必须配置为4串,不然第四个电池就不能获取到电压。具体的寄存器描述如图:接下来,我们...[详细]
-
最近做的项目,遇到问题以及解决方法1、jlink总是下载失败,PC可以识别,但是keil不识别解决办法:将工程中的和jlink相关的文件删掉,keil魔术棒中set键,弹出框,重新选择芯片型号,还有的时候是没有上电(囧)2、stm32f407改为stm32f401步骤(1)改启动文件,将工程中的启动文件.s文件修改,点击魔术棒--C/C++--Define中对应修改名称(将STM32F4...[详细]
-
尝试制作这个四旋翼飞控的过程,感触颇多,整理了思绪之后,把重要的点一一记下来;这个飞控是基于STM32,整合了MPU6050,即陀螺仪和重力加速计,但没有融合电子罗盘;另外,四旋翼飞行器的运动方式请百度百科,不太复杂,具体不再赘述;这是飞控程序的控制流程(一个执行周期):比较重要的地方:1.i2c通信方式; 因为我不是学电类专业,最开始对i2c这些是没有一点...[详细]
-
STM32是基于ARM®Cortex®M3处理器内核的32位闪存微控制器,为MCU用户开辟了一个全新的自由开发空间,并提供了各种易于上手的软硬件辅助工具。STM32MCU融高性能、实时性、数字信号处理、低功耗、低电压于一身,同时保持高集成度和开发简易的特点。业内最强大的产品阵容,基于工业标准的处理器,大量的软硬件开发工具,让STM32单片机成为各类中小项目和完整平台解决方案的理想选...[详细]
-
Q:什么是SYSTick定时器?SysTick是一个24位的倒计数定时器,当计到0时,将从RELOAD寄存器中自动重装载定时初值。只要不把它在SysTick控制及状态寄存器中的使能位清除,就永不停息。Q:为什么要设置SysTick定时器?(1)产生操作系统的时钟节拍SysTick定时器被捆绑在NVIC中,用于产生SYSTICK异常(异常号:15)。在以前,大多操作系统需要一...[详细]
-
ai只适合在不了解的时候写个框架,具体细节还是得看书、数据手册等等;指示灯接P1.0;舵机接P1.4;DS1302的命令字,bit7固定为1;bit6决定操作对象,0表示对时间寄存器操作,1表示对RAM操作;bit1到5为要操作的寄存器地址;bit0控制读写,0为写,1为读;当温度为正时,TEMP_H的高五位忽略,低三位对应2^6,2^5,2^4;TEMP_L的高四位对...[详细]
-
STM32CubeProg介绍STM32CubeProg(TM32CubeProgrammer)是针对STM32的一款多功能的编程下载工具。STM32CubeProg提供图形用户界面(GUI)和命令行界面(CLI)版本。STM32CubeProg还允许通过脚本编写选项编程和上传、编程内容验证以及编程自动化。1.支持格式MotorolaS19ELFbinhex2.支...[详细]
-
前言前几天改造Skye无人机(Skye无人机刷betaflight详细图文教程),对betaflight开源飞控有了一定的了解,产生了自制飞控板的念头,网上一番查资料发现可行,现把制作过程记录如下。1.材料清单CH340串口下载模块1个(2.5元)STM32F103C8T6黑色开发板1个(11.5元)GY-521加速度计模块1个(3.8元)ams1117-3.3电压转...[详细]
-
源代码:#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相比很多界面和功能有所变化,所以写了这个。文中部分内容参考正点原子开发指南和网上的文章教程。工作环境...[详细]
-
最近在一个问答社区回答了一个问题,关于单片机存储器的,于是有了想专门写一篇关于单片机存储器的想法。作为单片机内部一个重要组成部分,存储器占有很重要的地位,今天就来聊聊我对于单片机的内部存储器RAM和FLASH的一些认识和理解。1、先聊聊存储器存储器是单片机结构的重要组成部分,存储器是用来存储编译好的程序代码和数据的,有了存储器单片机系统才具有记忆功能。按照存储介质的特性,可以分“易失性存...[详细]
-
1不同的程序下载方式目前,单片机的程序烧录方式可以分为三种:ICP,ISP,IAP。1.1ICP:In-CircuitProgramming在电路中编程。使用厂家配套的软件或仿真器进行程序烧录,目前主流的有JTAG接口和SWD接口,常用的烧录工具为J-Link、ST-Link等。在程序开发阶段,通常在连接下载器的情况下直接使用编程软件进行程序下载调试。在MDK软件中可以选择...[详细]
-
前言本文主要讲解STM32H7系列的CACHE是如何使用的,以及能给程序带来怎样的提升,还有过程中遇到的问题以及解决方法。一、启用CACHE启用cache很简单,就是这两句,分别打开I-Cache和D-Cache,但是如果只使用这两句,再操作DMA和FLASH时就很有可能遇到问题,后面会具体说明。SCB_EnableICache();//使能I-CacheSCB_EnableDCa...[详细]
-
1.项目背景电子琴是一种基于电路的乐器,可以发出不同的音符。随着单片机技术的发展,电子琴不仅可以实现基本的音符播放,还可以通过编程实现更加丰富的音效和多功能应用。本项目设计的多音阶电子琴,基于AT89C51单片机,利用单片机的定时器和外部硬件实现多音阶音符的生成,并通过按键输入控制音符的播放。2.项目目标本项目的目标是设计一个多音阶电子琴,具备以下功能:音符产...[详细]