![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
STM32
文章平均质量分 73
嵌入式Linux系统开发
博主就职于芯片原厂,熟悉硬件、STM32单片机、嵌入式 Linux、Android。
展开
-
I2C 子系统(四):I2C debug
I2C debug 全解原创 2022-06-19 16:46:22 · 1258 阅读 · 0 评论 -
I2C 子系统(三):I2C Driver
一文带你搞懂 Linux I2C Driver原创 2022-06-19 16:45:29 · 1190 阅读 · 0 评论 -
I2C 子系统(二):I3C spec
一文带你了解 I3C原创 2022-06-19 16:43:02 · 3746 阅读 · 1 评论 -
I2C 子系统(一):I2C spec
一文带你搞懂 I2C spec原创 2022-06-19 16:41:48 · 1027 阅读 · 0 评论 -
一文带你了解 CAN 总线
1、CAN 简介CAN:Controller Area Network,控制局域网络,最早由德国 BOSCH(博世)开发,,目前已经是国际标准(ISO 11898),是当前应用最广泛的现场总线之一。BOSCH 主要是做汽车电子的,因此 CAN 一开始主要是为汽车电子准备的,事实也是如此,CAN 协议目前已经是汽车网络的标准协议。当然了,CAN 不仅仅应用于汽车电子,经过几十年的发展,CAN 协议的高性能和高可靠性已经得到了业界的认可,目前除了汽车电子以外也广泛应用于工业自动化、医疗、工业和船舶等领域。原创 2022-05-14 23:10:26 · 5124 阅读 · 0 评论 -
芯片附近为什么都放 0.1uF 电容 ?
电容思维导图如下:电容有四大作用:去耦、耦合(隔直通交)、滤波、储能。今天我们主要谈论去耦作用。电容封装相信大家都用过这几种电容,板子上最多的是多层陶瓷电容。钽电容:主要用在电源电路中,博主被它炸过很多次…去耦电容这是 STM32F103 最小系统原理图,STM32F103VET6 需要五路 3.3V 供电,他的 3.3V 一般来源于 LDO(低压差线性稳压器),比如 LM1117LDO 比 DC-DC 的方式(TPS5430)更能提供稳定的电压,但对芯片来说依旧不够,我们需要在芯片供原创 2022-04-23 13:49:47 · 1585 阅读 · 0 评论 -
SPI driver
SPI 相关源文件目录:kernel-4.14/drivers/spi/spi.c Linux 提供的通用接口封装层驱动kernel-4.14/drivers/spi/spidev.c linux 提供的 SPI 通用设备驱动程序kernel-4.14/drivers/spi/spi-mt65xx.c IC 厂商提供的 SPI 控制器驱动,不同厂商命名不同kernel-4.14/include/linux/spi/spi.h 头文件,包含 SPI 的主要数据结构和函数以上文件对应如下 S原创 2022-04-18 22:23:32 · 459 阅读 · 0 评论 -
SPI spec
SPI:Serial Perripheral Interface,串行外围设备接口,由 Motorola 公司提出,是一种高速、全双工、同步通信总线。SPI 以主从方式工作,通常是有一个主设备和一个或多个从设备,无应答机制。一般 SPI 需要 4 根线,但是也可以使用三根线(单向传输),本文我们讲解标准的 4 线 SPI,这四根线如下:①、CS/SS,Slave Select/Chip Select,这个是片选信号线,用于选择需要进行通信的从设备。I2C 主机是通过发送从机设备地址来选择需要进行通信的从原创 2022-04-18 22:22:31 · 568 阅读 · 0 评论 -
STM32、GD32、ESP32 的区别
STM32、GD32、ESP32都是32位的单片机,本文对比其中的区别。STM32:意法半导体在2007年6月11日发布的产品,基于ARM-CORTEX内核。GD32:兆易创新公司 2013 年发布的产品,在芯片开发、配置、命名上基本模仿STM32,甚至 GPIO 和 STM32 都是 pin to pin 的,封装不改焊上去直接用。有时候 STM32 的源码不修改,重新编译烧写到 GD32 上就可以跑。STM32有自己的库文件,GD32 的库文件也是模仿 STM32 的库文件。当然也有很多不同,比如串原创 2022-04-18 22:20:12 · 11471 阅读 · 1 评论 -
STM32中断触发逻辑
有的人可能会疑惑,在STM32中配置了一个GPIO的中断以后,在中断处理函数中写入处理逻辑,中断触发后就会运行这个函数,可是我初始化配置的时候没写这个函数名啊?这是因为这个GPIO的中断处理函数在底层就已经定义好了,上层不需要再去关联起来。到底是在哪里关联的呢?比如我们配置了一个中断:void TIM2_Int_Init(u16 arr,u16 psc){ TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure; NVIC_InitTypeDef NV原创 2021-12-19 18:58:11 · 717 阅读 · 0 评论 -
STM32启动文件
此为startup_stm32f103x_hd.s启动文件的内容Stack_Size EQU 0x00000400 系统设置的栈的大小。Heap_Size EQU 0x00000200 系统设置的堆的大小。接下来一大堆DCD的就是中断向量表,在STM32F103中,代码是从0x0800 0000开始存储的,并且中断向量表是在代码最开始的地方,所以中断向量表就是在0x0800 0000开始存储的。中断向量表的设置是单片机各种中断可以正常使用的必要设置。ARM原创 2021-04-19 15:27:26 · 271 阅读 · 0 评论 -
STM32 ADS8365 高精度 ADC 采集方案
硬件原理图(实际上可以6路输入,这里4路)数据手册中关键点数据手册在这里下载https://www.alldatasheetcn.com/ADS8365.c/****************************************----------------------------- * | PB.12: (ADS8365_nEOC) PA9 ...原创 2020-04-26 23:31:44 · 2571 阅读 · 4 评论 -
STM32 LCD12864 原理和实现代码
硬件原理图LCD12864.c你主要看每个功能函数是如何实现的/**************************************** * 按照自己的硬件电路图来设置 * -------------------------- * | PB.09: (LCD_BLK) | * | PC.06: (LCD_RST) ...原创 2020-04-26 14:09:47 · 1429 阅读 · 3 评论 -
STM32之GPIO的CRL、CRH、IDR、ODR、BSRR、BRR、LCKR寄存器
STM32中控制GPIO状态的一共有7个寄存器,分别是CRL、CRH、IDR、ODR、BSRR、BRR、LCKR。调用即可看到选项原创 2020-04-25 22:32:16 · 7403 阅读 · 0 评论 -
STM32 GPIO 配置之ODR, BSRR, BRR 详解
用stm32 的配置GPIO 来控制LED 显示状态,可用ODR,BSRR,BRR 直接来控制引脚输出状态.ODR寄存器可读可写:既能控制管脚为高电平,也能控制管脚为低电平。管脚对于位写1 gpio 管脚为高电平,写 0 为低电平BSRR 只写寄存器:[color=Red]既能控制管脚为高电平,也能控制管脚为低电平。对寄存器高 16bit 写1 对应管脚为低电平,对寄存器低16bit写1对应管...转载 2020-04-25 22:15:39 · 2532 阅读 · 0 评论 -
STM32的GPIO八种工作模式
typedef enum { GPIO_Mode_AIN // 模拟输入 GPIO_Mode_IN_FLOATING // 浮空输入 GPIO_Mode_IPD // 下拉输入 GPIO_Mode_IPU // 上拉输入 GPIO_Mode_Out_OD // 开漏输出 GPIO_Mode_Out_PP // 推挽输出 GPIO_Mode_AF_OD // 复用开漏...原创 2020-04-25 20:39:59 · 879 阅读 · 0 评论