- 博客(19)
- 收藏
- 关注
原创 串口乱码问题及原因分析
串口应该是嵌入式工程师使用最多的外设之一了吧,如果在使用串口的时候遇到乱码,大家是如何处理的呢?今天给大家分享一下我遇到串口乱码问题时的思路。
2024-06-17 23:23:58
1463
原创 声明和定义的区别
用途:C语言规定,对于函数,变量等,我们需要先定义,后调用。当程序从main函数往下执行时,如果要用到某个函数或变量,而它没在main函数执行之前被定义,那么使用其实是不合规的,此时声明的意义就来了,声明需要放在main函数之前,此时声明就会让编译器知道,被调用的函数或者变量已经在某个地方被定义了,当然,如果你声明的函数或变量并没有被定义,那么此处的调用会报错。所以,从两者的含义来看,定义其实也是声明的一种,它们俩都是告诉编译器某个主体的存在,只是比我们所说的普通的声明更多了一个操作,即分配内存空间。
2023-11-20 17:05:02
99
1
原创 【STM32】ADC从原理到应用详解
STM32F030的MCU内部使用的都是逐次逼近型ADC(SAR ADC),先看一下SAR ADC的原理,以便于更好的理解和使用ADC,除了原理以外的内容都是基于STM32L063中的ADC来讲的,m0系列的芯片中的ADC都是相同的设计。
2023-10-07 22:47:50
899
1
原创 USART之深究TC与TXE的区别
TC指示的是发送寄存器+移位寄存器的状态:当发送寄存器空,且移位寄存器空,且发生过传输过程(TXE由1变为0,再由0变为1),则TC置1。串口的使用过程中,数据发送时有两个标志位来标记发送:TXE和TC,那么为什么发送数据要用两个标志位来做标记呢,它们之间的区别是什么呢?如果只有一个字节被传输,在此过程中,两个标志位的状态分别是什么样的呢?TXE指示的是发送寄存器的状态:当发送寄存器空,则TXE置1。
2023-09-15 16:54:54
1043
原创 一颗LED灯的点亮过程
从图中可以看到,LED的阳极经过串阻以后接到电源,阴极接GPIO,此时,只要GPIO引脚输出低电平,LED就会被点亮,对于软件上来说,我们需要做的工作很简单,只需要给GPIO一个低电平,现象就是LED灯点亮,但是整个点灯过程中涉及到些什么呢?一般来说,我们根据规格书电气参数及实际应用需要来选择串阻,将点亮LED灯的电流限制在20mA以下(根据具体应用选择),串阻决定了电路电流大小,从而决定了LED灯的亮度,串阻阻值计算:R = (VDD-VF(压降))/I。
2023-08-12 09:46:29
372
1
原创 GPIO功能详述
最大频率的选择根据我们的应用场景来选择,较低的速度可以耗电少,噪声小,较高的速度耗电多,噪声大,为了波形的完整性,最大速度和我们所需要的速度之间还需要再留下些冗余,如果输出速度和配置最大输出速度较为临界的时候(不建议),可以用示波器测量下输出波形是否失真。一般来说,NMOS开漏使用比较多,芯片用的就是NMOS开漏,此时,上管的PMOS处于截止状态,开漏输出具有线与特性,即只要总线上有一个低电平输出,整条总线的状态就为低电平,正是由于这种特性,开漏输出用在很多总线协议中,例如I2C,ISO7816等。
2023-06-23 11:11:18
1393
1
原创 STM32-RTC实时时钟详解
RTC的本质很简单,就是一个时钟经过精确分频最后得到的一个1Hz的时钟,也可以说是计数器,其他大部分功能都是基于这个计数器设计的数字逻辑。本文讲的RTC是基于STM32F030来讲的,相比与F1系列的RTC来说,M0的将很多原本需要软件实现的功能硬件化了,使用起来更加便利。先看看RTC的框图:从框图中圈出来的部分可以看到,上面提到的RTC功能,大部分在框图上面都有体现,接下来我们按照RTC的功能点讲一讲各个功能的详细内容。
2023-05-26 18:23:15
3021
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人