1、STM32启动模式设置接口
如果我们想用串口下载代码,则必须配置BOOT0为1,BOOT1为0,而如果想让STM32一按复位键就开始跑代码,则需要配置BOOT0为0,BOOT1随便设置都可以。
2、使用库函数还是位带操作
使用库函数操作 #define KEY0 GPIO_ReadInputDataBit(GPIOE,GPIO_Pin_2)
位带操作(基本上只用来进行IO口的输入和输出) #define KEY0 PEin(2)
用库函数的好处是,在各个STM32芯片上面的移植性非常好,不需要修改任何代码。用位带操作的好处是简洁。
3、如何调用模版文件Template
首先,清空OBJ输出文件夹,然后直接将工程名Template.uvproj修改为工程名.uvproj,删掉以Template为名的各种后缀的文件即可。
4、复用功能的IO口
对于复用功能的IO口,我们首先要使能GPIO时钟口,然后使能复用功能时钟,同时,要把GPIO模式设置为复用功能对应的模式。
5、串口设置的一般步骤
1)串口时钟使能,GPIO时钟使能
2)串口复位
3)GPIO端口模式设置
4)串口参数初始化
5)开启中断并且初始化NVIC(如果开启中断才需要这个步骤)
6)使能串口
7)编写中断处理函数
关键字:STM32 经验总结
引用地址:
STM32经验总结(1)
推荐阅读最新更新时间:2024-03-16 15:15
STM32之timer3产生PWM
一、简介 本文介绍STM32系列如何使用timer3的第3通道(PB0)产生38K频率的PWM。 二、实验平台 库版本:STM32F10x_StdPeriph_Lib_V3.5.0 编译软件:MDK4.53 硬件平台:STM32开发板(主芯片stm32f103c8t6) 仿真器:JLINK 三、版权声明 四、实验前提 1、在进行本文步骤前,请先阅读以下博文: 暂无 2、在进行本文步骤前,请先实现以下博文: 暂无 五、基础知识 暂无 六、实验步骤 1、编写并添加PWM驱动 1)编写驱动GUA_Timer3_PWM.c(存放在“……HARDWARE”) //*********
[单片机]
STM32的CAN总线调试
这一周调试STM32的CAN,从网上搜集了一些资料,感谢原作的无私奉献。 重点说明几个问题: 1、CAN的过滤器 对于过滤器,看中文手册上写的不是太清楚,STM32共有14组过滤器,用以对接收到的帧进行过滤。每组过滤器包括了2个可配置的32位寄存器:CAN_FxR0和CAN_FxR1。对于过滤器组,可以将其配置成屏蔽位模式,这样CAN_FxR0中保存的就是标识符匹配值,CAN_FxR1中保存的是屏蔽码,即CAN_FxR1中如果某一位为1,则CAN_FxR0中相应的位必须与收到的帧的标志符中的相应位吻合才能通过过滤器;CAN_FxR1中为0的位表示CAN_FxR0中的相应位可不必与收到的帧进行匹配。过滤器组还可以被配置成标识符列表
[单片机]
STM32使用SWD连接报错总结
使用SWD通过J-Flash烧写STM32时,会出现各式各样的错误; 总结下原因: 1、复位脚被拉低了,这次我遇到的就是复位引脚的电容焊反了(钽电容),可以正常连接,但是烧写程序时会出现如下报错 – - Erasing affected sectors … - ERROR: RAM check failed @ address 0x20000000. - ERROR: Write: 0x03020100 07060504 - ERROR: Read: 0x00000000 00000000 - ERROR: (0 bytes of RAM have been checked successfully) - ERROR: Fail
[单片机]
单片机硬件抗干扰经验总结
在研制带处理器的电子产品时,如何提高抗干扰能力和电磁兼容性? 一、下面的一些系统要特别注意抗电磁干扰: 1、微控制器时钟频率特别高,总线周期特别快的系统。 2、系统含有大功率,大电流驱动电路,如产生火花的继电器,大电流开关等。 3、含微弱模拟信号电路以及高精度A/D变换电路的系统。 二、为增加系统的抗电磁干扰能力采取如下措施: 1、选用频率低的微控制器 选用外时钟频率低的微控制器可以有效降低噪声和提高系统的抗干扰能力。同样频率的方波和正弦波,方波中的高频成份比正弦波多得多。虽然方波的高频成份的波的幅度,比基波小,但频率越高越容易发射出成为噪声源,微控制器产生的最有影响的高频噪声大约是时
[单片机]
STM32的中断及是如何使用
中断是一种机制,通过这种机制,I/O或指令可以暂停处理器的正常执行,并像具有最高优先级一样先执行自己的任务。也就是说,当外部中断发生时(比如来自某个传感器),处理器暂停其正在执行,首先提供中断服务,然后继续其正常执行。 为了了解 STM32F103C8 中的中断,我们将使用按钮作为外部中断。在这里,我们让一个变量从 0 开始每秒增1,并将其显示在16x2 LCD上,每当按下按钮时,LED 亮起,LCD 显示屏会显示 INTERRUPT。 中断类型和 ISR(中断服务程序) 中断大致可以分为两类: 1.硬件中断: 如果到处理器的信号来自某些外部设备,例如按钮或传感器,或者来自其他信号并告诉处理器执行 ISR 中存在的特定任务
[单片机]
初学stm32-Systick滴答时钟定时
滴答定时器概述 Systick定时器,是一个简单的定时器,对于CM3,CM4内核芯片,都有Systick定时器。常用来做延时,或者实时系统的心跳时钟。这样可以节省MCU资源,不用浪费一个定时器。比如uCOS中,分时复用,需要一个最小的时间戳,一般在STM32+UCOS系统中,都采用Systick做uCOS心跳时钟。 Systick定时器就是系统滴答定时器,一个24 位的倒计数定时器,计到0 时,将从RELOAD 寄存器中自动重装载定时初值。只要不把它在SysTick 控制及状态寄存器中的使能位清除,就永不停息,即使在睡眠模式下也能工作。 SysTick定时器被捆绑在NVIC中,用于产生SYSTICK异常(异常号:15)。
[单片机]
STM32时钟使能及应用总结
STM32的新手,一般都会对一个问题很纠结。我也是,就是所谓的”时钟问题“。我们在尽心STM32编程时,会痛苦地发现这样一个事实:不管你要干嘛,你首先要做的一件事就是使能时钟。而且可能每一次的时钟还是不同的。 你就会问:为什么要使能时钟?为什么每次使能的时钟还不一样呢?为什么51单片机中没有这些鬼?在学51单片机的时候,基本上接触不到I/O方向和外设时钟的概念,I/O想输入就直接读,想输出就直接赋值,串口、AD转化、外部中断等等也都是想用就用,不需要单独配置时钟。这样在初学时的确方便了很多,不需要有乱七八糟的设置就能让芯片跑起来,但是随之带来的就是所谓的功耗问题。但是作为初学者,谁还管这个啊?能让程序跑起来就已经让我们兴奋得几
[单片机]
意法与厦门大学合作研发32位嵌入式系统
微控制器设计开发的厂商意法半导体协同其增值服务商深圳市博巨兴,宣布与厦门大学签订合作协议,成立“ST嵌入式系统联合实验室”,并举行实验室揭牌仪式。意法半导体持续推动校园合作计划,与中国的大学携手开发嵌入式应用技术和培训电子工程专业学生,再迈出重要的一步。
作为32位微控制器的主导厂商之一,意法半导体将向厦门大学提供先进的基于32位ARM CORTEX-M3的STM32微控制器及其开发工具,信息科学与技术学院(通信工程系、电子工程系、自动化系、计算机系及智能科学与技术系)的本科生及研究生将参与意法半导体的实际项目的开发。此外,意法半导体将提供所需的全部培训和技术支持,从事教学和学术研究,协助大学院校及产业
[单片机]