自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(27)
  • 收藏
  • 关注

原创 【STM32】DMA还能这么用?(定时器触发USART的DMA传输)

原来我对DMA的刻板认识是,如果想用DMA搬移数据到外设,需要外设自身使能DMA请求,但是在理解这种用法后,对DMA有了更深一步的认识,对于DMA本身来说,只要有DMA请求,它就会按照预定的源地址和目的地址进行传输,而DMA请求的来源不一定要和DMA数据搬运地相关。前段时间,在看STM32F030例程的时候,看到了DMA的一种新奇的用法,是我没有用过的,在理解以后,在串口上面实践了一下,感觉对DMA的认识更深了一点,拿来给大家分享一下。

2024-10-17 16:58:37 417

原创 5个IO控制20个LED灯的方案详解

5个IO口单独控制20个LED灯的方案详解

2024-10-14 00:31:27 460

原创 双核DSP芯片的内存管理

双核DSP的内存保护介绍

2024-10-13 12:07:38 618

原创 停止模式下USART为什么可以唤醒MCU?

当I2C或者USART时钟源选择为HSI的时候,且配置了它们在Stop mode下唤醒MCU的功能,此时进入stop mode后,HSI的时钟关闭,当有信号进入外设时,HSI会先一步被唤醒,供给I2C或USART,使得两个外设开始工作,当它们接收到对应的信息后,确认是否是可以唤醒CPU的事件,例如I2C接收到的地址是否匹配,若不匹配,则不会生成对应的唤醒事件用于唤醒MCU,且HSI再次关闭,如果信息匹配,则会生成唤醒事件用于唤醒CPU。其实除了USART可以做到外,I2C同样也可以做到相同的唤醒功能。

2024-10-01 19:57:44 683

原创 TMS320F2837芯片I2C详述

TMS320F2837的I2C主要由以下几部分组成:1.数据寄存器和FIFO2.时钟同步器3.预分频器4.噪声滤波器5.仲裁器6.控制/状态寄存器7.外设总线8.FIFO中断9.I2C基础中断10.SCL和SDA线。

2024-09-30 22:55:25 1108

原创 I2C调试经验总结

I2C经验总结

2024-09-27 08:00:00 294

原创 【C语言】内联函数的应用

内联函数应用场景

2024-09-26 22:17:48 393

原创 【C语言】#define功能详解

define详细介绍

2024-09-09 17:34:53 476

原创 串口乱码问题及原因分析

串口应该是嵌入式工程师使用最多的外设之一了吧,如果在使用串口的时候遇到乱码,大家是如何处理的呢?今天给大家分享一下我遇到串口乱码问题时的思路。

2024-06-17 23:23:58 3168 1

原创 【C语言】从原理上理解指针表达式*ptr++和*++ptr

指针表达式深入理解

2024-03-28 15:06:07 933

原创 【C语言】static改变了什么?

从原理上了解static带来的变化

2024-03-26 21:44:54 538

原创 【C语言】关于CONST你怎么看?

C语言const分析

2024-03-19 14:08:42 358 1

原创 【STM32】芯片上电启动流程

STM32上电启动流程详述

2024-03-11 21:23:27 1027 1

原创 PC指针指向0xFFFFFFFE是怎么回事儿?

PC指针指向了0xFFFFFFFE的原因分析

2024-01-06 12:04:59 2078 1

原创 【C语言】深度解析typedef

typedef的深度理解

2023-11-25 12:39:27 439

原创 声明和定义的区别

用途:C语言规定,对于函数,变量等,我们需要先定义,后调用。当程序从main函数往下执行时,如果要用到某个函数或变量,而它没在main函数执行之前被定义,那么使用其实是不合规的,此时声明的意义就来了,声明需要放在main函数之前,此时声明就会让编译器知道,被调用的函数或者变量已经在某个地方被定义了,当然,如果你声明的函数或变量并没有被定义,那么此处的调用会报错。所以,从两者的含义来看,定义其实也是声明的一种,它们俩都是告诉编译器某个主体的存在,只是比我们所说的普通的声明更多了一个操作,即分配内存空间。

2023-11-20 17:05:02 121 1

原创 【STM32】ADC从原理到应用详解

STM32F030的MCU内部使用的都是逐次逼近型ADC(SAR ADC),先看一下SAR ADC的原理,以便于更好的理解和使用ADC,除了原理以外的内容都是基于STM32L063中的ADC来讲的,m0系列的芯片中的ADC都是相同的设计。

2023-10-07 22:47:50 1078 1

原创 USART之深究TC与TXE的区别

TC指示的是发送寄存器+移位寄存器的状态:当发送寄存器空,且移位寄存器空,且发生过传输过程(TXE由1变为0,再由0变为1),则TC置1。串口的使用过程中,数据发送时有两个标志位来标记发送:TXE和TC,那么为什么发送数据要用两个标志位来做标记呢,它们之间的区别是什么呢?如果只有一个字节被传输,在此过程中,两个标志位的状态分别是什么样的呢?TXE指示的是发送寄存器的状态:当发送寄存器空,则TXE置1。

2023-09-15 16:54:54 1270

原创 RS485自适应电路引入的问题及解决方案

485自适应引入的问题及解决方案

2023-08-28 23:21:16 489 1

原创 一颗LED灯的点亮过程

从图中可以看到,LED的阳极经过串阻以后接到电源,阴极接GPIO,此时,只要GPIO引脚输出低电平,LED就会被点亮,对于软件上来说,我们需要做的工作很简单,只需要给GPIO一个低电平,现象就是LED灯点亮,但是整个点灯过程中涉及到些什么呢?一般来说,我们根据规格书电气参数及实际应用需要来选择串阻,将点亮LED灯的电流限制在20mA以下(根据具体应用选择),串阻决定了电路电流大小,从而决定了LED灯的亮度,串阻阻值计算:R = (VDD-VF(压降))/I。

2023-08-12 09:46:29 445 1

原创 GPIO功能详述

最大频率的选择根据我们的应用场景来选择,较低的速度可以耗电少,噪声小,较高的速度耗电多,噪声大,为了波形的完整性,最大速度和我们所需要的速度之间还需要再留下些冗余,如果输出速度和配置最大输出速度较为临界的时候(不建议),可以用示波器测量下输出波形是否失真。一般来说,NMOS开漏使用比较多,芯片用的就是NMOS开漏,此时,上管的PMOS处于截止状态,开漏输出具有线与特性,即只要总线上有一个低电平输出,整条总线的状态就为低电平,正是由于这种特性,开漏输出用在很多总线协议中,例如I2C,ISO7816等。

2023-06-23 11:11:18 1487 1

原创 SPI协议详述

SPI详述

2023-06-15 08:15:06 1049 1

原创 STM32-RTC实时时钟详解

RTC的本质很简单,就是一个时钟经过精确分频最后得到的一个1Hz的时钟,也可以说是计数器,其他大部分功能都是基于这个计数器设计的数字逻辑。本文讲的RTC是基于STM32F030来讲的,相比与F1系列的RTC来说,M0的将很多原本需要软件实现的功能硬件化了,使用起来更加便利。先看看RTC的框图:从框图中圈出来的部分可以看到,上面提到的RTC功能,大部分在框图上面都有体现,接下来我们按照RTC的功能点讲一讲各个功能的详细内容。

2023-05-26 18:23:15 3291 1

原创 段式LCD原理及其驱动方式详解

段式LCD原理及驱动方式的详细介绍

2023-05-24 23:57:57 8857 6

原创 STM32F030硬件I2C代码及解析

STM32F030的硬件I2C代码及详细解析

2023-05-16 23:35:50 3211 4

原创 STM32F103 I2C硬件缺陷详述及解决方案

I2C硬件缺陷剖析及解决方案

2023-05-11 14:35:00 12414 10

原创 一文看懂I2C协议

一文看懂I2C协议

2022-10-20 10:40:33 2831 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除