嵌入式开发
文章平均质量分 89
superSmart_Dong
这个家伙很懒,啥都不想写
展开
-
STM32:基本定时器原理和定时程序
_HAL_TIM_GET_ANTORELOAD //获取自动重装载寄存器数值__HAL_TIM_SET_ANTORELOAD //设置自动重装载寄存器数值__HAL_TIM_GET_COUNTER //获取计数器数值__HAL_TIM_SET_COUNTER //设置计数器数值__HAL_TIM_SET_PRESCALER //设置预分频器数值。原创 2023-11-23 21:58:13 · 2526 阅读 · 0 评论 -
STM32:时钟树原理概要
在一般情况下只要在CubeIDE中将RCC下的高速时钟源设置成晶振,随后在时钟配置中把HCLK设置到最大频率(比如STM32F103的最高频率是72MHZ ),CubeIDE就会帮我们自动调节其它参数到合适的值。这样我们芯片就可以全速运行了。原创 2023-11-21 23:07:06 · 1116 阅读 · 0 评论 -
STM32:OLED屏幕开发
所谓的屏幕就是由一个个小灯组成,每个小灯称之为一个像素。只要在屏幕上有选择地点亮一部分小灯,就可以显示我们想要的图案。所谓下分辨率就是屏幕上的小灯数量。常见单片机中常见的屏幕分辨率常见的就是128(列长)*64(行高)。如果每个小灯都由单片机直接相连控制,那么需要8000多个引脚才能满足需求,着显然是不切实际的。因此需要借助“屏幕驱动芯片”来控制OLED。我们只需要通过IIC或者SPI等通信协议与屏幕驱动芯片进行通信,就可以操控屏幕上着8000多个小灯的亮灭了。原创 2023-11-20 23:17:50 · 1775 阅读 · 1 评论 -
STM32:AHT20温湿度传感器驱动程序开发
注:温湿度传感器AHT20数据手册.pdf。原创 2023-11-02 00:06:49 · 1492 阅读 · 0 评论 -
STM32:I²C通信原理概要
IIC通信和串口通信有一定的相似之处,都有一根共地线和两根数据线。但是传递外部信息,串口有两根数据线可以进行双向通信,也就是全双工通信。而在IIC通信下,其中一条数据线是用于提供同步时钟脉冲的时钟线(SCL),只有一根数据线(SDA)能够用于传递外部信息。因此,虽然IIC可以进行双向通信,但是不能够同时进行,也就是半双工通信。IIC采用主从模式,支持多设备通信。即一台被当作主机,剩下的当作从机。由主机率先发起通信,从机才能根据主机的指令回复相应的信息。原创 2023-11-01 23:59:01 · 823 阅读 · 2 评论 -
STM32:使用蓝牙模块
蓝牙是一种常见的无线通信协议,通常用于短距离通信。蓝牙分为经典蓝牙和低功耗蓝牙(BLE)。经典蓝牙通常用于需要持续传输数据的设备,比如蓝牙耳机等。低功耗蓝牙通常用于只需要间歇性传输数据的设备,比如运动手环。蓝牙通信通常分为主机和从机,通常我们的单片机设备被当作从机,手机等终端设备作为主机。在建立蓝牙通信前,从机要向外广播自己的信息。蓝牙通信协议比较复杂,比如在低功耗蓝牙中就包含GAP广播协议,GATT协议等知识点。原创 2023-10-30 21:47:01 · 3951 阅读 · 0 评论 -
STM32:串口轮询模式、中断模式、DMA模式和接收不定长数据
在STM32每个串口的内部都有两个寄存器:发送数据寄存器(TDR)/发送移位寄存器,当我们调用HAL_UART_Transmit 把数据发送出去时,CPU会将数据依次将数据发送到数据寄存器中,移位寄存器中的数据会根据我们设置的比特率传化成高低电平从TX引脚输出。待发送移位寄存器中发数据发送出去后,CPU就会将下一个数据进行相同的发送。当我们调用HAL_UART_Receive把数据接收过来时,数据会通过RX引脚收到的电平信号进行转化后,会将数据存进接收移位寄存器。原创 2023-10-29 21:35:36 · 4563 阅读 · 0 评论 -
STM32:TTL串口调试
TTL只需要两个线就可以完成两个设备之间的双向通信,一个发送电平的I/O称之为TX,与另一个设备的接收I/O口RX相互连接。两设备之间还需要连接地线(GND),这样两设备就有相同的0V参考电势。原创 2023-10-24 21:55:11 · 3678 阅读 · 0 评论 -
STM32:外部中断
中断,顾名思义就是停止现在正在干的活,去干其他更紧急的事情。在通常的信息系统中,中断发生时,会先保留现场,即当前的运行情况和状态。在去做其他紧急事情。事情做完还要恢复原先中断前的状态继续干原来的活。在STM32中,例如指令出错,定时器结束,串口接收到数据,GPIO电平变化等都会产生中断。原创 2023-10-24 08:30:00 · 488 阅读 · 0 评论 -
STM32:GPIO功能描述和工作方式
IO端口位的基本结构在STM32有特定功能的内存单元,即"寄存器"。寄存器是程序与硬件电路通信的桥梁。寄存器按照每32位二进制0/1数据为一组。存储着芯片特定电路的相关信息。我们就是通过程序对寄存器中的数据进行修改,可以改变某个电路的开关或者读写。控制单片机就是在控制寄存器例如把PA7设置为高电平时,调用函数实际上就是对BSRR寄存器的第七个bit位设置成1.stm32f1xx_hal_gpio.c 中的HAL_GPIO_WritePin的定义原创 2023-10-21 15:42:59 · 600 阅读 · 0 评论