看了一段时间的相关资料,将自已了解的知识写出来,以求备忘。在此文中若有错误之处,请指出,将不胜感激。STM32F103ZET6是Cortex-M3内核的ARM类型的单片机,它属于STM32的大密度器件,对于STM32的存储架构是差不多的
一个小的项目,在测试时间和产品量稍微大一些之后,出现了一些莫名其妙的非逻辑错误的Bug(最头疼的是不能每次都能复制出来)。经过修改后,最近一个月的测试都没有出现。本人在这里得到了原子哥和其他朋友的很多帮助
STM32支持了位带操作(bit_band),有两个区中实现了位带。其中一个是SRAM 区的最低1MB 范围,第二个则是片内外设 区的最低1MB 范围。这两个区中的地址除了可以像普通的RAM 一样使用外,它们还都有自己的“位带别名区
先看一下stm32vet6的引脚图吧电路设计以及PCB制作中,经常碰见电源符号:VCC、 VDD、VEE、VSS,他们具有什么样的关系那? 一、解释 VCC:C=circuit 表示电路的意思, 即接入电路的电压 VDD:D=device 表示器件
选择DMA的正常模式,即DMA只传输一次。如果当传输完一次后,还想再传输一次,就需要重启DMA:DMA_Cmd(DMA1_Channel6,DISABLE);重新设置源地址重新设置目的地址重设传输数量DMA_Cmd(DMA1_Channel6,ENABLE);因此建议把
stm32的flash地址起始于0x08000000,结束地址是0x080000000加上芯片实际的flash大小,不同的芯片flash大小不同。RAM起始地址上0x200000000,结束地址是0x20000000加上芯片的RAM大小。STM32将外设等都映射为地址的形式
根据小苗开发板例程,修改得好用的读写FM24CL16的2K bytes代码,分享给大家。小苗开发板的程序有点问题,I2C_Read()里最后产生stop条件时间不对;另外FM24CL16是11位地址的,在I2C_Write()里也应体现出来。先贴代码,
一 概述 很多人都知道stm32的硬件I2C存在BUG,现在我们通过软件模拟时序的办法来实现I2C。 使用软件模拟I2C主要是方便程序的移植,只需要更改一下相应的IO端口即可。二 软件模拟实现1 起始信号voidi2c_Start(void){ma
今天在学习mpu6050的时候,发现程序出现了看门狗的程序,其实这个在学习51的时候就应该了解的,但是我并没有去了解。导致现在学习32,其实就是在补之前的51。首先,我想把文章最后一句放到开始写出来:总结一下,就个
0 引言随着集成电路的发展和数字信号处理技术的采用,数字示波器已成为集显示、测量、运算、分析、记录等各种功能于一体的智能化测量仪器。数字示波器在性能上也逐渐超越模拟示波器,并有取而代之的趋势。与模拟示波
实验:控制串口一以DMA方式发送(TX)数据一、初始化DMA 对STM32任何模块使用前都要对其初始化、首先就是初始化外设时钟,查看时钟数可知DMA时钟由AHB得来。初始化时钟:RCC->AHBENR"=1CNDTR=cndtr;//DMA1,传输数
本文分为两部分,即”以USART1为例的串口初始化”和“调试中遇到的问题”以USART1为例的串口初始化本程序调用了stm32自带的固件库,工程中具体的文件见下图:一.GPIO及USART1初始化结构体变量定义GPIO_InitTypeD
C代码//GPIOA8是LED0//GPIOA13是KEY0仅包含启动代码STM32F10x.s#defineGPIOA_CRL(*(volatileunsignedlong*)(0x40000000+0x10000+0x0800+0x00))#defineGPIOA_CRH(*(volatileunsignedlong*)(0x40000000+0x10000+0x0800
先来点题外话~网上说STM32F103的IIC有瑕疵!就当是有些短板吧,个人觉得,用起来肯定没问题,只是不好用。人家说ST公司考虑到专利问题,没按飞利浦的标准来。导致STM32的IIC使用起来非常繁杂。下面就讲讲用STM32 IO口
入手stm32以来,一直想快速上手,所以在各大论坛闲逛,各个达人的blog上学习,正所谓欲速则不达,心急是吃不了热豆腐的!有木有?最终决定使用st官网的库开发,据大侠们写道使用库可以快速上手,貌似的确如此,一个个
首先说下我使用飞、高级定时器的一些坑爹经历,由于开始高级定时器使用不当,造成有如下问题:1、PWM输出占空比反向(这个也还能接受点)2、程序烧进去了就不能烧第二次了,下载时候提示如下图(这个够坑爹的了)错误
任务目的使用EXTI(External Interrupt)外部中断方式, 通过中断服务函数对GPIO口进行控制, 使得LED灯可以进行亮灭翻转.原理图分析问题分析结束之后还是先来看原理图的分析.首先是LED灯部分:由图中可知, 若要控制红灯
时钟系统是处理器的核心,所以在学习STM32所有外设之前,认真学习时钟系统是必要的,有助于深入理解STM32。下面是从网上找的一个STM32时钟框图,比《STM32中文参考手册》里面的是中途看起来清晰一些:重要的时钟: PL
一、环境:公司所采用的是STM32F103RBT6芯片,本人开发是基于官方提供的V3.5.0的函数库。二、所要实现的功能是:1.开发板能够学习由遥控器发送来的红外码,并在串口上打印出来。2.上位机通过串口程序,发送学习来的码
Static申明的局部变量,存储在静态存储区。它在函数调用结束之后,不会被释放。它的值会一直保留下来。所以可以说static申明的局部变量,具有记忆功能。按键扫描(支持连续按)的一般思路u8 KEY_Scan(void){if(KEY按