![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
STM32MP157_M4
文章平均质量分 71
Jacky~~
Learning Linux kernel!
展开
-
STM32MP157实验(十一)——ADC(测量内部温度)
文章目录设计需求一、基础知识二、硬件设计三、STM32CubeIDE开发MX设置程序设计项目结构运行结果设计需求使用ADC,获取芯片内部的温度一、基础知识STM32MP157可以通过ADC2的通道19设置为获取芯片内部温度二、硬件设计不涉及电路设计三、STM32CubeIDE开发MX设置ADC有两个时钟方案:一个是来自adc_hclk(AHB时钟),一个是来自adc_ker_ck(ADC Kernel时钟)。两个时钟源独立且异步程序设计创建“ DemoDriver”目原创 2022-01-08 16:17:42 · 2127 阅读 · 0 评论 -
STM32MP157实验(十)——ADC使用DMA
文章目录设计需求基础知识硬件设计STM32CubeIDE设计MX设置程序设计项目框架实验结果设计需求这里假设需求为使用ADC,获取光敏电阻两端电压值,从而得知外部光照变化基础知识ADC(Analog-to-Digital Converter)模数转换器,自然界的信号几乎都是模拟信号,比如光亮,温度,压力,声音:而为了方便存储、处理、计算机里面都是0/1信号,将模拟信号转换成数字信号的装置就叫模数转换器(ADC)STM32MP157有两个ADC,都可以给分配M4,每个ADC有19个通道。硬件设原创 2022-01-07 19:57:38 · 2195 阅读 · 0 评论 -
STM32MP157(实验九)——SysTick定时器us延时
文章目录设计需求一、基础知识二、硬件设计STM32CubeIDE开发MX设置代码设置项目目录结构运行结果设计需求这里假设需求为使用SysTick定时器,得到一个us级别的延时一、基础知识SysTick相信大家在STM32F103中已经学习了,这里我们再来学习一次。SysTick定时器(又名滴答定时器)是存在于内核的一个定时器,只要是ARM Cotex-M系列内核的MCU都包含这个定时器。使用内核的SysTick定时器来实现延时,可以不占用系统的定时器,节约资源。由于和MCU外设无关,因此可以在不原创 2022-01-06 20:35:50 · 3553 阅读 · 0 评论 -
STM32MP157(实验八)——通用定时器us延时
文章目录设计需求一、基础知识二、硬件设计STM32CubeIDE开发MX设置代码设计工程目录结构运行结果设计需求这里假设需求为使用通用定时器,得到一个us级别的延时一、基础知识HAL库提供了一个毫秒级的延时函数“HAL_Delay()”,它也是基于SysTick。有些应用场合可能需要微秒级别的延时,该函数就不能满足我们的需求,因此这里利用定时器,自己创建一个us级延时STM32MP157的TIM有14个,不同的定时器精度不同,这里使用TIM5,精度位32位,可以从0计数到2^32.二、硬件设原创 2022-01-06 19:02:21 · 1041 阅读 · 1 评论 -
STM32MP157实验(七)——通用定时器PWM
文章目录设计需求一、基础知识硬件知识STM32CubeIDE开发MX设置代码设计工程结构运行结果设计需求利用定时器产生PWM,实现LCD亮度渐变一、基础知识PWM(Pulse Width Modulation)、即脉冲宽度0度调制。是一种利用微处理器的数字输出来对模拟电路进行控制的技术,广泛应用在测量、通信、功率控制等诸多领域。举个最常见的例子,利用PWM控制显示屏亮度,屏幕背光可以看作是一个大灯,这个大灯只有亮,灭两种状态。如果把灯亮看作100%,灯灭看作0%,要实现50%的亮度,可以在某个原创 2022-01-06 15:27:45 · 3124 阅读 · 0 评论 -
STM32MP157实验(六)——DMA(Memory To Memory)
文章目录设计需求一、基础知识二、STM32CubeIDE设计1.硬件设计2.MX设计代码设计总结设计需求使用DMA将内存A处数据搬运到内存B处一、基础知识DMA(Direct Memory Access)直接内存访问,可以大大减轻CPU工作量。CPU根据代码内容执行指令,这些众多指令中,有用于计算,有控制程序、有转移数据的指令,尤其是转移大量数据,会占用大量CPU。如果是把外设A的数据,传给外设B,这种情况不需要CPU一直参与,只需要在A、B之间创建一个通道,让他们自己传输即可。这就是DMA设.原创 2022-01-05 18:00:41 · 2256 阅读 · 0 评论 -
STM32MP157实验(五)——串口通信RS485
文章目录前言二、基础知识STM32CubeIDE设置MX设置代码设计实验现象前言实话实说,串口还是有一定难度的,至少上个实验我翻车了。放心,我肯定是会把它弄明白的# 一 、设计需求使用RS485与另一块开发板的RS485通信二、基础知识RS485的电路如下RS485使用的是UART6_RX(PC7)和UART6_TX(PC6),相对前面的实验多了一个收发控制引脚PD13.RS485是差分信号,无论是发送还是接收工都需要A,B同时进行,且同一时刻只能发或收,因此它是半双工。RE和DE端分.原创 2022-01-03 15:12:53 · 3379 阅读 · 1 评论 -
STM32MP157(实验四)——串口通信(串口打印)
文章目录设计需求一、基础知识串行/并行全双工/半双工/单工同步和异步通信速率电平标准硬件设计IDE设计MX设置代码设计实验现象设计需求使用串口打印调式信息一、基础知识在嵌入式中,通信将主控芯片与传感器、存储芯片、外围控制芯片等连接起来,使得功能不再受限于主控本身。主控既从其他设备获取信息,也将自己的信息传递给其他设备。如果通信没处理好,将直接影响整个系统的功能,由此可见通信技术的重要性。常见的通信协议有**UART,I^2C,1-Wire**等。这里先简单介绍一些通信的基本概念串行/并行原创 2022-01-02 20:52:52 · 2685 阅读 · 0 评论 -
STM32MP157实验(三)——按键扫描和中断
文章目录按键扫描设计需求基础知识硬件设计STM32CubeIDE设计MX设置代码设计实验结果按键中断设计需求基础知识硬件设计STM32CubeIDE设计MX设置代码设计总结按键扫描设计需求通过按键扫描的方式实现,按下KEY_USER1(KEY1)按键,点亮LED_GREEN,再次按下熄灭LED_GREEN;按下KEY_USER2(KEY2)按键,点亮LED_YELLOW,再次按下熄灭LED_YELLOW.基础知识前面LED灯是控制GPIO输出,而按键则是读取GPIO电平,从而获知按键是否按下。.原创 2022-01-01 21:22:08 · 6717 阅读 · 0 评论 -
STM32MP157实验(二)——系统时钟HSI和HSE
文章目录基础知识系统时钟HSISTM32MP157拥有五个时钟源时钟配置图STM32CubeIDE配置时钟系统时钟HSE对比HSI进行HSE配置进行MX配置进行检测总结基础知识时钟是处理器运行的基础,就像人的心脏一样,时钟信号推动芯片内部各部分执行相应的指令。时钟产生一次,处理器就执行一次指令。除了CPU,芯片上所有的外设都需要时钟(GPIO,I^2C、SPI等)。所以时钟是非常重要的。系统时钟HSISTM32MP157拥有五个时钟源HSI :内部的高速RC振荡器,频率64MHzHSE:外部原创 2021-12-31 15:12:35 · 2202 阅读 · 0 评论 -
STM32MP157实验(一)——实现LED流水灯
基于stm32mp157实现LED流水灯实验环境:stm32CubeIDE,stm32mp157开发板,win10PC机,基于HAL库开发实验要求:每隔一秒点亮一个LED实验步骤:第一步:根据stm32mp157底板原理图,找到LED对应GPIO引脚因此,我们找到PG8,PA10,并且由原理图可知,当PA10和PG8输出低电平时,LED亮第二步:时钟使能,根据原理图可知GPIOA,GPIOG挂载在HSI和LSI上时钟使能代码:第三步:初始化HAL库,它已经配置好了第四步原创 2021-12-31 13:49:05 · 1463 阅读 · 0 评论