单片机学习
个人单片机学习记录,不足之处希望各位大神指教
每天都在摸爬滚打
工科小菜鸟
展开
-
五、I2C协议之温湿度采样,JSON格式上报数据
下面来进行I2C引脚的配置:我的板子上sht30模块是PB13、PB14为I2C模式,所以首先先配置这两个引脚为I2C2_SCL和I2C2_SCL的模式,由于此时还没有使能I2C2功能,所以引脚为黄色状态,接下来使能I2C2,引脚就变为绿色状态,到此配置就完成了,ctrl+s生成代码。接下来就是代码部分,首先先编写sht30.h文件的代码,由于生成的项目中没有该文件,所以这个文件要我们自己创建,Inc--->New--->Header File,如何添加名字即可(由于我已经创建了,所以显示该文件已存在)原创 2023-07-19 17:32:48 · 266 阅读 · 0 评论 -
按键控制LED灯
在System Core找到GPIO,点击其中一个引脚,如3所示,在原理图中可以知道按键接了一个上拉电阻,在4的位置我们把上拉电阻打开,另外两个引脚同理。中断模式较轮询模式不同的是我对引脚重命名了,方便记忆书写代码,重命名方式参考中断模式下对按键P12的配置。烧录代码成功后,在单片机上按下按键,当按下第一个按键是红灯亮,按下第二个按键时绿灯亮,其次蓝灯亮。3、配置LED灯引脚,即PB2,PC9,PC6。总结:轮询模式会打断CPU的工作,而中断模式不会,所以我们一般采用中断来完成此类工作。原创 2023-04-12 15:27:04 · 976 阅读 · 1 评论 -
STM32定时器控制LED灯
由于TIM6挂在APB1总线上,在时钟树的图上我们可以知道APB1是80MHZ,对定时器做预分频得到1MHZ,修改arr的值,arr=1us。7、编译、烧录代码。可以在单片机上观察到三色LED依次进行亮灭的过程,完成一次亮灭的时间周期大概在1s左右。功能:实现定时器的微秒级的延时,通过观察LED灯的亮灭来验证。4、ctrl+s生成代码,在tim.c文件中添加代码。6、在main.c文件中添加验证代码。5、在tim.h中声明函数。2、配置LED灯的引脚。原创 2023-04-13 16:21:26 · 1959 阅读 · 1 评论 -
STM32单片机简单点灯实验(Delay延时函数)
然后进行3的操作,我们可以看到4的界面,随便点击其中一个,由于从原理图中可以知道三色灯已经连接了一个高电平,所以在5的位置我们选择高电平状态,这样灯的初始状态就是熄灭的,进行6的操作后(另外两个引脚操作同上),按ctrl+s生成代码。4、接下来我们进行芯片的配置,首先配置RCC。依次进行1、2、3的选择,然后我们可以看到4的两个引脚变绿了,说明我们进行了RCC的配置。2、依次输入项目的名称,禁止以中文命名,然后在2的位置选择合适的项目路径,在3的位置选择编译语言,在这里我们选择C语言,点击4生成项目。原创 2023-04-10 20:52:17 · 1249 阅读 · 1 评论 -
STM32单片机实现简易声控灯控制
首先,先分析一下声控灯实现的原理,即当外界发出声音的时候,灯就会被点亮。从现时生活中我们可以知道,楼道声控灯并不是只要有声音就会把灯点亮的,当白天光线充足的时候,无论外界有多大的声音,灯都不会被点亮。但是我们知道声音是无处不在的,就算是到晚上,也并不是都会亮灯的。所以到这里我们可以知道,点亮声控灯的条件是:光强的值小于某个值且声音的值大于某个值。打开串口调试助手开看到当前的采样值,在单片机上观察当光强和声音改变时LED灯的状态,验证是否达到我们的预期值。7、在main函数中添加声控灯实现代码。原创 2023-04-20 20:40:42 · 2566 阅读 · 0 评论 -
STM32实现ADC采样
和Cubeprogrammer两个软件,串口调试助手APP,以及STM32L431RCT6单片机。可以在main.c文件中添加printf输出语句,验证串口是否可以输出相应的语句。功能:在单片机上对声音和光强进行采样,通过串口输出其采样值。10.编译烧录代码,在串口调试助手上查看是否得到采样值。4. 在usart.c中实现printf。3.在usart.h中添加头文件。8. 在adc.h中声明函数。9. 在main.c添加代码。6. ctrl+s生成代码。7.在adc.c中添加代码。原创 2023-04-17 00:01:28 · 3037 阅读 · 3 评论 -
DAC与ADC的转换
不同的单片机分辨率略有不同,我所用的单片机的DAC的分辨率为12位,所以就是2的12次方等于4096。我们可以看到,i,j的值近似相等,i值为我们手动输入的值,j值为单片机实际采到的值,存在一定的误差是正常的,i,j均为数字量的值。同样也是在单片机上找到拓展GPIO,选择其中一个作为DAC的引脚,这里我选择的是PA5,进行如下配置。在单片机上找到拓展的GPIO,在这里我选用的是PA7作为ADC的引脚,进行如下配置。本文章将基于单片机来理解DAC与ADC,用到的是小熊派L433系列的单片机。原创 2023-06-24 17:01:27 · 632 阅读 · 1 评论