
嵌入式开发与应用
文章平均质量分 83
社恐小美~
这个作者很懒,什么都没留下…
展开
-
STM32定时器原理及应用
定时器原理定时器本质上是一个计数器。如果输入的是一个恒定的脉冲信号源(时钟信号)就可以根据定时器的计数(脉冲个数)和时钟频率计算出时间。2. 定时器分类大容量的STM32F103xx增强型系列产品包含最多2个高级控制定时器,4个通用定时器,2个基本定时器,1个实时时钟,2个看门狗定时器和1个系统滴答定时器。高级定时器、通用定时器、基本定时器都是由一个可编程的驱动的16位构成。定时器通常按计时方式和功能特点进行分类:(1)按功能特点分类。原创 2024-11-24 22:28:25 · 1336 阅读 · 0 评论 -
STM32中断原理及应用
对于单片机来说,中断是指CPU正在处理某个事件A,发生了另一件事件B请求CPU迅速去处理(中断发生),CPU暂时停止当前的工作(中断响应),转去处理事件B(中断服务),待CPU处理事件B完成后,再回到原来的事件A继续执行(中断返回),这一过程称之为中断。从编号7开始的为外部中断,,这些中断的优先级都是可以自行设置的。关于中断服务函数的函数名必须跟启动文件里面预先设置的一样,如果写错,系统就在中断向量表中找不到中断服务函数的入口,直接跳转到启动文件里面预先写好的空函数,并且在里面无限循环,实现不了中断。原创 2024-11-16 14:56:24 · 1448 阅读 · 0 评论 -
STM32系统的GPIO原理与结构
原理概述:GPIO是通用输入输出接口,是单片机的一些引脚,可以控制LED灯、蜂鸣器,也可用于按键输入、ADC采样等,从而实现STM32单片机与外部硬件之间的连接与数据交互。输入参数2:GPIO_InitStruc,指向结构体GPIO_InitTypeDef的指针,包含了外设GPIO的配置信息,GPIO_InitTypeDef 定义于文件"stm32f10x_gpio.h"中;输入参数2:GPIO_Pin,待设定的端口位,该参数可以取GPIO_Pin_x(x可以是0~15)的任意组合;原创 2024-11-11 21:28:19 · 1402 阅读 · 0 评论 -
嵌入式开发与应用实验四——通过串口通信实现收发功能
串行通信中的波特率和比特率:波特率指数据信号对载波的调制速率,波特率的单位是波特(baud),比特率指单位时间内传输的比特数,单位bit/s(bps),而对于USART来说,波特率和比特率是相等的。总之,波特率越大传输速率越快,通过控制时钟可以改变波特率。配置其波特率,数据长度,停止位长度,工作方式,有无校验位,硬件流的控制等。(6) 最后调用USART_Cmd()函数使能USART,这个函数最终配置的是USART_CR1的DE位,具体的作用是开启USART1的工作时钟,没有时钟USART1就工作不了.原创 2024-09-16 18:19:16 · 2946 阅读 · 0 评论 -
嵌入式开发与应用实验三——定时器实现一秒闪烁一次
它随着计数器的输入脉冲进行自加1,也就是每来一个脉冲,计数器就自加1,当加到计数器为全1时,再输入一个脉冲就使计数器回零,且计数器的溢出使相应的中断标志位置1,向CPU发出中断请求(中断允许时)。定时器中断一次的时间是1s,定义一个全局变量Cnt,每当进一次中断的时候,由Cnt来记录进入中断次数。设置自动重装载寄存器ARR的值为10000,设置时钟预分频器为72,则驱动计数器的时钟CK_CNT=CK_INT/(71+1)=1MHz,则计数器计数一次的时间为1/CK_CNT=1s。原创 2024-09-08 20:45:20 · 2329 阅读 · 1 评论 -
[keil].\Objects\LED.axf: Error: L6200E: Symbol EXTI9_5_IRQHandler multiply defined .O...错误解决方法
解决出现.\Objects\LED.axf: Error: L6200E: Symbol EXTI9_5_IRQHandler multiply defined .O...的方法。通过搜索可以发现 EXTI9_5IRQHander在两个文件中被重复定义,我们可以注释或者删除其中一个即可;3. 如果变量是在头文件定义的,那么就需要将其改到 .c 中定义,在头文件定义是不可以的;1. 首先利用(Ctrl+f)搜索这个变量在工程中被定义的位置;2. 在多个文件中都有定义。原创 2024-09-03 21:39:50 · 1277 阅读 · 0 评论 -
嵌入式开发与应用按键外部中断实验二
利用STM32的外部中断输入功能,在外部设备触发中断信号时,中断模块会将中断信号转换为STM32的中断信号,从而触发LED灯亮灭。根据实验要求通过按键点亮LED灯,通过原理图了解硬件电路结构,实现初始化GPIO,并配置中断,编写中断处理程序,处理一个键盘中断,并在串口打印中断及按键显示信息。(3)配置按键EXTI中断\事件线,配置中断产生的条件,PB5、PD6、PD3这三个口采用的是上拉输入模式,当有按键按下时,该IO口是低电平,所以要配置成下降沿触发,对应的就是GPIO mode;原创 2024-09-03 21:14:20 · 1538 阅读 · 1 评论 -
Keil5新建工程详细讲解
单击工具栏中的魔术棒,在弹出的选项窗口中选择“C/C++”标签页,然后单击“Include Paths”右边的“...”按钮,弹出“Folder Setup”对话框,然后将图上的四个文件夹路径(目录)添加进去(实际上不包含“startup”路径亦可)。给drivers组添加文件,需要添加drivers\src下的全部源文件(.c),实际工程中只选择需要的驱动模块以提快编译速度,但misc.c,(一)对四个文件夹内的源文件(.c文件)进行分组管理(“四个分组”)(三)配置宏定义标号(“一处宏定义”)原创 2024-06-16 01:35:52 · 7094 阅读 · 0 评论