- 博客(27)
- 收藏
- 关注
原创 【STM32】DMA还能这么用?(定时器触发USART的DMA传输)
原来我对DMA的刻板认识是,如果想用DMA搬移数据到外设,需要外设自身使能DMA请求,但是在理解这种用法后,对DMA有了更深一步的认识,对于DMA本身来说,只要有DMA请求,它就会按照预定的源地址和目的地址进行传输,而DMA请求的来源不一定要和DMA数据搬运地相关。前段时间,在看STM32F030例程的时候,看到了DMA的一种新奇的用法,是我没有用过的,在理解以后,在串口上面实践了一下,感觉对DMA的认识更深了一点,拿来给大家分享一下。
2024-10-17 16:58:37 417
原创 停止模式下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
原创 串口乱码问题及原因分析
串口应该是嵌入式工程师使用最多的外设之一了吧,如果在使用串口的时候遇到乱码,大家是如何处理的呢?今天给大家分享一下我遇到串口乱码问题时的思路。
2024-06-17 23:23:58 3168 1
原创 声明和定义的区别
用途: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
原创 一颗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
原创 STM32-RTC实时时钟详解
RTC的本质很简单,就是一个时钟经过精确分频最后得到的一个1Hz的时钟,也可以说是计数器,其他大部分功能都是基于这个计数器设计的数字逻辑。本文讲的RTC是基于STM32F030来讲的,相比与F1系列的RTC来说,M0的将很多原本需要软件实现的功能硬件化了,使用起来更加便利。先看看RTC的框图:从框图中圈出来的部分可以看到,上面提到的RTC功能,大部分在框图上面都有体现,接下来我们按照RTC的功能点讲一讲各个功能的详细内容。
2023-05-26 18:23:15 3291 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人